- Responsible for working on different layers of the Android apps
- Help architect and maintain our set of native mobile applications
- Building applications in memory- and network-constrained scenarios
- Influence every aspect of the Android development process from API creation, design, and product
- Own important pieces of the product that has high visibility both internally and externally
- Participate in the full SDLC (RUP/Agile), including meetings, iterative development, estimations, and design sessions
- Partner with Software Engineers, UX/UI, Quality Engineers, Product Owners/Analysts to deliver high performing quality customer experiences that are engaging, purposeful and powerful in their simplicity
- Remain an active learner in all technologies related to mobile development (Android, Kotlin, 3rd party libraries, etc.)
- Identify technical obstacles early and work closely with the team to find creative solutions
Android Developer Requirements:
- 5 years of Experience in software development with a strong command of object-oriented principles
- Bachelor's degree required in Computer Science, Software Engineering, Electrical Engineering or related field or equivalent experience
- Deep understanding of Android UX and UI design paradigms
- In-depth knowledge of Android – Kotlin, J2EE/J2ME, Android SDK, Android application development tools, including Android Studio, and ADT Experience integrating with RESTful API backends
- Demonstrable experience with real-world Android projects for the App Store or Enterprise distribution
- Experience building and delivering highly scalable, reliable, and complex software systems on-time and on budget
- Knowledge of professional software engineering best practices for the software development life cycle, including coding standards, code reviews, source control management, continuous integration, build processes, testing, and operations
- A commitment to writing quality code including writing Unit and UI Automated tests
- Experience in communicating with users, other technical teams, and project management to understand requirements, describe software product features, and technical design