The roles within software and data engineering are increasingly integral to driving innovation and operational excellence. Nubank, as a leader in the fintech industry, exemplifies this trend through its diverse team of Software Engineers, Analytics Engineers, Data Scientists, Machine Learning Engineers, and Business Analysts.

Each of these roles plays a crucial part in the development, optimization, and deployment of data-driven solutions. This blog post delves into the unique contributions of each role at Nubank, their synergistic collaboration, and a practical example of how they come together to develop a customer-centric product recommendation widget.

We aim to provide insights into the multifaceted world of data and software engineering, illustrating how each role contributes to the overarching goal of enhancing customer experience and business efficiency.

Software engineering: programming as a core

The role of Software Engineers is critical, encompassing the development and maintenance of client-facing applications and backend microservices.

These engineers work on everything from mobile app development using Flutter to microservices creation with Clojure, integrating technologies like Kafka and hosting on AWS.

Beyond programming, they are responsible for the quality, stability, and performance of their deliverables, ensuring robust testing and proactive monitoring for any production issues.

Check our job opportunities

Analytics engineering: data handling and optimization

Analytics Engineers play a vital role in creating and maintaining high-quality, high-performance datasets. Their responsibilities extend to contributing to data pipelines, data visualization, and user support, especially in Scala. 

They focus on automating processes for scalability and efficiency, managing data from various sources, and promoting data accessibility and best practices across the organization.

Despite the fact that this definition applies to Analytics Engineers in all business units, it’s important to note that there are important variations in the work performed in each BU.

For example, in the Marketplace business unit, Analytics Engineers are very focused on creating and maintaining datasets. However, in the Data BU, they are more concerned with improving the data platform and data tools to help other Analytics Engineers.

Data science: business problem solving with data

Data Scientists at Nubank are tasked with solving complex business problems through data. They develop predictive models to support key business decisions, continuously innovate in feature development, and rigorously evaluate model performance.

Sharing insights and collaborating with different teams is a significant aspect of their role. They leverage tools like Jupyter Notebooks, Scikit-learn, Keras, and internally developed open-source libraries for their analytical work.

Synergistic collaboration among data roles

The collaborative effort between Software Engineers, Analytics Engineers, and Data Scientists highlights the multifaceted approach to data management and utilization at Nubank. Each role contributes uniquely: Software Engineers build the technical infrastructure, Analytics Engineers optimize data handling, and Data Scientists apply this data to tackle real-world business challenges. This cohesive interplay is essential in reinforcing our data-centric strategy.

Machine Learning Engineers: bridging models and infrastructure

Machine Learning Engineers at Nubank play a pivotal role in operationalizing the models created by our Data Scientists. They take these sophisticated models, initially developed in environments like Python notebooks, and adapt them to our infrastructure, which includes technologies like Scala and Clojure.

Their responsibilities extend beyond deployment to include ongoing monitoring and maintenance of the models, ensuring consistency, accuracy, and health of the system.

Business Analysts: decision-making and analysis

Business Analysts at Nubank are the strategic thinkers who aid in decision-making from start to finish, leveraging the entire data infrastructure.

Their process involves business analysis to identify opportunities, designing tests to validate hypotheses, implementing strategies, and monitoring outcomes. They analyze test results and develop business strategies based on data, considering both company and customer perspectives.

They are also involved in internal processes, using data to improve recruitment, internal surveys, and operational efficiencies.

Developing a widget

To illustrate how these roles interplay, let’s consider a project to develop a product recommendation widget for our app, tailored to individual customer behavior. The process involves:

  • Data collection: Analytics Engineers extract and model data necessary for the project, making it accessible for analysis.
  • Model development: Data Scientists analyze the data and develop the recommendation model.
  • Model operationalization: Machine Learning Engineers work on deploying the model, ensuring its inputs are in place and monitoring its performance. They also assist in determining the feasibility of certain features.
  • Business analysis: Business Analysts sit with Data Scientists to optimize functions based on the model outputs, assessing the business impacts of these recommendations.
  • Final dataset creation: depending on the complexity of business rules derived from the model, either Business Analysts or Analytics Engineers create a final dataset with customer-product decisions.
  • Widget development: Software Engineers develop the widget in the app, utilizing the final dataset to display personalized product recommendations to customers.

Key takeaways

  • Sequential yet overlapping processes: while outlined in a sequential manner, these steps often occur simultaneously or overlap, showcasing the dynamic and flexible nature of our project management.
  • Role versatility: these roles are not rigid; they often overlap and support each other. For instance, a Business Analyst might engage in data modeling, or an Analytics Engineer might develop datasets for model inputs.

Conclusion

The collective efforts of all the data roles in developing a product recommendation widget underscore the importance of an integrated approach to data and software engineering. By blending their unique skills and perspectives, these professionals at Nubank showcase the power of teamwork in creating solutions that are not only technologically advanced but also deeply attuned to customer needs.

This exploration serves as a testament to the importance of diverse expertise in the tech industry, proving that the sum of collaborative efforts is greater than its individual parts. It’s an inspiring example for businesses and professionals alike, emphasizing the value of multi-disciplinary collaboration in the ever-evolving world of technology.

Check out what we shared about this topic on Meetup below:

Check our job opportunities