We are seeking a short-term hire for a highly motivated and results-oriented Full stack software developer to join our team at ACRE Africa.
Role Title: Full Stack Software Developer (Consultant)
Department or Function: Location : Nairobi, Kenya (HQ), Project Term : 3 Months
Reports to Role: Digital & Technology Programme
ABOUT ACRE AFRICA
Agriculture and Climate Risk Enterprise Ltd (ACRE Africa), a subsidiary of ZEP-RE is a for-profit social enterprise and designer of risk management solutions for farmers with operations in Africa since 2009. ACRE Africa specializes in linking smallholder farmers to agriculture and climate risk management solutions among them climate information services, climate change adaptation strategies and tailored agriculture insurance to enhance their resilience towards agricultural and climate change related shocks.
OVERVIEW OF THE ROLE
We are seeking a short-term hire for a highly motivated and results-oriented Full stack software developer to join our team at ACRE Africa. The Full Stack Software Developer, reporting to the Manager, Digital & Technology Programmes, is responsible for software development, system maintenance, and ensuring the availability, performance, and security of systems. This role involves collaborating with cross-functional teams to enhance existing features and develop new functionalities while maintaining a high standard of code quality and documentation.
|Knowledge & Capabilities
Education: Bachelor’s degree in computer science, software engineering, information systems, or a related technology field.
Experience: Proven experience as a programmer or software developer, including troubleshooting user support issues and testing components for quality application delivery.
Programming Proficiency: Strong programming skills in C#, and familiarity with PHP, Python, cross-platform mobile app development, USSD, and SMS development.
System Design Principles: Deep understanding of designing complex systems, including modularity, scalability, flexibility, and maintainability.
Architecture Patterns: Proficiency in architectural patterns like microservices, monolithic, serverless, and event-driven architectures, and choosing the appropriate one for the project’s needs.
DevOps Knowledge: Experience with Git deployment, automation of CI/CD pipelines, version control, containerization.
ODK Expertise: Experience in configuring, setting up, tweaking, and integrating ODK tools.
Database Skills: Proficiency in relational databases and SQL. In-depth knowledge of various databases (SQL, NoSQL, MysQL, MSSQL, caching) and when to use each based on the application’s requirements.
API Driven and Micro service design: Experience with RESTful and SOAP APIs, as well as microservice-driven and API-driven system design. Both consuming external APIs and creating your own, for dynamic applications.
Front-End Frameworks: Familiarity with popular frontend frameworks like React, Angular, or Vue.js, and backend frameworks like Django, Ruby on Rails, Spring Boot, or Express.js to speed up development and maintainability.
Agile Methodology: Experience working with agile software development methodologies.
Advanced Expertise: Proactively developed expertise in end-to-end processes and technologies related to Machine Learning, Blockchain, and IoT.
Layer Management: Proficient in managing development layers, including local and test environments, server and OS setup, database management, application layer, and presentation layer for web and mobile applications.
Software Development: Collaborate with product managers, product owners, and system analysts to execute programming and software development tasks.
Server Environment: Configure server environments using DevOps technologies like containerization and load balancing to ensure reliable platform operations.
Collaboration: Work with internal staff, external partners, and testers to create new features and improve existing ones.
Technical Input: Participate in technical discussions regarding system features, processes, and functions.
Code Quality and Documentation: Deliver high-quality code and thorough technical documentation. Assist fellow developers with integration efforts.
Troubleshooting: Address technical issues with user-centered solutions, including bug fixes, refactoring, and identifying areas for enhancement.
System Management: Maintain and secure existing data and software environments to sustain optimal performance.
The statements provided are a general overview of the expected work level and nature of this role. They should not be interpreted as an exhaustive list of all responsibilities, duties, and skills required for individuals in this position.
Interested candidates should submit a CV and a cover letter to be sent to email@example.com and cc firstname.lastname@example.org. Closing date: 25th August 2023.
Shortlisting and interviews will be conducted on a rolling basis. Only qualified candidates will be contacted.