Android Developer
Minimum Qualifications
- Experience developing Android apps using Java/Kotlin
- Solid understanding of the Android SDK and Android Studio
- Solid understanding of Dagger, RxJava, Coroutines, LiveData, Navigation Components, and Android Architecture Components
- Ability to write clean code and offer meaningful feedback in pull requests
- Knowledge of testing and debugging tools for mobile applications
- Experience communicating with Web Services
- Experience working as part of an Agile team
- Exceptional written and verbal communication skills
Preferred Qualifications
- Bachelor’s degree in computer science, information technology, or a related field or equivalent experience
- User interface implementation experience
- Team-oriented experience
- History of supporting applications in the Google Play Store
- Experience using Continuous Integration tools like Fastlane or CircleCI
- Experience with SCM systems, especially GitHub
Job Summary
The Android Engineer works on a project-by-project basis with other engineers, web developers, and business and marketing team members to create an intuitive experience for mobile users. This includes creating, extending and improving native mobile applications for Android; leveraging an internal web service framework; building solutions; and maintaining existing applications, all in a high-energy environment.
Responsibilities
- Build great mobile apps by working with other engineers, architects, quality engineers and product managers / product owners to solve new and existing technical challenges
- Understand requirements, implement solutions and provide administration tools and documentation for specific projects
- Follow and enhance existing development processes
- Measure and verify that new and old code has acceptable performance and scalability
- Deliver accurate estimates, provide regular feedback and consistently meet project deadlines
- Mentor other mobile software engineers by teaching mobile coding techniques, assisting with debugging issues and testing, and explaining what issues could lurk within high-level designs
- Develop and/or perform software automated testing procedures, solutions and frameworks to ensure mobile apps function as needed
- Translate business requirements and specifications into usable app features
- Understand and assist with the technical infrastructure of multiple applications and services
- Troubleshoot performance issues
- Lead design and code reviews
- Determine, execute and help in continuous improvements to app deployment processes
- Anticipate and communicate blockers, delays and cost ballooning within the team’s projects before they require escalation
- Ensure expectations with the team and external stakeholders are clarified between all parties involved
- Be aware of and support best practices from a security perspective
- Participate in discussions about the team’s future vision and strategy