Software Development Engineer - Kafka

3+ months agoCambridge, United Kingdom


Come build the future of data streaming with the Amazon Managed Streaming for Kafka (MSK) team!

We are seeking builders for our newly launched Amazon MSK service, a fully managed service that makes it easy for customers to build and run applications that use Apache Kafka to process streaming data. We are looking for engineers who are enthusiastic about data streaming, and are as passionate about contributing to open source as they are about solving real customers' business needs, at AWS scale.

As a member of the Amazon MSK team, you will be making contributions to the entire stack - the APIs and the workflows that make up the MSK service, the core Kafka platform, and stand-alone tools that make it easier for Kafka community to operate Kafka better. Upstream compatibility is a core tenet of MSK. Your code changes to the Kafka platform will be released back to open source. As a member of a new AWS service that builds on top of a popular open source technology, this is a unique opportunity to work on a team that straddles both worlds open source and Amazon-internal software. You will design and build new features, make performance improvements, identify and investigate new technologies, prototype solutions, build scalable services, and test and review changes, to deliver an exceptional customer experience.

The ideal candidate has experience designing large-scale systems supporting millions of transactions per second, enjoys solving complex software problems, and possesses design and problem-solving skills. Ideally you have an in-depth understanding of streaming data technologies like Amazon Kinesis or Apache Kafka, and experience with open-source data processing frameworks like Apache Spark, Apache Flink, or Apache Storm. Your responsibilities will include collaborating with other engineers to build a large scale AWS service, and work with senior leaders to define your team's roadmap, including identifying design and code changes needed in the underlying open source platforms.


• Bachelor's degree in Computer Science (or equivalent) experience
• Several years experience of developing production software systems, including taking product requirements through to production
• Software engineering skills including the ability to write maintainable, and robust code in an object oriented language
• Proficiency in computer science fundamentals data structures, algorithms and OO design
• Effective communication skills and ability to work effectively on shared projects with designers, artists, testers, and other developers


• Experience building high volume and highly scalable online services
• Experience operating highly available services
• Experience with distributed systems, consistent hashing, distributed locking, checkpointing, and load balancing
• Experience in Java, Scala and scripting
• Working knowledge of Hadoop, MapReduce, Kafka, Kinesis, Spark or other Big Data processing platforms#
• Able to work in a diverse team

Amazon is an equal opportunities employer. We believe passionately that employing a diverse workforce is central to our success. We value your passion to discover, invent, simplify and build. Our salaries are negotiable.

Job ID: Amazon-1296502