Below is an actual job for a Senior Software Engineer position at Amazon.
Software Development Engineer
Want to learn how you can play a big role in changing the way people think and interact with databases? Then read on.
Amazon Aurora Serverless an on-demand, auto-scaling configuration for Amazon Aurora (MySQL-compatible edition), where the database will automatically start up, shut down, and scale capacity up or down based on your application's needs, with no down time. Building on this we launched both Data API for Aurora Serverless and RDS Proxy which remove the needs for customers to think about many existing database limits. These were all envisioned and built out of the Data Plane APIs team within Aurora, and our goal is to fundamentally change the way that people interact with databases.
We are looking for a highly skilled, experienced, and motivated engineer to help reinvent the customer experience with databases. You will work on a team that architects, designs, and delivers web service APIs around ‘intelligent’ distributed database systems with availability, reliability and performance guarantees to AWS customers. You will participate in product direction and road-map planning, project execution scheduling, and hiring engineers to develop cutting-edge database services. This is a unique and rare opportunity to get in on the ground floor within a fast-growing service and help shape the technology, product and the business direction. A successful candidate will bring deep technical and leadership expertise, and ability to work within a fast-paced startup culture in a large company to deliver solid code that has a broad business impact.
- 4+ years of professional software development experience
- 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
- 4+ years of professional experience in software development
- Experience building scalable distributed systems with service oriented architectures
- Proficiency in at least one modern programming language, e.g. Java, C#, or C++
- Bachelor’s Degree in Computer Science or related field, or an equivalent in relevant work experience
- Experience working with wire protocols.
- Distributed systems: consensus-based quorum replication, NoSQL system implementation
- Candidates with strong backgrounds in file and storage systems, compilers, operating systems, networking, etc.are also encouraged to apply.
- OS internals.
- Performance and tuning.
- Excellent leadership, verbal and written communication skills.
It is very important that you read the job description carefully and make sure you have all the relevant skills and experience as asked by the job role.