Job Title: Senior Software Developer
- eHealth Africa is focused on improving healthcare by creating effective ways to implement reliable health information management systems.
- We have developed eHealth and mHealth solutions that can be rapidly deployed to manage patient information and outbreak response, organize transport of health commodities, streamline clinical procedures, monitor vaccine usage and provide data and analysis on health program outcomes.
- The Senior Developer is responsible for developing and supporting projects, functions and completing specific client work, projects and miscellaneous tasks.
- This highly responsible position involves using established work procedures to analyse, design, develop, implement, maintain, re-engineer and troubleshoot applications.
- Directs technical aspects of operations related to client accounts or high severity issues
- Participates in the evolution of company level software best practices, standards, and policies
- Defines objectives by analyzing user requirements; envisioning system features and functionality
- Works closely with developers and end users to ensure technical compatibility and user satisfaction
- Collaborates with product owners, technical architects and other software developers to plan, design, develop, test, and maintain web- and mobile-based applications
- Provides thought-leadership as to emerging technologies and integrate them into business operations
- Assists in estimation and assessment of feasibility of solutions for upcoming projects
Qualifications and Experience
- Bachelor’s degree from college or university in Computer Science, Computer Engineering, Information Systems Technology or related field.
- A postgraduate degree is desirable.
- Minimum of 5 years of experience in Software Development or an equivalent of education and experience
- Well familiar with the whole software development life cycle (e.g. requirements, analysis, design, implementation, testing, and documentation) and execution models (e.g. Waterfall, Agile, etc.)
- Good understanding of asynchronous request handling, partial page updates, and AJAX
- Good understanding of databases and SQL.
- Some exposure to NoSQL Databases ideal
- Proficient understanding of cross-browser compatibility issues and ways to work around such issues
- Familiarity with front-end build tools, such as Grunt and Gulp.js
- Basic understanding of web markup, including HTML5 and CSS3
- Understanding of accessibility and security compliance
- Knowledge of user authentication and authorization between multiple systems and environments
- Understanding of fundamental design principles behind a scalable application
- Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimizing output to match the specific platform
- Strong unit test and debugging skills as well as proficient understanding of code versioning tools (Git)
- Experience in creation and review of software and architecture designs
- Fluent in English