About the job
About Us
Nubank is a leading digital financial platform, serving over 122 million customers across Brazil, Mexico, and Colombia. Our mission is to simplify financial services and empower individuals, and we are just getting started on our journey toward a more inclusive future.
As a publicly traded company on the New York Stock Exchange (NYSE: NU), we leverage cutting-edge technology, data intelligence, and streamlined operations to offer financial products that are both accessible and user-friendly.
Our innovative approach has earned us recognition from prestigious global rankings, including Time 100 Companies, Fast Company’s Most Innovative Companies, and Forbes World’s Best Bank. Explore career opportunities with us at https://international.nubank.com.br/careers/
About the Role
The Engineering team at Nubank plays a vital role in developing the technology that empowers our financial products. We are committed to adopting state-of-the-art software development practices that encompass a variety of technologies. We welcome candidates who are eager to learn, even if they aren’t yet familiar with all of them. In this role, you will primarily focus on software development using Clojure (training will be provided in Clojure). Your key responsibilities will include:
- Developing horizontally scalable microservices primarily in Clojure, utilizing Finagle and applying functional programming techniques alongside hexagonal architecture.
- Managing high-throughput jobs and inter-service communications through Kafka.
- Implementing Continuous Integration and Deployment strategies within AWS.
- Storing and managing data using Datomic and DynamoDB.
- Ensuring system monitoring and observability with Prometheus.
- Maximizing operations in Kubernetes.
We pride ourselves on being a process-light organization that values human interaction. Our small, independent teams operate like startups within the company, fostering innovation and minimizing unnecessary coupling and centralization. We believe that effective execution is key to success and continuously optimize our processes to eliminate bottlenecks.
Your Responsibilities
- Engage with large-scale distributed systems, gaining a comprehensive understanding of their architecture.
- Plan and execute features collaboratively with your peers while proactively managing the workflow.
- Contribute to the development and deployment of microservices, embracing continuous delivery and infrastructure as code.
- Apply agile methodologies throughout the software development process.
- Write, test, and instrument code to ensure reliability and performance.

