Engineering Manager – Driver, Passenger & Tesla
As an Engineering Manager at Beat, you will lead an agile team of engineers. You will be both hands-on, contributing to the codebase, and leading the team on engineering practices, processes, and continuous improvement.
Your team is part of the Passenger Product Domain, whose mission is to develop and maintain products, services and tools with the aim of creating an unforgettable passenger experience as well as aiding any passenger related operations from Beat’s side. Supporting these products is an ecosystem of microservices that we aim to enhance and expand using the latest distributed architectures patterns, practices and technologies. There is a healthy mix of Greenfield development and feature improvements, so you will be called in to bring ideas to the table on both of these areas.
Your goal will be to lead the team in writing software of high quality [mainly in Go], delivering results within the agreed company time schedules and owning and supporting the systems they build. At the same time, you will be responsible for your team’s growth and coaching by being a role model and a mentor to them.
What you’ll do day in day out:
- Lead a team of engineers through coaching and mentoring.
- Work with Product Owners to understand desired application capabilities and features.
- Establish a suitable team process and a continuous improvement environment, utilizing Agile methodologies.
- Lead technical design reviews and code reviews.
- Contribute as an Individual Contributor to the features and the tasks of the team.
- Own the full lifecycle of components and services in the Beat stack along with your team, including architecture design and planning, development, testing, deployment and production support.
- Define and track metrics to assess the quality and performance of the team.
- Manage the performance and career development of team members, working with them to define goals, track progress, and give feedback.
- Bring a passion to stay on top of tech trends, experiment with and learn new technologies, participate in internal & external technology communities, and mentor other members of the engineering community.
- Keep your team happy and productive, being responsible for their well-being and the fulfilment of their career goals.
What you need to have:
- Expert understanding of OOP and Design Patterns in at least one of the following languages: Go (our choice of language), PHP, Python, C#, Java or Kotlin, with more than 5 years of proven, production-grade software development expertise.
- Understanding of SOA and RESTful web service design, implementation and maintenance.
- Solid understanding of HTTP and Event-Driven Architecture.
- Experience with microservice architectures, distributed systems and message brokers (e.g Kafka, RabbitMQ).
- Experience with MVC development frameworks and modular architecture.
- Knowledge and experience (modelling and architecture) of SQL and relational databases.
- Knowledge and experience of non-relational databases (one or more of MongoDB, Redis, ElasticSearch).
- Solid experience with Software Testing and a TDD mindset.
- Experience in version control (Git preferably).
- Experience in working with Agile methodologies.
- Passion for interacting with people and for helping them achieve their full potential.
What is nice to have:
- Experience managing a team of engineers.
- Experience in mentoring and coaching engineers, both on technology and on their career path.
- Experience in Domain-Driven Design.
- Experience in Machine-Learning.
- Open-source contributions.
Come and join us. You will be challenged and we’re sure you’ll enjoy the ride!