Amplitude is seeking a Software Engineer II to join their data infrastructure teams to contribute to the core platform that processes and integrates massive amounts of customer data, powering their analytics product and providing powerful insights into customer behavior.
Requirements
- 2–3+ years of industry experience in a Software Engineering role, preferably focused on backend or data systems.
- A strong foundation in programming, data structures, algorithms, multi-threading programming, and software application design/system design.
- Hands-on experience and proficiency in at least one modern backend language, such as Python, Java, C++, or Go.
- Background in building high-performance, scalable backend systems and deploying services on AWS or similar cloud providers.
- Experience with both relational and NoSQL databases.
- Previous experience in distributed systems, large-scale data processing, and analytics platforms (e.g., OLAP systems).
- Experience working with ETL pipelines or data products on top of cloud warehouses (e.g., Snowflake, BigQuery, Redshift).
Responsibilities
- Design and Implementation: Take product ideas and requirements from ideation to implementation, focusing on developing and maintaining backend services and components that expand the capabilities of our analytics product and semantic layer.
- System Scale and Performance: Design and implement distributed systems to ensure scalability, reliability, and high availability (best-in-class system availability) for our rapidly growing data volumes. Optimize performance to be blazingly fast across our data infrastructure, including data ingestion and processing pipelines.
- Collaboration: Collaborate closely with Product and Design teams to translate high-level requirements into working, user-facing features. Work with cross-functional teams to support multi-product integration initiatives.
- Technical Leadership & Quality: Actively participate in design discussions, contribute to the infrastructure roadmap, and conduct thorough code reviews. Lead technical discussions and mentor junior engineers/peers on engineering best practices and system knowledge sharing.
- Problem Solving: Utilize monitoring tools to quickly diagnose and resolve performance, correctness, and stability issues, ensuring a robust and reliable platform. Research complex technical topics from papers and open-source projects to devise innovative solutions.
Other
- Strong communication skills, collaboration skills, and an ability to work effectively with cross-functional teams.
- Passionate about solving challenging technical problems and iterating quickly.
- LI-Hybrid