Technical Software Engineering Manager – Machines
Company | Cricut |
---|---|
Location | South Jordan, UT, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s |
Experience Level | Senior |
Requirements
- B.S. or M.S. in Computer Science, Software Engineering.
- 4+ years of relevant software engineering management experience
- 5+ years of experience developing, designing and bringing successful products to market
- Proficient in Swift/C++/Dart development
- Experience programming for hardware interfaces strongly desired
- Strong knowledge of and experience with SDLC and Scrum/Agile methodologies
- Experience with package managers (npm, Maven, SwiftPM, etc.)
- Experience in unit and integration testing
- A solid grasp of fundamental algorithms, data structures, and design patterns a must-have
- Experience with Git in a collaborative environment (pull requests, branching strategies, tags, etc.)
- High critical thinking skills to evaluate alternatives and present solutions that are consistent with business objectives and strategy
- Ability to communicate effectively, both written and verbal, with technical and non-technical multi-functional teams
- Aptitude and desire to independently learn new technologies
- Experience in continuous integration and delivery (e.g., GitHub Actions)
Responsibilities
- Willing to comply with 3-day/week RTO policy
- Willing to do occasional international travel
- Work collaboratively with fellow department members, product managers, software engineers, firmware engineers, hardware engineers and test engineers to develop cross platform (iOS, Android, macOS, Windows) libraries and tools which interface directly with Cricut machines through USB and Bluetooth interfaces (BLE and Classic)
- Lead the engineering team in developing new features, enhancing existing features and improving the quality of the libraries and tools
- Work with engineering to figure out architecture, work-breakdown, estimates and schedules
- Apply best software engineering design patterns to develop well-structured, modular, performant application code
- Perform code reviews, write unit and integration tests, and contribute to architectural planning and refactoring
- Ensure best coding practices
- Training, mentorship, and development of team members
- Lead Agile/Scrum development
Preferred Qualifications
- Firmware experience a plus
- Experience with Google Protocol Buffers a plus
- Expertise in USB and Bluetooth (Classic and BLE) a bonus