Role Purpose
• You’re responsible for executing development tasks assigned by tech lead or lead developers and executing tasks according to priority list. Also you’re responsible for participating in code reviews, estimations, iterative development and design sessions and building solutions in memory and network-constrained scenarios. Moreover you’re responsible for following coding standards and development best practices set by the organization.
Essence of Role – Key Accountabilities
Impact on the business
• As a junior Android developer, you’re accounted for bringing a critical mind to identifying and solving issues and bugs.
• As a junior Android developer, you’re accounted for analyzing business requirements with proper investigation in details.
Leadership and teamwork
• As a junior Android developer, you’re accounted for participating in team design activities such as suggesting app feature and architecture improvements, recommending process improvements and conducts tool evaluations.
• As a junior Android developer, you’re accounted for eagerness to become expert Android developer.
Innovation and change
• As a junior Android developer, you’re accounted for seeking out challenges that make you grow as a person, and as a software developer.
• As a junior Android developer, you’re accounted for sharing your ideas and raise red flags when appropriate.
Knowledge and experience
• As a junior Android developer, you’re accounted for learning from other engineers and share your knowledge with the team
• As a junior Android developer, you’re accounted for evangelizing the mobile team via open source, tech meetups, and conferences
Communication
• As a junior Android developer, you’re accounted for properly communicate with team mates in a professional and encouraging attitude.
• As a junior Android developer, you’re accounted for collaborating with other cross-functional teams to define, design and ship new features.
Essential
▪ Good knowledge of Kotlin and Java framework.
▪ Good knowledge of Android Core frameworks
▪ Good knowledge of RESTful APIs that connect to back-end services.
▪ Good knowledge of XML and Layout usage.
▪ Fair knowledge of code versioning tools e.g Git usage.
▪ Fair knowledge of Dependency management tools
▪ Fair knowledge of Android design principles and interface guidelines.
▪ Fair knowledge of mobile apps architectures.
Desired
▪ Recent graduate / final year student in a relevant tertiary qualification: degree in Computer Science, Computer Engineering or Information Technology with a Software Engineering focus.
▪ Demonstrated problem solving ability with the understanding to see the implications of solution decisions.
Good understanding of basic software design patterns.
▪ Fair understanding of Agile Practices.
▪ Fair understanding of protocols and products in the following areas:
▪ Mobile development
▪ Fair Understanding of the mobile industry, with a good understanding of the Mobile Device platforms.
Nice to have
▪ Experience of Protocol oriented programming paradigm.
▪ Experience of framework/library creation process.
▪ Experience of unit testing.
▪ Fair knowledge of functional reactive programming (FRP) e.g LiveData.
▪ Fair knowledge of TDD and BDD paradigms.
▪ Fair knowledge of CI/CD process.