C/C++ Software Engineer

  • Full-time
  • Department: Software Engineering

Company Description

Cricut® is the global leader in the connected DIY technology space, and let’s face it, if it’s going to be done right, you have to do it yourself! Cricut is recognized as one of the craft industry’s forerunners in innovation and design and for good reason. The “Cricut” is an electronic cutting machine – like a printer that cuts – that empowers our talented users to design their own projects by cutting intricate patterns with over 100 different materials ranging from paper and cardstock to iron-on and adhesive vinyl and even thicker materials like chipboard and leather. Using our cloud-based Design Space® software, our customers weld, slice, and finagle shapes and images of all sizes using digital content from our library or uploaded from the web to make personalized cards, posters, custom t-shirts, home décor, even quilting and sewing projects. Science projects that win ribbons and get A’s, check! Valentine Cards that make your lover melt? You bet. Quilts? You mean you don’t have to be a grandma to sew a quilt? The possibilities are endless. If anyone is telling themselves, creativity is not my forte—well, we’ve got that covered too. Our customers can select from over 3,000 Make-it-Now projects which make DIY easier than ever before. We sell the machines, the materials, and the digital content that makes it all possible.

Job Description

Cricut is looking for a Software Engineer with 3-5 years of deep knowledge in C/C++, Data Structures, bluetooth and USB API's on Mac and Windows.

What you’ll be doing…

  • Work in C++ and CMake to build cross platform libraries (iOS, Android, Mac, Windows) which interface directly with Cricut machines through USB and Bluetooth interfaces (BLE and Classic).
  • Define and implement APIs for Java (JNI), JavaScript (CLI), and Objective-C/Swift around said libraries for clients to consume while working in a Kanban/Scrum type of environment.

Qualifications

  • Demonstrable professional experience with C++ (apps deployed in Google Play, iOS App Store, Mac, or Windows environments).
  • Previous experience with CMake – ability to read, understand, and help contribute to current build procedures for cross platform maintainability.
  • Previous experience with Git in a collaborative environment (pull requests, branching strategies, tags, etc.).
  • Previous experience with package managers (npm, cocoapods, maven, nuget, etc.).
  • Be an effective self-starter/contributor:
    • Help define what features/bugs should be worked on in the system.
    • Produce code which fulfills said features/bugs.
      • Check in, pull request, version, deploy, and deliver updates to stake holders of those features/bugs.
    • Review other team member’s work as they do the same.

Additional Information

\Please send a resume and note about why you are the best Engineer for this position. You can be sure that Cricut is a workplace who values individuality and variety, so write to us in your real voice and tell us what you’re all about. Please submit any online presence you may have (Github, Twitter, Instagram, Facebook, Fan pages made because of you), and if you are a DIY enthusiast, whether you think you are a good one or not, that means a lot to us, and we would love to hear about it when you send us your information.