Senior Android Engineer - Contract
As a Senior Android Engineer at Envoy you will be part of a group that delivers innovative solutions for our clients. We are an agency focused on launching and building brands through connected digital experiences, commerce and product design.
This position is part of a department composed of iOS, Android, QA and DevOps engineers. It requires someone who is team-oriented, technology savvy and driven. You will work collaboratively with fellow department members, project managers, and designers. Our ideal candidate is someone who loves the idea of helping both develop technology and a business.
This position is well-suited to someone who doesn’t fit into traditional, rigid engineering structures. Your day-to-day will be varied with each project having its own needs and challenges. We recognize that great work takes time and effort so we aim to provide an environment that supports that. We also realize that sometimes you need to focus and sometimes you need to interact with peers (even if it’s about an unrelated topic).
Required Skills (Must Have)
- Experience developing on Android 5.1 API level 22 and above
- Technical knowledge of mobile application development and design patterns.
- Have an understanding of at least one of these architectures: MVVM, MVC, VIPER, Clean (Onion Architecture) and why they are necessary.
- Solid understanding of the full mobile development life cycle.
- Ability to demonstrate separation of concerns approach and single responsibility principles.
- Experience using external libraries/tools (e.g. Volley, Retrofit, GSON, etc.)
- Strong knowledge of Android UI design principles and best practices
- Experience with app/code optimizations and benchmarking
- Experience with creating adaptive layouts for various hardware configurations
- Ability to prototype new features and redesign existing ones
- Strong OO-Design experience, as a plus FP (functional programming experience)
- Memory management, experience solving memory leaks and analyzing heap dumps
- Client/Server Integration (RESTful Services, JSON)
- Experience reading crash stack traces from crash reporting tools like crashlytics.
- Database knowledge (SQL variants)
- Strong written and verbal communication skills with all levels within an organization
- Up to date knowledge of the Kotlin programming language and its best practices.
Desired Skills (Nice to Have)
- Advanced Gradle experience
- Experience mentoring junior members
- Technical understanding of operating systems
- iOS development experience
- Experience with UI and Unit Testing in Android Applications (JUnit, Espresso)
- Experience with Unit Testing in Android Applications
- Able to work with Figma, Sketch, Photoshop, Illustrator
- Experience with the Android Animation APIs
- Experience with the Android Bluetooth stack.
- Experience with AWS IoT.
- Experience with social Sign In.
- Experience implementing Firebase Auth, Cloud Store, Analytics and Store.
Duties & Responsibilities
- You master interactive / software processes from an information architecture, user experience design, and technical perspective. Quick thinker, accurate, hands-on, stress tolerant and a problem solver.
- Scope development work
- Introduce new ideas and processes that improve performance and productivity