Software Developer/ Engineer/ Architect

Senior Software Development Engineer , AWS Aurora

DESCRIPTION

Job summary
Looking to be part of a team building hyper-scale database services in the cloud? Do you want to revolutionize the way people manage vast volumes of data in the cloud where you have direct and immediate impact on hundreds of thousands of users who use AWS database services?

Aurora is a distributed, fault-tolerant database service, leveraging a self-healing storage system which performs up to five times faster than standard MySQL databases and three times faster than standard PostgreSQL databases.

Aurora is one of the fastest-growing AWS services, with business and engineering decisions having a widespread impact across many of the world's fastest growing businesses! Our customers depend on the performance of our services to scale and support their mission-critical workloads.

Operating much like a start-up, we have a very flat organizational structure and a casual office vibe, but leverage all the resources and stability of being the largest cloud provider.

The AWS Aurora Data Lake & Diagnostics engineering team focuses on building scalable services and tools to support the rapid growth of Aurora infrastructure. As an Engineer on the team you will design and implement services and intelligent tooling to allow Amazon Aurora to scale faster, with emphasis on reliability, deployment velocity and operational effectiveness.

We are looking for Software Development Engineers who have built a lot of software – shipped products and created platforms, tools and modules. You should be passionate about optimizing the software development experience at a very large scale, using your strong technical skills and motivation to achieve results. You are naturally enthusiastic about learning new technologies and industry trends and are excited by the idea of solving hard technical challenges.

BASIC QUALIFICATIONS

· 10+ years of professional software development experience developing high quality code.
· Programming experience with one or more of the following languages - Java, Python, or C++.
· Computer Science fundamentals in object-oriented design, data structures, algorithm design and complexity analysis.
· Background in any of the following: Cloud Architecture, Systems Design, Infrastructure Architecture, Data Engineering or DevOps.
· Experience engaging successfully with internal or external stakeholders delivering solutions to help businesses succeed.
· Built systems that scale through software, owned and defined the architecture and design (architecture, design patterns and reliability).
· Experience in communicating with peers, technical teams, and senior management to collect requirements & describe software product features, technical designs, and product strategy.
· Experience in improving process and applying best practices for a whole project/team with solid expertise of software development life cycle; including coding standards, code reviews, source control management, build processes, testing, and operations.
· Have mentored software engineers to help improve their skills, efficiency and productivity.
· Excellent written and verbal communication skills
· Desire to build, sense of ownership, urgency, and willingness to make a difference.

PREFERRED QUALIFICATIONS

· Experience working on projects using Machine Learning, Predictive Analytics, Anomaly Detection, Data Warehousing, Big Data, Hadoop ecosystems, Streaming applications, Data Lakes, or large-scale operational Analytics.
· Knowledge of some relevant languages, tools and frameworks (e.g R, Scala, Spark, Kafka, Hadoop Ecosystem, Presto, Hive, Teradata, Elasticsearch, Analytics amongst others).
· Experience with building highly-available, large-scale, and scalable distributed systems, taking a leading role in building complex software systems that have been successfully delivered to customers.
· Experience designing, building, refactoring or operating Analytics - either on premises or in the cloud.
· Exposure to large-scale distributed storage and database systems (e.g. SQL, NoSQL, Graph Databases).
· Delivered software in an environment that utilises Agile methodologies like SCRUM or Kanban.
· Hand on experience with AWS services such as RDS, EC2, Dynamo DB, CloudWatch.
· Bachelor's Degree in Computer Science or equivalent - Masters in CS preferred.