PRIO conducts research for a more peaceful world, and is committed to using the best of what technology has to offer to achieve that purpose. Having been at the forefront of data-driven social science research since its foundation in 1959, PRIO seeks to strengthen its data science competence by inviting applications for a Senior Developer. The successful candidate will join the team developing VIEWS – the Violence & Impacts Early Warning System that seeks to develop an early-warning system for the humanitarian impacts of armed conflict.
We offer challenging programming tasks and substantial learning opportunities within a positive, dynamic, and international research environment. VIEWS is a collaboration between the Peace Research Institute Oslo (PRIO) and the Department of Peace and Conflict Research (DPCR) at Uppsala University, under the direction of Professor Håvard Hegre. With funding from the European Research Council, VIEWS has developed an armed conflict warning system. This system is currently being expanded to also forecast the impacts of armed conflict. To facilitate development of the system as well as monthly updates, VIEWShas developed an extensive codebase.
The current team involves one dedicated programmer, several researchers, PhD students, and research assistants with excellent data science skills, as well as scholars specializing in the humanitarian side of armed conflict. In addition to writing for the scientific community, we collaborate extensively with governments and IGOs that seek to reduce the intensity and impact of armed conflict globally.
As a Senior Developer, you will:
- Work together with a diverse team of researchers (programmers, social scientists, statisticians, natural scientists etc.) focusing on developing a large machine learning pipeline for forecasting armed conflict.
- Further develop and maintain our data-as-a-service infrastructure – a production-grade microservices-oriented system for large-scale data management and data delivery built to serve an academic machine learning community.
- Expand the data storage architecture (currently a custom-built PostgreSQL setup) as well as maintain and expand the distributed extract-transform-load (ETL) toolkit custom-built for data ingestion and management.
- Contribute to model development in VIEWS in collaboration with the team, a broad range of data-science tasks from feature engineering via development of machine-learning algorithms and evaluation procedures, to the representation of uncertainty.
- Organize the code that defines our current forecasting models and produces monthly updates, in collaboration with the team of researchers.
- Interact with researchers to translate model improvements into workable specifications, with an understanding of development and deployment trade-offs, produce code based on those specifications and deploy to infrastructure. Be central in architecture decisions.
- Further develop a series of external and internal APIs.
- Extend and maintain algorithms for data transformation, caching etc. employed, as well as the infrastructure required (e.g. the SQL code compilers, the schedulers and queueing mechanisms etc.).
- Employ CI/CD techniques as to allow continuous production, facilitate model development, and minimize outages.
To fill this role, we are looking for a candidate who fulfills these requirements:
- Strong understanding of data-science stacks and processes.
- Experience with Python and R programming languages in a professional setting, as well as Anaconda, Jupyter, Scikit-learn and Tensorflow stack. Knowledge of R and interoperability between Python and R is beneficial.
- Familiarity with distributed microservices-based architectures, including queueing/scheduling processes (we use FastAPI and Celery, in multiple dockerized deployments). Strong understanding of Docker, including networking on Docker is essential. Knowledge of orchestration is a plus.
- Proven track record in developing data-centric APIs.
- Strong understanding of SQL and ETL processes, including the ability to write dynamical generators of raw SQL code. A very good understanding of normalization processes and performance optimization is much appreciated. Spark/Hadoop/NoSQL and other paradigms are a plus.
- Advanced CI/CD skills, assuming relatively fast turnarounds and strict production requirements.
- Experience with GitHub and collaborative code writing.
- An interest in software and system architecture, including complex infrastructure developments, cloud and high-performance computing work.
- Some experience with interdisciplinary work within a complex team, coming from multiple academic and scientific fields is a plus.
- Master’s degree in informatics, data science or similar.
- Be fluent in English.
Skills:
- Analytical and structured
- Result oriented and with solid problem-solving skills
- Innovative and with an initiative for trying out new technologies
- Professional, helpful and team oriented
PRIO is located in attractive premises in central Oslo. We offer salary according to qualifications, group life insurance, and membership in the Norwegian Public Service Pension Fund. PRIO has an active, social and dynamic work environment with an international staff of approximately 150 members in full and part-time positions. The working language at the institute is English. PRIO is an equal opportunity employer and values staff diversity.
The position of Senior Developer is funded by the ERC Grant towards the project: *Anticipating the impact of armed conflict on human development*for a fixed period of two years.
Application
Applications should be written in English, and include the following:
- Letter of application.
- Curriculum vitae.
- Transcripts of academic degrees.
- Names and contact details of three references.
Applications must be submitted using the online form.
For further information about the position, please contact Professor Håvard Hegre (hhegre@prio.org). For further information about the recruitment process or the submission of your application, please contact Department Manager Mille Marie Bjerke (milbje@prio.org), tel. +47 22547700