Software Engineer II - Android at Kyosk Digital Services
- Published date: December 6, 2023
- Category: IT, ICT & Software
-
- Location: Nairobi, Nairobi
- Jop type:
- Salary: Ksh Not mentioned
- Company name: Jobs in Kenya
Job Description
Role Profile:
Kyosk is looking for a passionate Software Engineer II - Android to help strengthen the development competency of a team of software engineers who are developing solutions on the leading edge of innovation in Africa. The successful candidate will play a supporting role in the full SDLC of the team's output.
As a Software Engineer II, you’ll join our growing team of Product and Technology professionals who share a passion for leveraging technology to empower informal retailers across the African continent. You’ll work with teams from multiple countries across the organization to imagine and build innovative solutions for Kyosk’s customers and internal teams.
To be successful in this role you will need to be passionate about using technology to solve real world problems. You will contribute to high quality, resilient, scalable software using industry best practices.
Key Responsibilities
- Contribute to the design of technical solutions
- Deliver working software implemented from technical designs
- Investigate and resolve errors
- Adhere to Kyosk's development processes
Minimum Technical Requirements:
- 3 years of software development experience
- Experience working with Agile methodologies
- Experience with administrative tools, e.g. Issue Tracking, Wikis, etc
- Working knowledge of dev tool chain (e.g. IDE, CI/CD, version control)
- Android: Working knowledge of
- Basic knowledge of containerization and orchestration
- Experience implementing components of a system from technical designs/specifications
Minimum Behavioural and Soft Skills Requirements:
- Strong work ethic
- Focus on delivery
- Punctual
- Works mostly independently
- Passion for learning
- Considerate of value chain outside of sphere of responsibility
Desired Technical Competencies:
- 3-5 years experience of the full SDLC (analysis, design, development, testing, integration, deployment, documentation, triage)
- Kotlin - Extensive experience in developing Android applications using Kotlin, including familiarity with Kotlin's advanced features and integration with Android SDK.
- XML for UI Implementation - Proficiency in using XML for designing UI layouts, styles, strings, menus, preferences, drawables, animations, navigation, and data storage in Android applications.
- Product Design Implementation - Proven ability to collaborate with design teams to accurately translate mobile app mockups and specifications into functional user interfaces.
- SQLite Experience - Proficiency in SQLite for Android, including database creation and management, executing CRUD operations, building complex queries, managing transactions, using prepared statements, designing schemas, validating data, utilizing helper classes, tuning performance, handling migrations, managing backups/restores, and testing data access code.
- JUnit - Demonstrated expertise in implementing unit testing for Android applications using JUnit - added advantage
- Apollo Client for GraphQL - Experience integrating Apollo Client in Android applications for effective GraphQL API interactions and data management - added advantage
- Truth - Experience with Truth, an assertion library, to enhance test readability and maintainability in Android application development - added advantage
- Mockk - Familiarity with Mockk for effective mocking of classes in Kotlin unit testing, aiding in test efficiency and reliability.Knowledge of test-driven development practices is essential - added advantage
- Experience in e-commerce, payments, and/or distribution of FMCG products - added advantage
- Basic knowledge of the shift-left approach
- Working knowledge of system non-functional requirements (e.g. code readability, maintainability, scalability, extensibility, testability, etc)
Desired Behavioral Competencies
- Ability to give reasonably accurate time estimates
- Constantly seeks to improve tech and processes to streamline development
- Ability to work under pressure, with tight timelines and ambitious deadlines
- You have integrity: you do what you say you will do and make no excuses.
- Promote psychological safety in the team, as well as across the entire organisation.
Method of Application
Related jobs
-
ICT Digital Skills Trainer at SOS Children's VillagesJobs in Kenya
The mission of the Position The Digital Skills Trainer works as a member of the Digital Skills Project for the Eastern and Southern Africa region based in Nairobi, Kenya. She/he is responsible for providing training to staff and programme participant...
-
Senior Software Engineer at CanonicalJobs in Kenya
This role deals with critical issues in the open source stack that require software engineering for upstream fixes. Our engineers have to be able to work productively at any level of the sack above the kernel, in a wide range of languages, to underst...
-
Senior Support & Software Engineer, Saudi Arabia at CanonicalJobs in Kenya
What Your Day Will Look Like Apply your knowledge of Linux virtualisation using Libvirt/KVM, containers and Kubernetes along with your knowledge of TCP/IP networking to support customised solutions for our customers. Be the technical authority and de...