· Develop solutions to complex problems using frameworks and design patterns
· Collect and analyze requirements, then suggest optimal approaches
· Write and test code, keeping non-functional requirements in mind
· Collaborate within an agile team and adhere to scrum best practices
· Review existing code to evaluate ongoing feasibility and maintainability
· Perform impact analysis for proposed system changes or issues
· Offer guidance and recommendations to the product owner to influence product decisions
· Stay up-to-date with the latest Android platform capabilities and provide relevant suggestions
· Communicate technical solutions to a diverse audience, from non-technical individuals to technical architects, through presentations and documentation
· Ensure adherence to the team s coding standards by conducting peer code reviews
· Provide mentorship to junior developers in software engineering and Android best practices
What you need:
· Must-Have Requirements:
· At least 5 years of experience developing native Android applications and 3+ years of Java development experience
· Solid understanding of Object-Oriented Programming concepts, Android app architecture, and software design patterns
· Experience with Android libraries and best practices for interacting with RESTful services
· Proficiency in automated testing using Junit and platform-specific frameworks like Robolectric and Espresso
· Excellent communication skills with the ability to collaborate with stakeholders at all levels (requirements, architecture, and code)
· Familiarity with Agile methodologies
· A degree in Software Engineering, Computer Science, or a related field from an accredited institution
· Nice-To-Have Skills:
· Experience with Kotlin
· Knowledge of emerging Android SDK components
· Robust understanding of design patterns like MVVM and their application to Android development
· Familiarity with security protocols such as OAuth and OpenID
· Experience securing data using the Android Keystore