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 analytical, 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
· Advanced software engineering skills, including the ability to write expert-level, maintainable, and robust code in C++, Java, or other core object oriented languages
· Experience of taking product requirements and developing software architectures and designs to bring them to life
· Proficiency in computer science fundamentals – data structures, algorithms and OO design
· Good communication skills and ability to work effectively on shared projects with designers, artists, testers, and other developers
· Experience building extremely high volume and highly scalable online services
· Experience operating highly available services
· Experience with distributed systems, consistent hashing, distributed locking, checkpointing, and load balancing
· Working knowledge of Hadoop, MapReduce, Kafka, Kinesis, Spark or other Big Data processing platforms