Position: Senior Swift Engineer with Applied Math and Geometry for Cricut
Company: Intellias
Experience required: 5y
English level: upper

Responsibilities:

- Work collaboratively with fellow department members, product managers, firmware engineers, test engineers, and designers 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);
- Developing new features, enhancing existing features, and improving the quality of the libraries and tools;
- Apply 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 junior team members.

Requirements:

- Advanced level of English, good communication skills.
- Proficient in Swift programming language;
- Proficient in Applied Math and Geometry;
- A solid grasp of fundamental algorithms, data structures, and design patterns;
- Experience in unit and integration testing;
- Experience with Git in a collaborative environment (pull requests, branching strategies, tags, etc.);
- Experience in continuous integration and delivery (e.g. Bitrise);
- Strong knowledge of and experience with Systems Development Life Cycle and Scrum/Agile methodologies;
- 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.

Nice to have:

- Experience in developing Android, iOS, Windows and macOS libraries/frameworks;
- Experience with CMake – ability to read, understand, and help contribute to current build procedures for cross-platform maintainability;
- Experience with Kotlin programming, a huge plus;
- Experience with package managers (npm, CocoaPods, SwiftPM, etc.);
- Strong Linux command line skills;
- Experience consuming RESTful JSON/XML web services;
- Expertise in USB and Bluetooth (Classic and BLE);
- Experience with OpenCV.