About the position
The Engineering Manager will be responsible for leading a team of high seniority data-engineers and backend-engineers to execute projects. They will mentor and coach their team to increase effectiveness and engagement with the company's values and mission, conduct performance reviews, and collaborate with other leaders to define and review strategies and priorities. The main challenges of the role include designing, building, and evolving complex data-intensive applications, maintaining integrations with third-party APIs, and ensuring high availability, reliability, robustness, performance, cost-effectiveness, and maintainability of developed solutions. The ideal candidate will have a solid background in Computer Sciences, 3+ years of experience in management positions, and solid experience working with multiple teams with cross-functional interactions.
Responsibilities
- Leading a team of high seniority data-engineers and backend-engineers to execute projects
- Mentoring and coaching development team to increase team effectiveness and engagement with company values and mission
- Conducting performance reviews aligned with corporate policies and timelines and delivering well-structured and actionable feedback to reports
- Building, grooming, curating, and prioritizing technical backlog, building roadmaps, supervising their execution, and giving visibility to stakeholders
- Collaborating with Data Science Managers, Product Managers, and other leaders to define and review strategies, visions, projects, and priorities
- Defining and fostering adoption of engineering best practices and development methods oriented at delivering value fast with required reliability, maintainability, extensibility, and lack of over-engineering demanded by rapidly changing marketing context
- Establishing necessary rituals to ensure team stays connected, engaged, and informed about what other members of the team are doing, fostering collaboration and knowledge exchange, building trust and ownership of the products the team builds
- Elaborating job descriptions, defining compensations, and coordinating hiring process with TA team in case of backfills or new positions
- Supervising, helping design, and executing interview process together with members of the team, as well as actively participating in the interview process to ensure selected candidates are aligned with the company's values and culture
- Setting the technical bar and clearly defining expectations for the quality of deliverables to ensure high availability, reliability, robustness, performance, cost-effectiveness, and maintainability of developed solutions
- Making trade-offs and taking calculated risks so that team is able to deliver results with the speed required to enable the Product team to experiment and adapt fast to market changes while keeping team aligned, engaged, and focused on priorities
- Deeply understanding the company's data and its relationships and making sure that all the solutions have adequate monitoring, data-validations, and alarms in place to detect and diagnose problems in a timely fashion, minimizing the impact
Requirements
- Solid experience working with multiple teams with cross-functional interactions.
- 3+ years of experience in management positions.
- 3+ years of experience working on designing and developing big data-intensive applications in the cloud with technologies such as Spark, Python, Airflow, etc.
- A solid background in Computer Sciences or similar career.
- Proficiency and fluency both in written and spoken English, as you’ll be leading an international team.
- Excellent high-level communication skills.
- Experience on architecture and design of large-scale systems, including vertical and horizontal scaling, performance vs scalability, high availability, consistency patterns, and availability patterns.
- Design of microservice architectures.
- Usage of message queues to handle asynchronicity.
- Understanding the usage of different types of databases (SQL, NoSQL, Graph, etc.) and replication mechanisms.
- Solid understanding of consistency and availability patterns in distributed systems.
- Distributed file systems storage, databases, and distributed transactions.
- Understanding of data processing architectures (Batch processing vs Stream processing).
- Understanding of data-lake architecture and design.