Amazon Kinesis Data Analytics(KDA) team is looking for Senior Engineers who are passionate to build distributed stream processing engines. We are looking for builders who are enthusiastic about data streaming and excited about contributing to open source.
Real-time data processing from a stream needs substantial investments from customers in writing the application and maintaining the necessary infrastructure. KDA service provides customers with fully managed stream processing platform where customers can develop their applications using SQL or Java. With the service all that customers need to do is provide the application code that needs to be run containing the business logic to process the stream and service takes care of providing building blocks/abstractions such as processing windows, execution semantics, checkpoints and infrastructure capabilities such as elasticity, fail-over etc. eliminating complexity of stream processing.
As a senior member of KDA team you will be working on making improvements to the stream processing engine, Apache Flink to make KDA service the easy place to run stream processing application. Upstream compatibility is a core tenet of KDA service and your changes to improve the engine will be contributed back to open source. As a member of the KDA service you will be working on adding new stream processing operators, improving efficiency and availability of the engine and push the envelope of stream processing.
The ideal candidate has experience working on large-scale systems, enjoys solving complex software problems, and possesses analytical, design and problem-solving skills. While not necessary having an in-depth understanding of data processing technologies such as Apache Flink, Apache Spark, Apache Storm, Hadoop frameworks is a plus. Your responsibilities will include collaborating with other engineers to build a large scale AWS service, and work with other engineers to define your team's roadmap, including identifying design and code changes needed in the underlying open source platforms.
Come join us to make stream processing main stream for our customers.
· Bachelor’s Degree in Computer Science or related field
· Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
· 5+ years professional experience in software development
· Experience taking a leading role in building complex software systems that have been successfully delivered to customers
· Proficiency in, at least, one modern programming language such as C, C++, C#, Java, or Perl
· Excellent communication skills and the ability to work well in a team.
· Ability to excel in a fast-paced, startup-like environment.
· Experience building extremely high volume and highly scalable web services.
· Experience building highly available systems and operating 24x7 services.
· Experience with distributed systems, consistent hashing, distributed locking, replication, and load balancing.
· Working knowledge of Kubernetes, Hadoop, MapReduce, Storm, Spark or other Big Data processing platform.
· Experience with at least one modern scripting language such as Ruby, Python or PHP.
· Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
· Strong customer focus, ownership, urgency and drive.
· Master’s degree or PhD in Computer Science.
Amazon is an Equal Opportunity-Affirmative Action Employer – Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation