Job Overview
Role: SDE I Intern Location: Multiple Locations Across India Experience: Internship / Student Internship Qualification: Bachelor’s / Master’s Degree Key Skills: Data Structures, Algorithms, Object-Oriented Design, Operating Systems, C/C++, Python, Java, Perl
Job Description
The Software Development Engineer I Intern opportunity at Amazon is designed to give students practical software-engineering experience on projects that matter to customers. Interns will work alongside experienced Software Development Engineers and contribute to real projects involving distributed systems, data mining, automation, optimization, scalability, storage, indexing, query systems, and security. Rather than working only on academic assignments, interns can contribute to real software projects and engineering solutions used at significant scale, receiving guidance from a manager and mentor. The internship is full-time for 24–26 consecutive weeks, with start dates between January and June 2027.
Roles and Responsibilities
- Collaboration: Collaborate with experienced cross-disciplinary Amazon teams to conceive, design, and bring innovative products and services to market.
- Design & Build: Design and build technologies in a large distributed computing environment.
- Solution Creation: Create solutions for running predictions on distributed systems at large scale and speed.
- System Development: Build distributed storage, indexing, and query systems that are scalable and fault-tolerant.
- Problem Solving: Design and code solutions starting from broadly defined problems.
- Agile Development: Work in an Agile environment to deliver high-quality software.
Skills and Eligibility Criteria
Educational Background: Currently enrolled in a Bachelor’s or Master’s degree program in Computer Science, Computer Engineering, or a related field. Expected year of graduation: 2027.
Experience: Internship / Student Internship.
Mandatory Technical Skills:
- Knowledge of computer science fundamentals, including Object-oriented design, Operating systems, Algorithms, Data structures, and Complexity analysis.
- Knowledge of at least one programming language such as C/C++, Python, Java, or Perl.
- Familiarity with Data Structures and Algorithms including Arrays, strings, Linked lists, Stacks, queues, Hash tables, Trees, binary search trees, Heaps, priority queues, Graphs, Sorting, searching, Recursion, and dynamic programming.
- Understanding of Object-Oriented Design concepts: Classes, objects, Encapsulation, Inheritance, Polymorphism, Abstraction, Composition.
- Understanding of Operating Systems concepts: Processes, Threads, CPU scheduling, Memory management, Virtual memory, File systems, Concurrency, Synchronization.
- Basic understanding of Distributed Systems concepts: Horizontal scaling, Replication, Partitioning, Fault tolerance, Latency, Availability, Consistency, Distributed communication.
- Exposure to Distributed Storage, Index and Query Systems.
Competencies:
- Ability to handle ambiguous problems.
- Strong technical communication skills.
