Project Overview:

Cricut is looking for a highly motivated and talented Senior Engineer with excellent qualifications to help design and build cross-platform libraries and tools to communicate directly with Cricut machines. The position demands a candidate capable of doing high-quality work against technical and schedule challenges while following strong software design and process principles. You will work in a fast-paced environment, to deliver world-class products that delight our customers and help grow the business. You live for the best customer experience and are passionate about building great software. You are a driver of change and you have yet to meet a technology challenge you cannot resolve.

Рекрутерка
Ганна Ігнатьєва
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.

Тебе також можуть зацікавити

Чому варто приєднатись до команди INTELLIAS

У нас ти знайдеш доброзичливе середовище та можливості навчатися й зростати щодня.

Можливості релокації в INTELLIAS

Отримуй новий досвід та відкривай нові горизонти, знаходячись лише в декількох годинах подорожі…

Підтримка здоров’я та спорту

Ми докладаємо максимум зусиль, щоб забезпечити комфортні умови для консультантів компанії, та піклуємося…

Як стати частиною команди INTELLIAS

Ми робимо все можливе, щоб спростити та прискорити твій шлях до нашої команди. Будемо раді бачити тебе...