Overview

DESCRIPTION
We are searching for (Senior) Software Development Engineers with passion for building easy to use large-scale enterprise cloud software optimized for massive query execution. If you are motivated by the fact that your code helps thousands of the world biggest companies to run millions of SQL queries smoothly and with high performance through our distributed cloud system – this role is for you!

Our cloud data warehouse Amazon Redshift manages all the work needed to set up, operate, and scale a data warehouse, from provisioning capacity and installing software to monitoring and backing up the cluster, to applying patches and upgrades. With Redshift Spectrum, our customers can easily query data from Amazon S3, thereby scaling their warehouse out to Exabytes and allowing them to integrate data in all kinds of file formats from their data lake into their analytics.

As (Senior) Software Development Engineer at Amazon Redshift SQL Compiler, you will:
· Participate in the design and development of state-of-the-art SQL compiler engines
· Define query rewrite rules and optimize query execution time in distributed database
· Participate in code and design reviews to maintain our high development standards.
· Operate a large-scale, distributed service in the cloud.
· Mentor other new engineers and help mature a fast-growing team.
· As Senior Software Development Engineer: Have responsibility for overall system architecture, scalability, reliability, and performance.
Joining the Amazon Redshift SQL Compiler team gives you the opportunity to:
· Work on the latest technology, as we constantly build the latest research concepts into Redshift Spectrum.
· Be part of something big, as you are working on a key pillar of AWSs extensive service portfolio and thousands of Amazon Redshift customers benefit from your contributions.
· Learn from the best, as you are working on challenging engineering tasks in a team of very experienced experts that are close to support you.
· Be part of a great team, as we invest a lot to create an inclusive environment that allows you to perform at your best, while maintaining a fun atmosphere.

BASIC QUALIFICATIONS
· 3 – 5 years experience in professional software development (for Senior position 5+ years)
· Experience in designing, implementing, executing and analyzing complex software system
· Bachelors or Master’s in Computer Science or Engineering, or equivalent experience
· Very good working knowledge of relational databases, algebra, and SQL
· Ability to write high-quality code that is robust and easy to maintain.
· Ability to work in a fast paced and agile development environment.
· Experience debugging, diagnosing, and trouble-shooting software.
· Good communication skills, analytical abilities, and design skills.

PREFERRED QUALIFICATIONS
· Masters or PhD in Computer Science
· Experience in working on SQL compiler and code compilation engines
· Experience with database internals especially SQL optimization, query execution, and automation
· Experience with parser, normalization, and cache management in database systems
· Experience in working on distributed database systems
· Good understanding of parallel computing, system efficiency and scalability.
· Experience in characterizing, debugging and correcting configuration issues in large scale distributed systems