Mid-Level Software Developer

This position will reside in Nairobi, Kenya; the most appropriate candidate will be eligible to work in, and already reside in Nairobi, as an expat benefit package is not available.

Values, Vision, and Purpose
At Food for the Hungry, we operate under a set of guiding principles we call “The Heartbeat.” This includes our Values, Vision, and Purpose, which serve as the explanation of who we are and how we work as an organization. Together we follow God’s call responding to human suffering and graduating communities from extreme poverty.

Position Purpose
As a member of Food for the Hungry’s Information Technology team, the Mid-Level Software Developer is responsible for working towards the delivery of reliable software and writing code that adheres to industry best practices and FH programming policies. This position is expected to collaborate with co-workers and FH product owners as required to ensure needs are met and successfully deliver all assigned projects. The Mid-Level Software Developer will also provide support for key business applications. This is a critical role in contributing to the design, implementation and support of in-house and off-the-shelf solutions that support the business operation worldwide. This includes, but is not limited to data collection, metrics and reporting, website development, mobile apps, database and product integrations. A Mid-Level Software Developer will produce working code with less supervision and while thinking about performance and maintainability; understands what the tools are doing for them, digs into source code often to understand how it works and also finds undocumented usage of tools; does a solid job of troubleshooting and debugging.
 

Key Result #1 – Software Development: Provide expertise in the area of code development (85%).
1. Assist with the design and development of complex and diverse software systems as assigned;
2. Analyze system specifications and translate system requirements to task specifications;
3. Contributing to the creation of new distributed components and interactions that align with the future software and system architecture;
4. Contribute to, enforce and maintain coding standards following industry best practices;
5. Ensure and contribute to quality software development policy using automated testing;
6. Communicate with technical and non-technical groups, making presentations to customers and peers;
7. Interface with internal and external stakeholders to develop software requirements, write informative documentation and provide training and support to users;
8. Work and interface with a technically diverse user community and a multi-disciplined integrated product team;
9. Participate in the planning processing on assigned projects;
10. Serve as a mentor on procedural matters to less experienced internal and third-party team members;
11. Maintain software solutions through performance tuning, improvement, balancing, usability, and automation;
12. Introduce methodologies and best practices that enhance product definition, release processes and customization of applications to user needs;
13. Excel in rapid application development and management of technological issues for assigned projects.

Key Result #2 – Application Support: Provide support for key business applications (15%).

1. Respond promptly and professionally to bug reports and application support issues;
2. Provide assistance to testers and support staff as needed to determine system problems;
3. Responsible for analysis of applications including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming;
4. Responsible for analyzing current programs and processes, and make recommendations which yield a more cost effective product.

Qualifications: To perform this job successfully, an individual must be able to perform each essential duty/function satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

• Vibrant personal relationship with Jesus Christ and Christian commitment to serving the poor and in full agreement with FH’s Christian foundation and beliefs as expressed in The Heartbeat: our Values, Vision, and Purpose;
• Excellent people skills including warmth and sensitivity, conversational, able to relate to and effectively communicate with people from different cultures (at various levels within the organization);
• Broad background in information technology, databases, software development, security, and related concepts;
• Able to self-manage a diverse and dynamic set of responsibilities, proactively solve problems and / or suggest viable solutions while advancing goals and objectives;
• Advanced programming knowledge, skills and experience in web based application development with a focus on JavaScript (AngularJS, JQuery) HTML, CSS, PHP development with WordPress, Laravel 5, MySQL, PostgreSQL, MS SQL Server and RESTful services;
• Working experience with automated testing tools such as PHPUnit, Jasmine, Karma, Protractor, Selenium or similar;
• Knowledge of project management tools and processes such as Scrum or other agile methodologies;
• Ability to design and develop using Object Oriented design principles and software design patterns to attain high reusability and maintainability;
• Must have strong debugging and troubleshooting skills;
• Must be able to work collaboratively with a distributed team;
• Excellent organizational skills; ability to plan and coordinate work, ensure the efficient flow of projects and processes;
• Direct experience designing and developing software for a real time system;
• Flexible and willing to accept a change in priorities as necessary;
• Strong written and verbal communication skills;
• Good conflict resolution skills;
• Demonstrated computer operating skills, including proficiency in Microsoft Office products, Google platform, and virtual technologies such as Skype and / or GoToMeeting;
• Practical working experience with a variety of business information applications, including collaboration tools, accounting and finance, communications, and enterprise level databases;
• Ability to sit at a computer for up to 8 hours a day doing repetitive motions on a keyboard;
• Ability to lift up to 25 pounds above shoulder height;
• Medical fitness to live and travel in rural and urban areas with extreme conditions and limited medical support;
• Ability to travel up to 10% of time per year (domestically and internationally), to insecure countries or locations.

Education and Experience: Bachelor's degree in ICT or related field from a recognized University coupled with 3 years related experience; or equivalent combination of education and experience.

Supervisor Responsibilities: This position does not have direct supervisory responsibilities. However, will participate in interviewing, hiring, and training employees; planning, assigning, and directing work within assigned projects as required.

Language: Proficiency in spoken and written English. Understanding one or more languages deeply is a benefit. Ability to read, analyze, and interpret general business periodicals, professional journals, technical procedures, or government regulations. Ability to write reports, business correspondence, and procedure manuals. Ability to effectively present information and respond to questions from groups of managers, clients, customers, and the general public.

Food for the Hungry
www.fh.org
Nairobi, KE