Software Engineer (P-3)
International Criminal Court
23819 | OTP
Deadline for applications: | 19/03/2025 |
Position title and level | Software Engineer (P-3) |
Organisational unit | Information, Knowledge and Evidence Management Section, Integrated Services Division, Office of the Prosecutor |
Duty station | The Hague - NL |
Type of appointment | Fixed-term |
Post number | Established post |
Minimum net annual salary | €91,998.00 |
Contract duration | For initial appointments, the Court offers a two-year appointment with the possibility of extension (six months probationary period). |
A roster of suitable candidates may be established for this post as a result of this selection process for both fixed-term established and general temporary assistance posts.
Organisational Context
The position of Software Engineer is a part of the Business Solutions Development Unit (BSDU) within the Information Knowledge and Evidence Management Section (IKEMS) and reports to the Systems Architect (Head of BSDU).
IKEMS, headed by an Information Management Coordinator, combines the OTP’s information, solutions development, digital forensics and evidence management operations into one consolidated section. IKEMS aims to maintain a coordinated, flexible and operationally responsive IKEM support capacity throughout the OTP, in order to support the full spectrum of the OTP’s information and evidence operations.
Duties and Responsibilities
Under the direct supervision of the Head of the Business Solutions Development Unit and the overall management of the Information Management Coordinator, the incumbent will perform the following tasks:
- Design, develop, and implement custom software solutions tailored to the OTP’s needs, including analysing client needs, creating detailed specifications, and writing clean, maintainable code in languages such as C#, .NET, and Python. Conduct thorough testing and debugging to ensure software quality and functionality, collaborate with cross-functional teams for seamless system integration, and document development processes while providing technical support.
- Deploy, manage, and scale custom software solutions in Microsoft Azure, including designing and implementing Azure-based applications and architecture, deploying applications to Azure App Services and Azure Functions, managing databases of various technologies including Azure SQLDB, Cosmos DB and PostgreSQL, and ensuring scalability. Use Azure DevOps for CI/CD pipelines to automate testing and deployment processes, monitor application performance with Azure Monitor and optimize accordingly, while ensuring application and architecture security best-practices are adhered to through Azure Security Center. Ensure smooth and continuous delivery and integration through DevOps.
- Develop and maintain business applications using Microsoft PowerApps and support development leveraging Microsoft Cognitive Services. Gather requirements and design PowerApps solutions to automate business processes, develop user-friendly interfaces, and integrate custom functionality. Integrate PowerApps with other Microsoft services such as SharePoint, Teams, and Power BI. Improve PowerApps solutions based on user feedback and changing business needs.
- Build dynamic and responsive user interfaces using React or Angular. Develop reusable components and front-end libraries, implement UI/UX designs to create visually appealing interfaces, and optimize components for performance across various devices and browsers. Collaborate with backend developers to integrate APIs and ensure seamless data flow. Conduct code reviews and provide feedback to maintain high code quality standards. Apply DevOps principles for version control and continuous integration, and follow Scrum methodologies for iterative and incremental development.
- Create technical solution designs based on stakeholder’s inputs and solution requirements. Estimate high level implementation effort, analyze and document solution dependencies, risk and assumptions. Create delivery plan, project team structure and appropriate project documentation including project initiation document, system design and implementation guide. Take the role of technical lead to manage the end-to-end delivery of solution development along with other team members.
- Develop robust back-end systems and integrate various APIs. Design and implement RESTful APIs to support front-end functionality, develop backend services and data processing logic in C#, and Python, and ensure secure data handling in compliance with data protection regulations. Integrate third-party APIs and services as required by project needs, perform regular code reviews, testing, and optimize back-end services. Use DevOps tools for automated deployment and monitoring, and apply Scrum principles for efficient task management and delivery.
- Effectively collaborate within project teams to deliver high-quality software solutions. Participate in daily stand-ups, sprint planning, and retrospectives within Agile framework, and use project management tools like Azure Boards to track progress and tasks. Work closely with stakeholders to define project scope and timelines, provide technical guidance and mentorship to junior developers, and continuously improve development processes while contributing to team knowledge sharing.
- Stay up to date with the latest industry trends, technologies, and best practices, experiment with new tools, frameworks, and methodologies where appropriate to enhance development practices while continuously obtaining new or up-to-date industry certifications relevant to team priorities.
- Other duties as required.
Essential Qualifications
Education:
Advanced university degree in a scientific discipline such as computer science, software engineering, science, engineering, information science, information systems, mathematics, or other related area is required. A first level university degree in combination with two additional years of qualifying experience is accepted in lieu of an advanced university degree.
Professional certifications as an Azure Developer Associate and a Power Platform Developer are required. Professional certification as an Azure Solutions Architect Expert is preferred.
Certifications, diplomas or qualifications in a technical or information management-related field would be considered an advantage. Training in Business Analysis, Project Management (PMP, PRINCE2), and/or Agile/Scrum is required.
Experience:
A minimum of 5 years of relevant professional experience (7 years with a first level university degree) in a fast-paced software development team is required. At least two years’ experience at the international level, is preferred. Experience within a legal, investigative, or law enforcement environment, is preferred.
A minimum of 4 years of experience with Microsoft Azure ecosystem (or equivalent public cloud provider) is required.
Experience in building and managing applications using Microsoft PowerApps is preferred.
Demonstrated proficiency in multiple programming languages such as C#, Python, and JavaScript (React), with an ability to write clean, efficient, and maintainable code is required.
Experience with DevOps practices is required to ensure continuous integration and delivery. This includes proficiency with CI/CD pipelines using tools like Azure DevOps and Jenkins. Knowledge of version control systems such as Git is required.
Knowledge, skills and abilities:
- Demonstrated knowledge of various frameworks and libraries such as front-end frameworks like React for building dynamic user interfaces, and an understanding of back-end frameworks and libraries such as .NET for C#, and Django for Python is required. Experience in designing and building event-driven architecture, enterprise integration and using serverless technologies is required.
- Experience with Azure SQL Server is required. Experience with Cosmos DB, or MongoDB is preferred. Experience working in Data Analytics and employing ETL logic, working with Data lakes or Data warehouse is preferred.
- Knowledge of software development methodologies and frameworks such as SCRUM, UML, BPMN is required.
Knowledge of languages:
Proficiency in one of the working language of the Court, English or French, is required. Working knowledge of the other is considered as a strong asset. Knowledge of another official language of the Court (Arabic, Chinese, Russian, Spanish) would be considered an asset.
ICC Leadership Competencies
Purpose
Collaboration
People
Results
ICC Core Competencies
Dedication to the mission and values
Professionalism
Teamwork
Learning and developing
Handling uncertain situations
Interaction
Realising objectives
Learn more about ICC leadership and core competencies.
General Information
- Candidates appointed to posts at a P-5 grade or in the Director category are subject to a maximum aggregate length of service of seven years. This is pursuant to a decision of the Assembly of States Parties (ASP Resolution ICC-ASP/23/Res.2) to implement a tenure policy at the Court as of 1 January 2025.
- The selected candidate will be subject to a Personnel Security Clearance (PSC) process in accordance with ICC policy. The PSC process will include but will not be limited to, verification of the information provided in the personal history form and a criminal record check.
- Applicants may check the status of vacancies on ICC E-Recruitment web-site.
- Post to be filled by a national of a State Party to the ICC Statute, or of a State which has signed and is engaged in the ratification process or which is engaged in the accession process. This is pursuant to a decision of the Assembly of States Parties (ASP Resolution ICC-ASP/23/Res.3) to introduce a moratorium on the recruitment by the ICC of staff of non-States Parties’ nationality.
- In accordance with the Rome Statute, the ICC aims to achieve fair representation of women and men for all positions, representation of the principal legal systems of the world for legal positions, and equitable geographical representation for positions in the professional category.
- Applications from female candidates are particularly encouraged.
- The International Criminal Court applies the Inter-Organization Mobility Accord and can support secondment of staff from organizations of the United Nations Common System.