Mid-Level Software Developer, Level II

Job Title: Mid-Level Software Developer, Level II
Field / Region: Kenya
Location: Nairobi, Kenya
Reports To: Senior Software Developer

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 Level II 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, Level II 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, Level II not only understands one or more languages to a significant depth, but can begin to conceptualize architectural patterns that make up good software design. This deeper knowledge allows this position to take on leadership in several areas of code improvement and refactoring. It is expected that the person in this position will take on a more active role in code review and mentoring of more junior developers, demonstrating specific areas where time-trusted software development standards can be applied to current problems.

Responsibilities

*Please note: this job description is not designed to cover or contain a comprehensive listing of activities, duties, or responsibilities that are required of the employee for this job. Duties, responsibilities, and activities may change at any time with or without notice.

Key Result #1Software Development: Provide expertise and mentoring 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. Interfacing with internal and external stakeholders to develop software requirements, write informative documentation and to provide training and support to users;
  8. Working and interfacing with a technically diverse user community and a multi-disciplined integrated product team;
  9. Participates 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);

  • High integrity and a strong sense of professional ethics;

  • Able to self-manage a diverse and dynamic set of responsibilities, proactively solve problems and / or suggest viable solutions while advancing goals and objectives;

  • Broad background in information technology, databases, software development, security, and related concepts;

  • Able to teach and mentor other programmers, drawing from a strong depth of knowledge in software development best practices.

  • 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;

  • 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 in the US and internationally, to insecure countries or locations.

Education and Experience: Bachelor’s degree from four-year college or university in a related field; three years related experience; or equivalent combination of education and experience.

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

Language: Proficiency in spoken and written English. 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
https://www.fh.org/about/careers/
Nairobi, KE