Returning Candidate?

Sr. Software Development Engineer

Sr. Software Development Engineer

Job ID 
Posted Date 

Job Description

AWS Infrastructure Automation assists in the procurement, construction and maintenance of data centers around the world. We are looking for a software developer able to translate hard constraints into functional systems with sufficient abstraction to support ongoing rapid innovation. As a Software Developer on the team you will be responsible for designing and building distributed systems utilizing well-known patterns (Micro services, SOA) that leverage existing AWS platforms and services. You will also mentor, guide and motivate fellow engineers in the team and help them realize their full potential.

Our engineers use a variety of technologies like Scala, Java, JavaScript and Vue as well as in-house Amazon technologies. We heavily leverage AWS managed services such as AWS DynamoDB, AWS Lambda, and AWS Batch. The technical skills required for success in this role include strong functional programming in Scala. Understanding of web based technologies is required.

Candidates for this position should have strong software engineering fundamentals as well as real-world experience. You will be able to demonstrate a variety of architectural approaches and design patterns and have a demonstrated competence in designing maintainable and scalable software written in a high-level language. You will show your ability to adapt to changing business and technical environments and devise creative solutions to vexing software problems. Candidates must have the ability to communicate effectively, both in writing and orally, to engineers and executives.

Basic Qualifications

Basic Qualifications:
• Bachelor’s Degree in Computer Science or related field
• Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
• 4+ years professional experience in software development
• Computer Science fundamentals in object-oriented design
• Computer Science fundamentals in data structures
• Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
• Proficiency in, at least, one modern programming language such as Scala, Haskell, Erlang, C, C++, C#, Java, or Perl
• Experience with Linux

Preferred Qualifications

Preferred Qualifications:
• Experience taking a leading role in building complex software systems that have been successfully delivered to customers
• 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 with distributed computing and enterprise-wide systems
• Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
• Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
• Experience influencing software engineers best practices within your team
• Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between
• Experience with NoSQL or Graph databases
• Experience with Scala or another functional or mixed mode programming lanaguage