Software Development Engineer
Amazon
About the Role
This is an early career Software Development Engineer position at Amazon, designed for individuals looking to accelerate their careers and make a significant impact.
Key Responsibilities
- Collaborate and communicate with experienced cross-disciplinary Amazonians to design, build, and operate innovative products and services.
- Participate in technical discussions to drive solutions forward.
- Break down complex, ambiguous problems into well-defined, solvable components.
- Contribute to the design and development of scalable, reliable services with distributed-systems scope.
- Conduct code reviews, providing constructive feedback.
- Contribute to technical documentation.
- Use GenAI and AI-powered tools to enhance development productivity.
- Critically validate, verify, and integrate AI-generated code, exercising sound judgment.
- Write clean, maintainable code following best practices and design patterns.
- Work in an agile environment practicing CI/CD principles.
- Participate in operational responsibilities, including on-call duties.
- Demonstrate operational excellence through monitoring, troubleshooting, and resolving production issues.
Requirements & Tech Stack
- Minimum age of 18 years.
- Experience with at least one general-purpose programming language: Java, Python, C++, C#, Go, Rust, or TypeScript.
- Experience with data structure implementation, basic algorithm development, and/or object-oriented design principles.
- Experience using AI-assisted development tools in academic or professional settings.
- Currently have, or be in the process of obtaining, a bachelor's or master's degree in Computer Science, Computer Engineering, Data Science, Information Systems, or related STEM fields.
Preferred Qualifications
- Experience from previous technical internship(s) or demonstrated project experience.
- Experience with one or more of the following:
- AI tools for development productivity
- Cloud platforms (preferably AWS)
- Database systems (SQL and NoSQL)
- Contributing to open-source projects
- Version control systems
- Debugging and troubleshooting complex systems
- Demonstrated ability to learn and adapt to new technologies quickly.
- Basic understanding of software development lifecycle (SDLC).
- Strong problem-solving and analytical skills.
- Excellent written and verbal communication skills.