Position: Senior Android Developer (Kotlin/Java)
Company: Storypoint
Experience required: 3y
English level: upper

**Project Overview:**

 This is a great opportunity to play a key role in a dynamic team, working on cutting edge mobile technology. You are a driver of change and you have yet to meet a technology challenge you cannot resolve. You are dedicated to developing clean code that will help shape the Android mobile software which thrills Cricut users.

**As a team member you will:**

Contribute to high quality mobile app design and architecture;
Apply software engineering design patterns to develop well-structured, modular, performant application code;
Serve as a technical mentor in mobile app development;
Perform code reviews, write unit and UI tests, and contribute to architectural planning and refactoring;
Collaborate with API teams on API design.

**Requirements:**

Advanced level of English, good communication skills;
5+ years of working experience in software engineering;
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 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;
A solid grasp of fundamental algorithms, data structures, and design patterns;
Portfolio of apps that you’ve built; ideally available in the Google Play App Store;
Ability to prototype new features and redesign existing ones;
Excellent problem solving, debugging skills, critical thinking, and communication skills;
Ability to effectively articulate technical challenges and solutions;
Aptitude and desire to independently learn new technologies.

**Preferred Skills:**

Experience in animation and graphics;
Experience in dependency injection framework (e.g. Dagger, Hilt);
Experience with Scrum/Agile methodologies;
Experience mentoring junior members;
Experience with Jetpack Navigation;
Experience with Android performance profiling tools and optimization techniques;
Experience with Open API standard (Swagger);
Experience with the Android Bluetooth stack (Classic, BLE);
Experience with push notification;
Working knowledge of Internationalization;
Advanced Gradle experience.

**Bonus Skills:**

Proficient in C, C++;
Experience in continuous integration and delivery (e.g. Bitrise);
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.