Senior Software Engineer

3 Months ago • All levels
Software Development & Engineering

Job Description

As a Senior Software Engineer, you will be expected to work with large-scale distributed systems, understand their broad architecture, and plan and execute entire features. This involves collaborating with peers, building microservices, and working with continuous delivery and infrastructure as code. You will also be responsible for writing, testing, instrumenting, documenting, and maintaining code, participating in code reviews, and collaborating with various teams to build new experiences. The role also includes participating in on-call rotations and responding to incidents as necessary. The ideal candidate will be a problem-solver who can communicate effectively, cares about user experience, and enjoys mentoring and training.
Must Have:
  • Experience with large-scale distributed systems.
  • Proven experience building digital products.
  • Ability to translate technical and business requirements into design and implementation.
  • Understanding of object-oriented or functional programming language.
  • Notions of distributed systems.
  • Familiarity with cloud technologies.
  • Experience in building microservices.
  • Experience with event-driven architectures.
  • Practical knowledge of agile methodologies.
  • Experience with continuous delivery and infrastructure as code.

Add these skills to join the top 1% applicants for this job

communication
talent-acquisition
agile-development
user-experience-ux
aws
prometheus
microservices
kubernetes

We strive for state-of-the-art software development practices that currently include a variety of technologies. While we value candidates that are familiar with them, we are also confident that software engineers who are interested in joining Nubank will be able to learn from our team.

  • Horizontally scalable microservices written mostly in Clojure, using Finagle and leveraging upon functional programming techniques and hexagonal architecture
  • High throughput jobs and inter-service communication using Kafka
  • Continuous Integration and Deployment into AWS
  • Storing data in Datomic and DynamoDB
  • Monitoring and observability with Prometheus
  • Running as much as possible in Kubernetes

We are a process-light organization that values human interactions. We value working in small, independent teams that feel like small startups within the company, and eschew coupling and centralizing where realistic. We understand that execution is the key to success and optimize processes to remove bottlenecks.

You can read more about it in our blog and get some insights into how we work.

 As a Software Engineer, you’re expected to:

  • Work with large scale distributed systems, understanding their broad architecture
  • Plan and execute on entire features, collaborating with peers while planning the work ahead, and seeing it through
  • Collaborate with building microservices and work with continuous delivery and infrastructure as code
  • Work with agile software development methodologies
  • Write, test, instrument, document, and maintain code
  • Pair, and participate in code reviews, to grow and contribute to the growth of others in and around the team
  • Collaborate closely with Product, Design, and partner Engineering teams to build new experiences
  • Participate in on-call rotations for your team and respond to incidents as necessary
  • Work focused on backend applications, and be open to contribute to mobile and frontend development, according to business needs

 

 What are we looking for?

  • Work with large scale distributed systems
  • Proven track experience building digital products 
  • Ability to quickly understand technical and business requirements, translating them into technical design and implementation
  • A problem-solver who is able to communicate effectively across functional teams
  • A software engineer who cares deeply about user experience and likes to take part in hiring, onboarding, mentoring, and training
  • Proven understanding of object-oriented or functional programming language 
  • Notions of distributed systems
  • Familiarity with cloud technologies 
  • Collaborate with building microservices
  • Have worked in teams defining asynchronous integrations using event-driven architectures
  • Have practical knowledge of agile software development methodologies
  • Work with continuous delivery and infrastructure as code
  • Experience with cloud technologies

Set alerts for more jobs like Senior Software Engineer
Set alerts for new jobs by nubank
Set alerts for new Software Development & Engineering jobs in Uruguay
Set alerts for new jobs in Uruguay
Set alerts for Software Development & Engineering (Remote) jobs
Contact Us
hello@outscal.com
Made in INDIA 💛💙