The right person for this role will have a strong understanding of the web stack to create performance-minded features. They will deal well with ambiguity and can work with the right people and utilize the right resources to still deliver a viable product. As a manager, you will work with the team to help the team grow, set the right patterns to be used, and lead by example.
- Manage a team of individual contributor software engineers and leads
- Perform regular 1-1s with your reports, helping them to resolve issues, improve their skills, grow their careers, and overall make them as productive as possible
- Provide direct reports with ongoing performance feedback and complete official performance reviews as outlined by HR department
- Serve as an architect, technical lead, mentor, and subject matter expert for the engineering team
- Owner for several large components or infrastructure items and responsibility for maintaining high availability in a 24x7 service.
- Work with Engineering Team, Senior Leadership, Program Management, Product Management, and Operations to deliver agreed upon goals and meet deadlines
- Be proactive in proposing solutions to improve our engineering process, architecture, codebase, and reliability of our software solutions.
- Spend a portion of your time developing software yourself: designing, writing, and testing code.
- Strong advocate for high code quality, test coverage, maintainability, and reliability,
- Play a key role in the hiring process by screening, and interviewing candidates.
- Serve as a professional example for others to follow by being diplomatic, pragmatic, and respectful when dealing with internal and external contacts.
Desired skills and experience:
- 10+ years experience with software engineering
- 8+ years’ experience as a people manager
- 3+ years managing software engineering teams of 5+ people
- Expert ability to write code and debug large existing codebases
- Experience building single-page web apps utilizing modern technologies such as Service Workers, Web Workers, and IndexedDB.
- Strong understanding of source code version control systems, Git, Github, and code branching/merging strategies
- Deep understanding of data structures and algorithms
- Strong engineering design patterns to promote loosely coupled systems
- Very strong OOP skills with ability to evaluate code designs with respect to maintainability
- Deep understanding of web technologies, HTTP protocol
- Excellent verbal and written communication skills, and ability to write thorough software design specification documents.
- Ability to work autonomously, with minimal supervision from manager, to achieve engineering goals
- Extensive experience interviewing software engineer candidates
Nice to have:
- Strong experience with VueJS framework
- Experience maintaining a live 24/7 software system
- Experience with one or more strongly typed language (C#, Java, etc.)
- Experience with TDD or BDD
- Experience with Jira and Confluence
- Experience working in a fast-paced startup-like environment