Senior Software Engineer Role About this Opportunity We are seeking a skilled Senior Software Engineer to play a key part in helping us create and use technology to build best-in-class financial products. Our team strives for state-of-the-art software development practices that include a variety of technologies. - Horizontally scalable microservices written mostly in functional programming languages, using frameworks like Finagle and leveraging upon techniques such as hexagonal architecture - High throughput jobs and inter-service communication using message brokers like Kafka - Continuous Integration and Deployment into cloud platforms like AWS - Storing data in databases such as Datomic and DynamoDB - Monitoring and observability with tools like Prometheus - Running applications in container orchestration systems like Kubernetes You will be responsible for - Working with large scale distributed systems, understanding their broad architecture - Planning and executing entire features, collaborating with peers while planning the work ahead, and seeing it through - Collaborating in building microservices and working with continuous delivery and infrastructure as code - Working with agile software development methodologies - Writing, testing, instrumenting, documenting, and maintaining code - Pairing, and participating in code reviews, to grow and contribute to the growth of others in and around the team - Collaborating closely with Product, Design, and partner Engineering teams to build new experiences - Participating in on-call rotations for your team and responding to incidents as necessary - Working focused on backend applications, and being open to contributing to mobile and frontend development, according to business needs. We are looking for a person who has - Experience working with large scale distributed systems - The ability to quickly understand technical and business requirements, translating them into technical design and implementation - A problem-solving mindset and strong communication skills across functional teams - A passion for user experience and a desire to take part in hiring, onboarding, mentoring, and training - A proven understanding of object-oriented or functional programming language - Notions of distributed systems - Familiarity with cloud technologies - Collaborative experience with building microservices - Practical knowledge of agile software development methodologies - Experience with continuous delivery and infrastructure as code - The opportunity to earn equity at our company - Extended maternity and paternity leaves - Health and life insurance - Mental health and wellness assistance program - Learning platform of courses - Vacations of 15 workdays We operate in a hybrid work model with cycles lasting between two to three months depending on business needs. For every eight or twelve weeks of remote work, one week is spent in the office. We aim to build a more diverse and inclusive workplace that reflects the customers we serve. We hire based on equality, considering factors such as gender, ethnicity, race, religion, sexual orientation, and other identity markers, ensuring they do not represent barriers when recruiting talented individuals.