About the job
About Us
Nubank stands as a titan in the realm of digital financial platforms, proudly serving over 122 million customers across Brazil, Mexico, and Colombia. Our mission to simplify financial services and empower individuals is only the beginning of our vibrant journey toward a more inclusive financial future.
As a publicly traded company on the New York Stock Exchange (NYSE: NU), we leverage our proprietary technology, data-driven insights, and an agile operational model to craft financial products that are not only accessible but also human-centric. Our innovation has earned us accolades from prestigious global rankings, including Time 100 Companies, Fast Company’s Most Innovative Companies, and Forbes World’s Best Bank. For more information, visit our careers page: https://international.nubank.com.br/careers/
About the Role
Join our dynamic Engineering team at Nubank, where we harness cutting-edge technology to design premier financial products. We prioritize exceptional software development practices and are committed to fostering an environment of continuous learning. As a Software Engineer, you will focus on software development primarily using Clojure (we will provide training in Clojure).
- Design and develop horizontally scalable microservices predominantly in Clojure, utilizing Finagle and implementing functional programming techniques and hexagonal architecture.
- Manage high-throughput jobs and facilitate inter-service communication through Kafka.
- Implement Continuous Integration and Deployment within AWS.
- Utilize Datomic and DynamoDB for data storage.
- Ensure robust monitoring and observability using Prometheus.
- Maximize the use of Kubernetes for operational efficiency.
We are a process-light organization that cherishes human interactions. Our small, independent teams operate like startups, promoting autonomy while minimizing unnecessary coupling. We believe that efficient execution is crucial to success and continuously refine processes to eliminate bottlenecks.
Your Responsibilities
- Engage with large-scale distributed systems, gaining insights into their overarching architecture.
- Establish the technical direction for multiple teams, ensuring alignment with business goals and architectural strategies.
- Foster pragmatic innovation while delivering resilient and adaptable solutions that scale across products and geographies.
- Mentor fellow engineers across teams to enhance their skills and knowledge.

