DESCRIPTION
About Aviva :
We are a Mexico City-based technology startup taking a unique approach to unsecured credit for underserved communities. Aviva’s physical onboarding kiosks bridge the gap for individuals living in remote areas, offering a document-free, 5-minute video onboarding process for those in need of liquidity. This asset-light acquisition strategy, combined with a superior risk model powered by computer vision and natural language processing, enables Aviva to provide the lowest interest rates available to underserved populations today.
What You Will Do :
At Aviva, we are not just building one of Mexico’s top financial companies—we are creating the technology that can support many others internationally. While we have already developed and deployed several key components, we aim to raise the bar by ensuring our systems can sustain disruptive growth, maintain robust architecture, and continuously improve functionality.
We are looking for a senior python developer, with an emphasis on software architecture. Someone who can bring their expertise to make our modules scalable, efficient, and easy to use and maintain.
Your responsibilities will include:
- Designing the architecture of new modules, with a focus on testability and making future extensions and modifications easy.
- Detecting issues with the architecture of current modules, before those issues become painful for developers. Suggesting re-factorizations to alleviate those issues, to enable other teams to deploy and maintain implementations with ease (e.g., bot agents.
- Contributing to the implementation and maintenance of those modules.
- Help your team members improve, in particular through documentation of your choices, careful pull-request reviews and introduction of code guidelines.
Here are some examples of our current projects that you could take on:
Write the first prototype of our video
- chatbots (attention to lag is especially important here.
- Design a chatbot library, abstracting some of the complexities of our chatbots (access to business rules, accessing a client information when talking to that client, moderation,.... The objective is to enable non-specialists to maintain specific chatbots. We recently developed a highly
-customizable module to verify some information of a client (address, business, bank account, references,... depending on the product and risk profile. We are looking for better ways to organize this module, to make it easier to introduce changes in a safe way.
Some projects will require building systems from scratch, while others will involve extending existing functionalities and improving their architecture.
Requirements :
- Professional level in both English and Spanish.
- Willingness to learn new technologies and engage in machine learning projects.
- Strong proficiency in Python, including deep knowledge of the language, writing clean code, and designing the architecture of large projects.
- 5+ years developing in python, including some medium-sized projects (multiple contributors over multiple years where you drove the architecture design.
- Strong critical thinking skills and the ability to analyze trade-offs in architecture patterns. This includes understanding the common software principles (SOLID, GRASP, coupling/cohesion, etc., their benefits, and when to ignore them.
- Knowledge of security-focused architecture.
Benefits :
- Attractive compensation package with stock options.
- Fast-paced environment with many growth opportunities.
- 15 annual vacation days + 7 annual personal days.
- Flexible work schedule