• Senior Software Dev Engineer

    Location US-WA-Seattle
    Posted Date 7 hours ago(12/12/2018 10:26 AM)
    Job ID
    659907
    Company
    Amazon.com Services, Inc.
    Company/Location (search) : Country (Full Name)
    United States
  • Job Description


    Build the best database engine in the world with C and C++.

    About Us
    Amazon Aurora is an exciting new area of innovation for AWS, and the PostgreSQL-compatible edition of Amazon Aurora is the newest part of it. The PostgreSQL-compatible version of Amazon Aurora is a new relational database which offers enterprise-class performance, availability and durability - all at open source prices - to our customers, along with the management benefits of RDS. We’re a relatively new team in Database Services, one of the fastest growing businesses within Amazon Web Services. We are spread across Seattle, the Bay Area, and Boston. Not only do we have deep database and systems programming problems to solve for our customers, but we also minimize the effort required to maintain SQL databases by automating administrative tasks like backup and restore, scaling CPU, RAM, storage and replication, failover for high availability; allowing our customers to spend their valuable time focused on building their businesses.
    We have challenging problems to solve in distributed systems, concurrency, database internals, languages, and performance engineering. We intend to be the world's best and fastest database - come join us on the journey!
    For more information about RDS, please visit http://aws.amazon.com/rds. For more information about Aurora, please visit http://aws.amazon.com/rds/aurora.

    The Role
    This position is on an exciting new team building a highly available, very scalable, high performance database offering. We have the need for database internal experts, low-level systems C programmers, mid-tier high performance C++ developers, and distributed systems Java wizards.

    About You
    You’ve built a lot of software – shipped products, love data, created platforms, tools and modules, perhaps worked with every framework under the sun, and like to 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
    • Design and implement features for new and existing products, features, APIs, platforms and frameworks. Identify, evaluate and suggest mitigation strategies for risks during design

    • Deliver project items on-time and in-spec, communicating clearly with leads, manager and stakeholders Contribute to process and development standards

    • Contribute to and lead architecture and 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

    • Effectively mentor more junior team members, helping to maintain appropriate unit test coverage, code documentation, software structure and supportability

    • Advocate for the right outcomes with data, conviction and diplomacy


    Basic Qualifications

    • Bachelor's Degree in Computer Science or Engineering, or equivalent experience
    • At least 4 years of commercial software development experience
    • Experience with more than one of C/C++, C#, Java
    • Strong knowledge of database internals, data structures, algorithms, operating systems, and/or distributed systems

    Preferred Qualifications

    • Experience in designing and building sophisticated fault-tolerant distributed systems
    • Extensive software / database architecture demonstrating an understanding of service-oriented architectures and design patterns
    • Expertise in databases internals, operating systems, file systems, or compiler internals
    • Developing in extremely busy, highly scalable, highly available mission-critical distributed environments
    • Deep experience with SQL or NoSQL databases
    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share this job