Technical Software Engineering Manager - Android
- Full-time
- Department: Software Engineering
Company Description
Together we make. Come make with us.
Overview
At Cricut®, we believe that we’re all born makers. When we built our first cutting machine, we saw the potential for a simple yet powerful tool to completely transform the way people craft, design, and DIY. Since then, we continue to innovate with new machines, platforms, materials, and tools, but that’s just what we do. Who we are is a bustling worldwide community, a means for connection, and an outlet for unbridled creativity. Join us as we place the power of handmade into the hands of ALL.
Life
Love your work. And your coworkers.
Our company is made up of A+ human beings. We ask tough questions, entertain ideas outside of our own, and work together to make something bigger than ourselves. With Cricut® growing in China, the U.K., Australia, New Zealand, as well as Europe and South America, we’re on an unstoppable roll, satisfying that innate creative itch around the world. We train, develop, and celebrate great work with hallway high fives and promotions within. We also throw the world’s best Halloween party.
Enjoy incredible perks.
We take care of our team. We offer medical, dental, vision, and retirement benefits, as well as pet insurance, 401K match, life insurance, incentive programs, paid time off, on-site massages, phenomenal work-life balance, and employee discounts.
Like what you see? We can’t wait to meet you!
Job Description
- Work collaboratively with fellow department members, project managers, test engineers, and designers to develop and maintain Cricut Android applications
Lead Agile/Scrum development
Lead the engineering team in developing new features, improving existing features and improving the quality of the apps
Work with engineering to figure out architecture, work-breakdown, estimates and schedules
Apply software engineering design patterns to develop well-structured, performant application code
Perform code reviews, write unit and UI tests, and contribute to architectural planning and refactoring
Ensure best coding practices
Collaborate with API teams on API design
Training, mentorship, and development of team members
Qualifications
B.S. or M.S. in Computer Science, Software Engineering, or comparable field
3+ years of relevant software engineering management experience
5+ years of experience in building complex apps and systems with a focus on software architecture & design, multi-threading, memory usage and performance
Required Skills
Excellent interpersonal skills and ability to work well with all levels of engineers and managers
Excellent software architecture & design, programming, problem solving and debugging skills
Extensive experience developing Android mobile native applications in Kotlin/Java
Solid understanding of the full Android mobile development life cycle
Strong knowledge of Android UI design principles and best practices
Experience developing native Android applications on Android 6.0 API level 23 and above
Experience with at least one of these design architectures: MVVM, MVC, VIPER, Clean (Onion Architecture)
Expert in UI layouts and creating adaptive layouts for various hardware configurations
Experience writing custom views and controls
Experience consuming RESTful JSON/XML web services
Experience in testing high volume applications: unit test, integration test, Espresso Test, performance test
Experience using external commercial and open-source libraries
Experience with Git and GitFlow
Experience with Scrum/Agile methodologies
A solid grasp of fundamental algorithms, data structures, and design patterns
Portfolio of apps that you have built, ideally available in the Google Play App Store
Ability to prototype new features and redesign existing ones
Ability to effectively articulate technical challenges and solutions
Ability to communicate effectively, both written and verbal, with technical and non-technical multi-functional teams
Aptitude and desire to independently learn modern technologies
Preferred Skills
- Experience in continuous integration and delivery (e.g., Bitrise)
Experience with the Android Bluetooth stack (Classic, BLE)
Experience in animation and graphics
Experience in dependency injection framework (e.g., Dagger, Hilt)
Experience with Jetpack Navigation
Experience with Android performance profiling tools and optimization techniques
Experience with Open API standard (Swagger)
Experience with push notification
Experience with in-app purchase and subscription service
Working knowledge of Internationalization
Advanced Gradle experience
Nice to have
Proficient in C, C++
Experience releasing app to the Google Play App Store
Experience with Google Firebase Analytics and Crashlytics
Experience with Android NDK and JNI
Familiar with Jetpack Compose
Experience in developing iOS mobile native applications in Swift/SwiftUI
Additional Information
What to Do Next:
Please attach your resume including links to your portfolio where applicable. If you want to show your super powers in other ways – include that information too. You can be sure that Cricut® is an employer who values individuality, equality and diversity, so tell us what you’re all about. If you are a Maker or a DIY enthusiast, whether you think you are a good one or not, we would love to hear about it when you send us your information!
At Cricut®, we celebrate inclusion and diversity. Cricut is an equal opportunity employer and makes employment decisions based on merit. Cricut prohibits discrimination based on race, color, religion, sex, sexual identity, gender identity, marital status, veteran status, nationality, citizenship, age, disability, medical condition, pregnancy, or any other unlawful consideration. All your information will be kept confidential according to EEO guidelines. Cricut participates in E-Verify.