Background Information - Job-specific
The successful candidate will be working as a developer in a small team of both senior and junior backend and frontend developers, and will work either as a full stack developer or (depending on skillsets) with a particular emphasis on frontend or backend work. In addition to programming, the successful candidate may also be involved in the coordination and oversight of the developer team or members thereof, as well as contribute to sprint and release planning. While the position is home-based, occasional travel to Geneva, Switzerland might be required. The successful candidate will report to the Information Systems Officer, Monitoring Platforms and Tools Section (MATS), in Geneva and work collaboratively with colleagues in OCHA Headquarters locations, as well as other developers working on this and other OCHA projects.
- Design, implement and manage solutions for web applications including system architecture, database models and coding standards
- Develop, iteratively improve and maintain existing and new HPC applications using AngularJS (1.5 and above), Angular (7 and above), Node.js, PostgreSQL, Docker and Solr
- Discuss and improve specifications in conjunction with the project manager and business owners
- Contribute to Agile sprint and release planning
- Review code submitted by team members using the Git workflow model
- Develop and review unit tests
- Work closely with the OCHA-wide infrastructure team for code deployments, troubleshooting and other related issues.
- Develop and review technical documentation for developers and application administrators to support and maintain the system
- Contribute to the wider OCHA software development effort, including participation in regular knowledge interchange, joint events etc.
- Assist with data migrations as needed
- Advanced-level university degree (Master’s degree or equivalent) in computer science, software engineering, information systems, mathematics, statistics or related field.
- A first-level university degree in combination with additional two years, a technical/professional diploma with additional four years, or a secondary school diploma with additional six years of qualifying experience may be accepted in lieu of the advanced-level university degree.
- At least 2 years of relevant experience is required of online database application development and implementation.
- Minimum of 2 years’ experience of developing on a Linux environment.
- Demonstrated experience in web development projects in a consulting or professional services environment, working with cross-functional teams.
- Experience in development of web applications using RESTful API backends
- Experience of code versioning using Git workflow and sprint/release planning
- Experience working both independently and in collaboration with remote, geographically diverse teams - must be very comfortable working via e-mail, chat, IRC, audio/video conference etc.
The successful candidate will also have experience in as many as possible of:
- Developing with AngularJS (v1.5 and later)
- Developing with Angular (v7 and later)
- Developing with Node.js
- Developing with SQL-based open-source databases such as MySQL or PostgreSQL
- Use of Sequelize or similar ORM
- CSS and use of pre-processors such as SASS or LESS
- Management of dependencies, code deployment to various environments and development workflow.
- Working on projects using an agile framework
- Experience of developing web applications in other programming languages would be beneficial.
- Some knowledge of Drupal-based websites, particularly regarding integration of database applications with Drupal front-ends, and website development in PHP would be an asset.
- Some experience working with the public or not-for-profit sector would be an asset.
- Intermediate or fluent knowledge of English is required.
- Knowledge of another UN language (Spanish, Arabic, Russian, Chinese and French) is an asset.
- As this is a home-based role, the successful candidate will need to provide their own workspace, including high-speed internet connection and a local development environment running on Linux or MacOS.