R Job Title: Senior Android Developer Reports to: Practice Head: Mobile Services ROLE OVERVIEW Rolverview The employed individual will be challenged with access to a range of projects at clients across industries, working with other experienced technologists whose single pursuit is optimal value creation for our customers through the construction of peerless solutions. This dynamic self- starting individual will be involved in the definition of development best practices and serve as team’s authority on creation of code quality and development of sound front-end architecture to ensure successful delivery on hundreds of software development assignments. You would have the opportunity to be involved with both consulting projects and internal projects. KNOWLEDGE AND SKILLS KNOWLEDGE AND SKILLS Interaction design and user experience guidelines Android SDK and Java Design patterns Parsing and consuming XML and JSON Working with RESTful services Unit testing, integration and functional testing Using version control systems – Git, SVN, TFS Solutions design and implementation Improving the design of existing code Keep up to date with technology Ability to Multitask System design and analysis Ability to conceptualise and simplify complex problems Ability to read and write specifications Good communications skills Ability to self-manage and not rely on detailed instruction from a manager ATTITUDES competencies Enthusiastic and committed Work with minimal supervision Work in a team environment Ability to work under pressure Delivery focused Work to achieve tight deadlines Professionalism (conduct and appearance) Motivated Show initiative Awareness of the environment RESPONSIBILITIES Developing, maintaining and debugging of software applications Testing of independent modules and complete applications making use of automated and manual testing techniques Working with project managers, technical leads and customers to provide task estimates, report on progress and discuss implementation details Following and contributing to the improvement of software architecture, coding standards and practices being observed within the team environment Designing of solutions that are maintainable, efficient, performant and secure Refactoring source code to improve system design Resolving software defects in collaboration with software test analysts Conducting peer reviews of project code Consume and create technical documentation such as specification documents, UML diagrams, user stories, wireframes etc. Using a version control system to manage code changes Configure, optimise and deploy applications for public release Managing the submission of applications to online repositories and app stores MINIMUM REQUIREMENTS Bachelor’s Degree in Informatics, Computer Science, Engineering or other related qualification 5 years’ experience in mobile software development Preferably in a banking, insurance or telecoms industry Experience in SDLC methodologies such AGILE (SCRUM) TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED: Knowledge of Android First party API’s/Frameworks ( Services, Broadcast Receivers, Notifications, Camera etc.) Good knowledge of Jetpack libraries ( Navigation, Room., ViewModels, Work Manager etc.) Understanding of different programming paradigms ( Reactive, Functional etc ) MutiThreading in Android ( eg. Coroutines ) Deep dive into Unit testing with Frameworks such as PowerMock, Mokito, MockK Deeper knowledge of Architectural approaches like Offline-First, Redux based architecture like MVI and common ones like MVP and MVVM Knowledge of common Android Design patterns Knowledge of Dependency Injection and Frameworks ( Dagger , Koin , Kodein) Basic knowledge of Clean Architecture Basics of Unit Testing (JUnit) Understanding of Data Binding Basics of DevOps in Android R
Senior Android Mobile Developer
Cracker Barrel
Mobile App Developer - (iOS/Android)
Pavago
Android Developer ZA 5
Simera Talent
Android Developer ZAF
Simera Talent
Java Android Developer (CIS)
Legacy People
Senior Android Developer (Remote)
Pragmatike