Description

  • Partner with leadership, engineers, program managers and stakeholders to understand system needs.
  • Design, implement, test, deploy and maintain innovative software solutions to transform service performance, durability, cost, and security.
  • Own the development lifecycle with a focus on developing new features and functionalities for assigned software applications
  • Use software engineering best practices to ensure a high standard of quality for all the team deliverables.
  • Know how to write high quality distributed system software.
  • Work in an agile development environment, where you are always working on the most important stuff.
  • Mentor, teach, and coach other engineers to improve their engineering skills and responsibilities.

Education

  • Bachelor's degree in Computer Science, Engineering, Mathematics, or a related field.

Experience

  • Experience developing software services and an understanding of design for scalability, performance, and reliability.
  • Experience with a variety of modern programming languages (Java, Python, Javascript or C#).
  • 5+ years of experience in the job offered or a related occupation must involve: designing and developing large-scale, distributed software applications, tools, systems and services using Java, Javascript, Python or C#.
  • 5+ years of experience managing and leading teams of engineers.

Qualifications

  • Demonstrated ability to learn new technologies.
  • Excellence in communicating with users, team members, and stakeholders to describe product features, designs and product strategy.
  • Knowledge of professional software engineering practices and best practices for the full software development life cycle

Education

Bachelor's degree