About the Role
You will work with the existing engineering team and help contribute to the direction of the projection and team. The existing team is a Product team that is building a backend for user-facing products. You will help understand, and analyze technical problems, and performance issues, and help with legacy migrations when necessary. You need to be able to understand and troubleshoot data-intensive systems.
Job Responsibilities:
- Work cross-functionally with product, design, and other engineering counterparts to execute product and business strategy and build novel products and features that our users will love.
- Contribute to the full development cycle: technical design, development, test, experimentation, analysis, and launch. You'll be reviewing code and design docs, giving feedback on product specs and mocks.
- Set and define standards that improve developer workflows, recommend best practices, and help coach and mentor engineers on the team to further their professional development.
- Continuously learn and improve your technical and non-technical abilities.
Job Requirements:
- System design. This requires a good understanding of how the systems work, with a particular focus on latency and scalability.
- Development. Our systems are mainly in Python and Go. We are also migrating a few of our endpoints from Python to Go. Skills in testing, SOLID and design patterns are a must. (experience with migration from Python to Golang is Mandatory, and willingness to do for a long time)
- Systems architecture. We make extensive use of Kubernetes, AWS, and Postgres, with internal tools for metrics/alerting and Grafana for dashboarding. We also use Redis in few of our services.
- Work cross-functionally with product, design, and other engineering counterparts to execute product and business strategies and build novel products and features that our users will love.
- Communicate effectively, within the team and across disciplines. Work closely with product managers and designers to craft compelling user experiences.
- Participate in product reviews and team meetings, providing technical insight. Help scope, estimate, and prioritize between conflicting needs