Amazon.com Sr. SW Dev Engineer, RDS Database Engines, Seattle in Seattle, Washington
We’re a new team within the Relational Database Service, one of the fastest growing businesses within Amazon Web Services, and we’re looking for seasoned, talented software engineers in Seattle, the Bay Area, and Boston. Our service provides managed, reliable, scalable and highly available relational databases, on demand. We minimize the effort required to maintain SQL databases by automating administrative tasks like backup / restore, scaling CPU / RAM / storage and replication / failover for high availability, allowing our customers to spend their valuable time focused on building their businesses. For more information about RDS, please visit http://aws.amazon.com/rds.
This position is on an exciting new team building a highly available, very scalable, high performance database offering. We have the need for low-level systems C programmers, mid-tier high performance C++ developers, and distributed systems Java wizards.
You’ve built a lot of software – shipped products, created platforms, tools and modules, perhaps worked with every framework under the sun, perhaps made everything you have touched fast as lightning. You may have built big, distributed, API-driven systems with thousands of users, or systems for billions of transactions. You’re as excited as we are about learning every day, and solving really hard engineering problems that no one else is.
Passionate about software quality, repeatability, testability and maintainability, you are known to your co-workers as the go-to person for answers to questions that begin with the phrase “what’s the best way to…” – even though your answers tend to start with “help me understand what you’re trying to accomplish by…”. When you need clarity, you go to the product owner – or even a user – and talk to them until you get it. With stakeholders and other team members you are diplomatic, persuasive, and usually right. You understand the challenges associated with operating a large-scale system in production, and your designs and implementations reflect that understanding.
When you’re wrong, you’re happy to learn something. You build software quickly, but properly (so that you don’t have to go back to it later). You know what “unit tests” are and don’t implement software without them. Shipping on time with high quality makes your heart feel warm.
Who are you? You’re the new Software Development Engineer joining us at RDS. We work hard, have fun and make history – want to come play with us?
What You’ll Do
Deliver project items on-time / in-spec, communicating clearly with leads, manager and stakeholders
Contribute to software and database architecture / design
Contribute to and lead architecture / design conversations and code reviews (yours and other team members’)
Work with managers and team members to estimate effort and clarify / negotiate / document scope and design
Contribute to design, architecture, process and development standards
Effectively mentor more junior team members, helping to maintain appropriate unit test coverage, code documentation, software structure and supportability
Distil and communicate technical concepts to more junior developers and stakeholders
Advise on courses of study for team members and / or self
Argue for the right outcomes with data, conviction and diplomacy
Identify, evaluate and suggest mitigation strategies for risks during design
Design and implement features for new and existing products, features, APIs, platforms and frameworks
Things We Like About You
Your written and spoken English are excellent
You’ve been developing software since you could tie your shoes or for more than 7 years, whichever is longer
You are experienced with more than one of Java, C, C++
You are experienced with MySQL, PostgreSQL, Oracle, MS SQL or another
You understand networking, network programming, network-oriented design patterns, distributed computing and best practices related to same
You have excellent organizational, prioritization and time management skills
You are familiar and comfortable with rapidly-evolving Agile development environments
You have an understanding of and experience with common bug / task tracking, requirements tracking, traceability and test automation tools
You have an ability to rapidly absorb and comprehend software and systems
The successful applicant will have a minimum of 3 years experience in software development, with at least 1 year in Enterprise / distributed systems. Post-secondary education and / or industry certification are both assets.
Desirable experience (i.e. “Stuff that will impress us”):
Linux / UNIX system experience
Developing in extremely busy, highly scalable, highly available mission-critical distributed environments
Deep experience with SQL / NoSQL databases
Extensive software / database architecture
Hands-on experience with AWS APIs and services
AMZR Req ID: 505766
External Company URL: www.amazon.com