Share
Key job responsibilities
Design, implement, and deploy mission-critical systems that work at the scale of EC2's diverse and ever-expanding infrastructure.Work/Life Balance
This position involves on-call responsibilities, typically for one week every two months. We don't like getting paged in the middle of the night or on the weekend, so we work to ensure that our systems are fault-tolerant. When we do get paged, we work together to resolve the root cause so that we don't get paged for the same issue twice.Mentorship & Career Growth
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- 4+ years of non-internship professional software development experience
- Experience programming with at least one software programming language
- Bachelor’s Degree in Computer Science or related field
- Computer Science fundamentals in data structures, object-oriented design, algorithm design, problem solving, and complexity analysis
- Knowledge of, at least, one modern programming language such as C, C++, C#, Java, or Ruby
- Experience with distributed computing and enterprise-wide systems
- 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 operations
- Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
- Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between
- Ability to take a project from scoping requirements through actual launch of the project
These jobs might be a good fit