• Software Development Engineer – Distributed Systems

    Location US-WA-Seattle
    Posted Date 4 days ago(8/14/2018 4:20 PM)
    Job ID
    700211
  • Job Description

    *** Are you interested in building a Brand New High Scale Intelligent Database Service in AWSfrom the grounds up? This is your opportunity to be part of a greenfield project! Come join us, work hard, have fun and be part of making the history. ***

    Our software developers build the next generation technologies that change how millions of AWS customers connect, and interact with AWS services ecosystem. We use ideas from every facet of computer science including distributed computing, large-scale design, big and real-time data processing, data storage, service oriented architecture, networking, machine learning, and artificial intelligence. We are looking for highly-motivated and passionate engineers to build our next generation high performance purpose-built distributed data storage platform to solve real-time ingestion, storage, query, transaction and analytics processing for large scale data applications.

    As an engineer in this database platform team, you will build our next-generation purpose built NoSQL database platform that allows developers to build highly available, scalable and high performance applications. This high performance, low-latency database will be purpose built for applications which exhibit definitive data patterns and need massive write ingestion scale and highly performant and SQL supported Queries. In addition, we are building a new highly scalable and available management plane system using micro-services architecture and a real-time failure detection and auto-remediation system that can detect node failures in our large distributed cluster, initiate and remediate failed nodes within seconds.

    The software services have unprecedented scale, performance and durability requirements. You will lead the software development of large-scale distributed purpose built storage platform; in Java, C/C++ and other languages using open source technologies and Amazon proprietary technologies. This includes software applications dealing with HTTP/REST services, asynchronous messaging, event-based technologies, real-time failure detection system, horizontal and vertical scaling, management and monitoring plane workflows, auto-remediation, serverless and auto scaling, fault tolerance, backup and restore technologies, disaster recovery and prevention. As a member of the purpose built Storage Platform team, you will also get to work with exceptional team members and be directly involved in growing and mentoring junior engineers on the team.

    To apply for this role, we are looking for folks with solid analytical, design and problem diagnosis skills, expertise with systems programming, database internals, high-performance applications, distributed systems or service design is a plus. We need our engineers to be versatile, display leadership qualities and be enthusiastic to tackle new problems across the full-stack as we continue to push technology forward. With your technical expertise you will manage individual projects priorities, deadlines and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.

    Basic Qualifications


    • Expert knowledge of one of the following programming languages: Java, C and C++
    • 7+ years of hands on experience in software development, including design, implementation, debugging, and support, building scalable system software and/or Services
    • Deep understanding of distributed systems and web services technology
    • Strong at applying data structures, algorithms, and object oriented design, to solve challenging problems
    • Experience working with REST and RPC service patterns and other client/server interaction models
    • Track record of building and delivering mission critical, 24x7 production software systems
    • Bachelor’s degree in Computer Science or equivalent

    Preferred Qualifications


    • Experience in taking a lead role developing complex software systems that have successfully been delivered to customers
    • Knowledge of professional software engineering practices & best practices for full software development life cycle, including coding standards, code reviews, source control management, build processes, testing and operations
    • Demonstrated ability to mentor other software developers in all aspects of their engineering skillsets
    • Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, product strategy and influence outcomes in technical decision-making
    • Experience working with storage and database technologies.
    • Solid understanding of performance and efficiency with a strong customer focus
    • Master's degree in Computer Science or equivalent

    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share this job