Job Title: Mobile Developer
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.
As a member of the Information Technology team, the Mobile Developer is responsible for the delivery of reliable Android applications and writing code that adheres to industry best practices and FH programming policies. This role is expected to be able to work independently on multiple projects, with the ability to multitask and attend meetings with FH product owners as required. Additionally, this role will provide support for key business applications. The Mobile Developer is key to contributing to the design, implementation and support of in-house solutions that support the business operation worldwide. This includes, but is not limited to data collection, metrics and reporting, database and product integrations.
*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 #1 – Software Development: Provide expertise in the area of Java code for mobile applications (85%).
1. Design, build and maintain advanced applications for the Android platform;
2. Analyze system specifications and translate system requirements to task specifications;
3. Contribute to , enforce and maintain coding standards following industry best practices;
4. Ensure and contribute to quality software development policy using automated testing;
5. Collaborate with cross-functional teams to define, design, and develop new product features;
6. Responsible for writing supporting documentation as needed;
7. Participates in the planning process on assigned projects;
8. Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
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);
• Able to self-manage a diverse and dynamic set of responsibilities, proactively solve problems and / or suggest viable solutions while advancing goals and objectives;
• Proven software development experience and Android skills development with a focus on Java, HTML, CSS, JSON, MySQL, PostgreSQL, RESTful services;
• Experience with technologies used to support offline data collection with native Android applications such as RabbitMQ, SQLCipher, Hive2Hive, Realm, Lyra, Nexus Dialog, Protostuff and GSON;
• Working experience with automated testing tools such as JUnit, DBUnit, Spock, Cucumber, Appium, Espresso, Selenium or similar;
• Broad background in information technology, databases, software development, security, and related concepts;
• 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;
• Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies;
• Able to interpret an extensive variety of technical instructions in mathematical or diagram form and deal with several abstract and concrete variables;
• Demonstrated computer operating skills, including proficiency in Microsoft Office products, Google platform, and virtual technologies such as Skype and/or GoToMeeting;
• Excellent organizational skills; ability to plan and coordinate work, ensure the efficient flow of projects and processes;
• 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 in the US and internationally, to insecure countries or locations.
Education and Experience: Bachelor’s degree from four-year college or university in Computer Science, IT, Engineering or a related subject; at least three years of software development experience and 2+ years of active Android development – Java; Must have published at least one original Android app; or equivalent combination of education and experience.
Supervisor Responsibilities: This position does not have direct supervisory responsibilities.
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.