Reporting to Digital Green’s DAAS Product Director, the Program Engineer position will be responsible for supporting the development, validation and release of project software. The position requires critical thinking and problem-solving skills. The Program Engineer is responsible for the design, architecture and overall quality of software solutions
He/ She will support the development of data aggregation products and products to strengthen digital extension channels. Also support MoA and others on the development of use cases and integrating their system.
FarmStack provides a comprehensive solution in enabling public and private organizations work to support smallholder farmers by means of better coordination of approach, systems, and knowledge base through a digital platform that will use data and technology to integrate various components of the extension ecosystem. FarmStack will aid in the development of large-scale dynamic farmer/ farm profiles by combining farmer profiles with localized, time-sensitive data and leveraging existing digital channels. FarmStack will provide tailored content across multiple dissemination channels (e.g., video, IVR, SMS, Telegram, radio) by linking data from public, private and civil society partners across the value chain and will facilitate improved services across the value chain and enable farmers to connect with input providers, financial service providers and markets so that they can not only increase yields but also incomes. Key Responsibilities
Specific responsibilities of the Program Engineer will include, but is not limited to the following: Support the end-to-end development of Digital Green’s digital platform (FarmStack) in partnership with Digital Green’s global technology team and external technology partners.
- Work with team members to understand user requirements and design, develop, test and document software that meet the requirements
- Develop system architecture to solve problems
- Document and demonstrate solutions by using flowcharts, layouts, diagrams, charts, code comments and clear code
- Execute full lifecycle of software development
- Learn new technologies and keep abreast of existing technologies and help introduce them where appropriate
- Analyze system specifications and translate system requirements to task specifications
- Provide analysis of current programs, which includes performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming
- Integrate software components into a fully functional software system
- Document and maintain software functionality
- Tailor and deploy software tools, processes and metrics
- Prepare and install solutions by determining and designing system specifications, standards, and programming
- Protect operations by keeping information confidential
- Regularly meet with the development and support team to discuss progress and issues to be resolved and prepare timely reports to the supervisor on activity status and issues
- Occasional travel to user sites to assess product
- Perform other duties as assigned
Skills and Experience
- BSc Degree in Software Engineering, Computer Science, IT or relevant field of study
- 3-5 years of software development and programing experience
- Hands on experience in frontend and backend development is required
- Must have deep knowledge of Relational Databases, SQL and ORM technologies
- Experience with profiling, load simulation, Linux optimization, and database optimization is required
- Experience with distributed version control is desired
- Mastery in software engineering tools, especially working on the process of software development using agile methodology is required
- Use of project management tools like JIRA, Trello, Slack is desirable
- Familiarity with software development methodology and release processes
- Strong project management and time management skills; highly organized and detail-oriented
- Strong ability to think creatively and strategically
- Excellent written and verbal English; proficiency in Amharic
- Previous work experience with development sector projects is desirable
- Proficiency in common computer packages (e.g. Word, PowerPoint, Excel) relevant to the work
- Able to work independently without any supervision
To be successful as a member of the Digital Green team, you will also:
- Have a passion for our mission and a strong desire to impact an up-and-coming agtech startup.
- Be an innovative and creative thinker – you are not afraid to try something new and inspire others to do so.
- Have a very high level of personal and professional integrity and trustworthiness.
- Have a strong work ethic, take initiative, and require minimal direction.
- Work well independently as well as part of a team.
- Thrive in a fast-paced and fun environment.