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