Would you like to work with one of the most complex employee systems in the world? Amazon Compensation Technology Team is seeking an innovative and highly motivated Software Development Engineer to join our growing organization. We are building new software products and large scale distributed systems which will manage the compensation experience for Amazon's rapidly growing workforce. We are empowered to think big at Amazon, and the Amazon Compensation Technology Team is doing just that. Where third-party products don't scale to meet our needs, we build our own products which provide the scalability and flexibility we need. We take full advantage of the amazing technology toolset we have. We use AWS technologies such as Lambda, Dynamo DB, SQS, SNS, SWS, Redshift, S3, and many others to build highly scalable solutions. We directly shape the future growth of Amazon and the impact of our work can be seen all around us.
Do you find re-defining and building new platforms from the ground up exciting? Do you like working with new technologies, finding new solutions to complex problems? Do you like working with all stages of product development from working with customers on business requirements to deploying and supporting your own software? We are looking for a strong Senior Software Development Engineer who can take the lead in identifying and solving ambiguous problems. You will own and heavily influence the architecture and design, and will write a significant portion of the "critical-path" code. You will influence the team's technical and business strategy by making insightful contributions to team priorities and approach.
Successful candidates will be strong leaders who can prioritize well, communicate clearly, and have a consistent track record of delivering large scale solutions. You will contribute to all aspects of an agile software development lifecycle including design, architecture, development, documentation, testing and operations. You will push your design and architecture by owning all aspects of solutions end-to-end, through full stack software development.BASIC QUALIFICATIONS
• 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.
• 2+ years of non-internship professional software development experience
• Bachelor's Degree in Computer Science or a related field
• At least 3+ years of software development experience
• Experience taking a leading role in building complex software systems
• Proficiency in at least one modern programming language such as Java, C++ or other object oriented programming languages.
• Strong computer Science fundamentals in algorithm design, data structures, problem solving, and complex analysis
• Knowledge of professional software engineering practices and best practices for the full software development lifecycle (SDLC), including coding standards, code reviews, source control management, build processes, testing, and operations
• Ability to deal well with ambiguous/undefined problems; ability to think abstractly.
• Experience in communicating with customers, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy.PREFERRED QUALIFICATIONS
• Master degree in Computer Science or related field.
• Software development experience in Spring, AWS, S3, SQS, building web services and highly scalable applications
• Software development experience in web technologies including HTML, CSS, ReactJS, Angular and bootstrap
• Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between.
• Experience working with Agile engineering practices
Software and Programming