Role: Senior Android Developer
Type: Contract & Full Time onsite
Location: Downtown Toronto, ON.
We're looking for a talented and experienced Senior Android Developer to join our team and help us build cutting-edge mobile applications. You'll play a crucial role in the entire application lifecycle, from concept and design to testing and release, ensuring millions of users have the best possible discovery experience
Responsibilities and Duties
- Support the entire application lifecycle, including concept, design, test, release, and ongoing support.
- Build and evolve modern Android applications to deliver an exceptional discovery experience for millions of users.
- Create functional mobile applications with a focus on writing clean, maintainable code.
- Develop highly secure mobile apps, free of security vulnerabilities, and proactively address any issues identified through ongoing code scans and penetration tests.
- Design user interfaces, adhering closely to established design guidelines.
- Write comprehensive unit tests and end-to-end tests to ensure code quality and stability.
- Contribute to maintaining high code quality, thorough documentation, and efficient automation processes.
Qualifications and Skills
- 7+ years of relevant work experience as a Android Mobile Developer.
- Multiple years of experience using Kotlin with MVVM and MVP architecture.
- Extensive understanding of Android framework components and their respective lifecycles.
- Strong computer science fundamentals, including data structures, algorithms, and programming languages.
- Proven experience working closely with product teams, designers, and other developers to create truly delightful mobile experiences.
- Experience developing highly performant Kotlin code and view layouts, with the ability to diagnose performance bottlenecks effectively.
- Current and detailed knowledge of the capabilities of different Android API levels.
- A disciplined approach to development, testing, documentation, and code structure within a team environment.
- Familiarity with the Android tool ecosystem for development, testing, debugging, and performance benchmarking.
- An excellent understanding of best practices for concurrency and threading.
- Familiarity with RESTful APIs to connect Android applications to back-end services.
- At least three years of engineering experience, a large portion of which has been in a team environment.
- A firm understanding of Object-Oriented Programming (OOP) design principles.
- Good understanding of code versioning tools (Git).
- A constant desire to improve, learn more, and elevate your skills and contributions.
Bonus Points for
- Experience in a continuous integration and continuous delivery (CI/CD) environment.
- Experience with Native iOS or using cross-platform technologies like React Native or Flutter.