Home    Amazon    Jobs    Job

Job is no longer available

Software Development Engineer


Cambridge, United Kingdom


As a Software Development Engineer at Amazon you will be part of a team of engineers in the design, development, test and operation of services and products. You will play an integral part in Amazon as we grow at a phenomenal rate, developing services that are massively scaleable and low latency. You must be responsive, flexible, and able to succeed within an open collaborative peer environment.

Your responsibilities will include:

· Delivering high quality code on time as part of a cross-functional team. Contributing to team discussions around system component design, improvement and integration.
· Designing and developing high performance, test-driven code that meets complex requirements and is massively scalable.
· Involvement at all stages of the software development cycle, including designing and developing significant new architectural systems and improvements.
· Working with and maintaining a large existing code base as well as new components; maintaining production code and contributing to deployment and QA processes.
· Working closely with other technical teams and product team to deliver on the company’s technical vision.


Required Skills and Experience

You have industry-leading technical abilities. You demonstrate a breadth and depth of knowledge in the following disciplines:

· You recognize and adopt best practices from initial design through to deployment and on-going service ownership.
· Bachelors Degree in Computer Science, Software Engineering or related field.
· You write high quality, maintainable, and robust code.
· You solve problems at their root, stepping back to understand the broader context.
· You develop pragmatic solutions. You build flexible systems without over-engineering and choose simple, straightforward solutions over more complex ones.
· You understand a broad range of data models and know how, when and when not to use them.
· You recognize and use design patterns to solve business problems.
· You understand how enterprise applications work, perform, and scale.
· Great team player, able to work effectively with others as well as individually.
· Computer Science degree or equivalent.
· Excellent C++ and Java skills; with strong STL and Boost experience.
· Excellent Java server-side skills; with fluent knowledge of key third party frameworks and libraries such as Spring, JAXB, Hibernate or Guava.
· Skills using cloud-based queueing, messaging, monitoring and storage techniques such as MQ, SNS, SQS or EMR.

· Excellent Object Oriented Design skills with a proven ability to find simple solutions to complex problems.
· Strong skills and experience in cloud-based software development:
· - Working with distributed and/or clustered systems
· - Building and running horizontally scaling architectures on environments such as AWS
· Proficient in Python· Demonstrable experience working with large scale distributed platform architectures.
· Experience of performance monitoring and optimization.
· Experience of working with complex systems.
· Demonstrable experience using technical specifications, test driven development and code reviews to ensure code quality
· Comfortable collaborating with teams with very different technical skills, and non-technical teams.
· Technical degree or equivalent experience.
· Experience of distributed and highly optimized data stores is highly desirable.
· Experience of working within a large codebase with significant legacy code would be a plus.


Share this page:

  Facebook      Instagram      Twitter      Linkedin      Press release 

Join the community