Cayuse is committed to empowering organizations to conduct globally connected research that advances their impact on science and society. The Lead Software Engineer will work closely with senior leadership to drive solutions to completion, focusing on the design, implementation, and support of complex SaaS software products. This role involves leading teams, collaborating cross-functionally, and driving design and architecture decisions.
Responsibilities:
- Apply mastery of the software engineering discipline and industry best practices to effectively design, implement, and support SaaS software products and services of moderate to high complexity
- Work on problems of complex scope where analysis requires evaluation of multiple factors of the overall product and service
- Lead offshore and nearshore teams in product development for a suite of products in the research domain
- Work cross-functionally with various teams: product management, quality engineering, DevOps, and across various product lines to deliver integrated solutions
- Drive design and architecture decisions into project teams
- Be a master problem solver, and understand how to drive long term corrective actions
- Be willing to go deep with teams in resolving problems and implementing long term solutions
- Partner with architects to model complex systems, reduce technical debt, and drive integration strategy decisions
Requirements:
- 7+ years of experience developing, maintaining, and innovating large scale web apps and services with at least 2 years in a technical lead role
- BS/MS in computer science, engineering, or mathematics (or equivalent work experience)
- Experience in full-stack development using Microsoft technologies, Angular, and Typescript
- Experience with relational databases and NoSQL databases
- Experience with AWS, cloud architecture, and serverless programming
- Experience with DevOps and Infrastructure as Code (IaC)
- Attention to detail and commitment to producing high-quality, reliable software products
- Strong understanding of software design and architecture principles
- Strong communication skills with demonstrated ability to explain complex technical issues to both technical and non-technical audiences