Sr. Software Development Engineer - Kafka
DESCRIPTION Come build the future of data streaming with the Amazon Managed Streaming for Kafka (MSK) team!
We are seeking builders to be the technical leaders on our 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, mentor team members and work with senior leaders to define your team's roadmap, including identifying design and code changes needed in the underlying open source platforms.
BASIC QUALIFICATIONS • Bachelor's degree in Computer Science (or equivalent) experience
• Several years experience of developing production software systems
• Software engineering skills, including the ability to write maintainable and robust code in Java, Python, C++, C#, Scala or similar languages
• Experience of taking product requirements and developing software architectures and designs to bring them to life
• Computer science fundamentals - data structures, algorithms and OO design
• Experience with hiring and mentoring of engineers
PREFERRED QUALIFICATIONS • Good communication skills and ability to work effectively on shared projects with designers, artists, testers, and other developers
• Experience making contributions to open source platforms
• Experience building extremely high volume and highly scalable online services
• Experience operating highly available services
• Experience with distributed systems, consistent hashing, distributed locking, check-pointing, and load balancing
• Working knowledge of Hadoop, MapReduce, Kafka, Kinesis, Spark or other Big Data processing platforms
• Ability to excel in a fast-paced, startup-like environment.
• Experience mentoring other engineers
• Strong problem solving ability and object-oriented design skills
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.