Amazon

Software Development Engineer II

3+ months agoBangalore, India

DESCRIPTION

Engineers in this role will be responsible for design, development, delivery and support of large-scale, multi-tiered, distributed software applications and tools. Following skills would be required for the role:

Required
- Bachelor's degree in Computer Science or equivalent
- 3+ years professional experience in software development
- Strong programming experience in at least, one modern programming languages such as Java, C, C++, C#,ROR,Golang or Python including object oriented design.
-Possess an extremely sound understanding of basic areas of Computer Science such as Algorithms, Data Structures, Object Oriented Design, Databases.
-1+ years of experience contributing to the architecture and design (architecture, design patterns, and scaling) of new and current systems.

BASIC QUALIFICATIONS

• 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.

PREFERRED QUALIFICATIONS

Preferred Qualifications
- Experience leading several large scale projects through the entire software development lifecycle
- Experience developing and delivering software in an agile methodology
- 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
- Exceptional customer relationship skills including the ability to discover the true requirements underlying feature requests, and recommend alternative technical and business approaches
- Must be able to independently solve complex problems by utilizing experience and other resources
- Design scalable service architectures and review new designs for integration into existing architectures
- Design/code applications requiring a high degree of complexity
- Design data structures that meet the application requirements
- Excellent verbal and written communication skills
- Strong business and technical vision
- Ability to handle multiple competing priorities in a fast-paced environment