Job Description
Nair Systems is currently looking for Android Developer for our UAE operations with the following terms & conditions. EXPERIENCE AND QUALIFICATIONAt least 5 years of software development experience with experience working in Agile teams using SCRUMExtensive mobile development experience using Android, Android Studio and Gradle to develop both phone and tablet apps.Extensive experience with Android SDK, Google Play Services, and Android Compatibility Library.Experience in Android development patterns – including Java OOP, MVP, SQLite, JSON/Rest APIs, and multi-threading/background tasks.Experience with Android front-end/UI development (with knowledge of Google Material Design), Web services & XML/JSON/REST connectivity/consumption, and local storage/databases/SQLite.Experience with common Android libraries such as Dagger2, Retrofit2, etc.Experience with build tools such as FastlaneExpert knowledge of using and writing Android LibrariesExtensive experience with Playstore deployments and has deployed apps to the PlaystoreExtensive experience of TDD and writing unit and UI tests using Junit, Mockito, espresso, etc.Experience with code coverage and unit testing tools JaCoCoExperience with converting High-Fidelity designs to mobile UI, familiarity with tools such InVision and Zeplin.Experience with IBM Mobile First Platform is preferredExtensive experience with Git, such as branching, merging, tagging and Pull Requests.Experience with development processes and tools e.g. crash reporting, debugging, Atlassian JIRA/Confluence, etc.Experience with mobile CI-CD (Jenkins or similar) is preferredExcellent programming skills in at least 2 modern programming languages/ frameworks, such as Swift, Objective C, Java, Node.JS, JavaScript, C, C++, Python, or others.Infrastructure knowledge including RESTful APIs, Single Sign On, LDAP, Search TechnologiesExperiences with code refactoring, design patterns, design-driven development, continuous deployment, highly scalable applications, application security
Skills
SKILLSReal passion for development and a demonstrated appetite for continual learningKnowledge of pair programming, continuous integration and test-driven developmentFamiliarity with the concepts of Functional Programming and Microservices is a plusCommunity contributions (e.g., open source work, GitHub, StackOverflow, publishing / speaking on technical ideas) is a plusShould be a change agent that always challenges status quoFluent in EnglishResponsibilitiesUse Agile engineering practices and various software and mobile development technologies to rapidly develop creative and efficient solutions that enhance the client customer and employee experienceWork in a team to craft clear user stories, design tests for prototypes and products, and continuously deliver product enhancementsLiaise with other teams within and outside the Digital unit to negotiate timelines, deliverables and dependenciesCollaborate closely with Product Owners, Designers and team members to identify and socialize product and delivery risksDrive forward and role-model best practice engineering processes and Agile behavior and ensuring teams members follow suitCommunicate with business stakeholders about Agile processes to set and manage expectations about delivery methods and timelinesOwn and drive best practice in terms of automation such as continuous integration and deployment