Software Development Engineer - Big Data, Amazon Athena
- Seattle, WA
Want to help make history in the world of big data and make it easy for customers to efficiently query and analyze petabytes and more of data? Come join the Amazon Athena team in AWS!
We are developing innovative new capabilities from the ground up that will transform the way customers analyze their data while also giving them high performance, low costs, and exceptional ease-of-use. We are a small, entrepreneurial team that operates independently, but with access to some of the top engineers in our field across AWS.
In this role, you will have the opportunity to collaborate with senior and principal engineers who are domain experts at AWS. You'll develop deep expertise in areas like distributed systems, query engines, open source applications, performance optimization, and operational excellence. You'll also have the opportunity to work with and contribute to the leading open source big data and analytic frameworks like Hive, Spark, and Presto. You will enjoy competitive compensation and your contributions in this role will impact customers and businesses around the world.
You'll be responsible for designing, developing, testing and deploying some of our most strategic technical projects. You'll deliver large-scale, high performance production systems, design new software systems at the cutting edge of distributed technology, and have a significant bottom-line impact on our business results. You will draw from your deep and broad technical expertise to mentor engineers, complete hands-on technical work and provide leadership on complex technical issues.
Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon's culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust.
Our team puts a high value on work-life balance. It isn't about how many hours you spend at home or at work; it's about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.
This position involves on-call responsibilities, typically for one week every two months. We don't like getting paged in the middle of the night or on the weekend, so we work to ensure that our systems are fault tolerant. When we do get paged, we work together to resolve the root cause so that we don't get paged for the same issue twice.
• 2+ years of non-internship professional software development experience
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• Master's degree in Computer Science or equivalent with 3+ years of experience OR Bachelor's Degree in Computer Science or equivalent with 5+ years experience, in: software development, including design, implementation, debugging, and support
• Deep understanding of distributed systems and web services technology
• Strong at applying data structures, algorithms, and object oriented design, to solve challenging problems
• Knowledge of one or more modern programming languages such as C/, C#, Java
• Passion and ability to debug, troubleshoot, and resolve highly complex performance and operational issues
• Experience building high-throughput, low-latency multi-threaded systems. e.g. mission-critical network servers, embedded reactive systems
• Experience designing and building sophisticated fault-tolerant distributed systems
• Experience taking a lead role in building complex software systems that have been successfully delivered to customers
• Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
• Experience in communicating with users, other technical teams, and product management to collect requirements, describe software product features, technical designs, and product strategy
• Knowledge and experience with networking, virtualization and Linux kernel modules are a plus
• Familiarity with JDBC/ODBC, SQL query processing, and distributed query engines
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us.
Back to top