Returning Candidate?

Software Development Engineer

Software Development Engineer

Job ID 
Posted Date 
Amazon Corporate LLC
Position Category 
Software Development
Recruiting Team 
North American Teams - AWS

Job Description

Are you a Java platform implementer? Have you contributed patches to OpenJDK? Have you led a team in adopting bleeding edge Java9 features? Do you sometimes investigate or devise new JVM features or languages? If so, we want to talk to you!
AWS Developer Tools is building a team of software engineers to take ownership of Java in order to improve how we use it and direct its future at Amazon. We care about security vulnerabilities, optimization for high scalability in our systems, and providing our customers (hint: almost every single engineer at Amazon) the best possible Java experience. As we define the next generation of best practices for language support, you will help build a platform for other first tier languages at Amazon.
On this team you will play a leading role in the definition, vision, design, roadmap and development needed to support the JDK at Amazon. You will:
  • Work with development teams across all of Amazon as your core customers.
  • Iterate, test new ideas, and shape the future vision for services and libraries built on Java.
  • Learn and use core AWS and Amazon technologies to design and then build an optimization and validation platform for JDK at Amazon.
  • Utilize your deep knowledge of the JDK to define how it’s used across the spectrum of products and services developed at Amazon.


Basic Qualifications

  • Expert knowledge of Java and the JDK, including experience with OpenJDK
  • Bachelor’s Degree in Computer Science or related field
  • Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1-year of education
  • 5+ years professional experience in software development
  • Computer Science fundamentals in object-oriented design
  • Computer Science fundamentals in data structures
  • Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
  • Proficiency in, at least, one other modern programming language such as Ruby, Python, C, C++, or C#

Preferred Qualifications

  • Masters Degree or PhD in Computer Science or related field.
  • Experience reporting bugs and contributing fixes and features to open source projects, preferably contributing to the OpenJDK project.
  • Experience taking a leading 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 with distributed computing and enterprise-wide systems
  • Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
  • Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
  • Experience influencing software engineers best practices within your team
  • Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between