Summary
The World Bank Group is an international development institution that uses knowledge, data, research, and technology to address global development challenges. The Application Engineer will maintain and improve a Shiny-based submission portal, provide technical support, manage deployments and data systems, lead QA/UAT testing, and implement feature enhancements for reporting workflows.
Responsibilities
- Serve as first-line and second-line technical support for portal users, triaging reported issues, reproducing them and resolving them within agreed response times
- Diagnose and fix issues in Shiny (state-management defects, data bleeding, stale inputs, etc.)
- Harden the draft and submission lifecycle, including reliable auto-save and versioned resubmissions
- Manage user accounts, roles and access control, including password/hash handling and permission changes, following World Bank information-security requirements
- Monitor Posit Connect logs, investigate deployment-specific failures, and maintain the distinction between local and deployed behavior
- Maintain and extend a plumber storage API so that pin writes remain serialized and robust under concurrent multi-user load; maintain and test backups and recovery procedures
- Convert non-technical feedback received in Word documents (the feedback rounds/ process) into a tracked, prioritized todo list and then into discrete, reviewable commits
- Convert non-technical feedback received in Word documents (the feedback rounds/ process) into a tracked, prioritized todo list and then into discrete, reviewable commits
- Clear open items in feedback rounds, comprising bug fixes and UI/field changes required to align the form with official templates
- Implement new form fields, validation logic, dynamic UI behaviour, and export formats as requested by the business team
- Improve the maintainability of the application without disrupting the production service
Skills
- R and Shiny at production level — reactivity (reactiveVal, reactiveValues, observe/observeEvent, req), dynamic UI (renderUI, insertUI), shinyjs; ability to debug state-bleeding and stale-input defects in a large application
- Posit Connect — deployment, manifest and bundle handling, .rscignore, environment variables and API keys on Connect, reading and interpreting Connect logs, and practical experience resolving "works locally but fails deployed" issues
- Pins as a datastore — read-modify-write patterns
- SQL databases — relational data modelling, transactions and concurrency control, and hands-on experience with PostgreSQL and/or Databricks (Delta tables, SQL warehouses) connected from R or Python (DBI, RPostgres, pool, psycopg)
- Plumber APIs — extending, deploying and debugging a single-process storage API
- Authentication and data hygiene — custom auth layers, role and access control; a demonstrated security instinct: no secrets in Git, correct handling of a .secrets/ directory, awareness of PII in submissions, no credential logging
- Git — feature-branch workflow, disciplined commit messages
- R data wrangling and Office/PDF I/O — jsonlite, openxlsx, officer and DOCX import, and report/PDF generation from form data
- Quarto and LaTeX — .qmd to PDF with TinyTeX/TeX Liv, template editing, and diagnosis of LaTeX build failures
- Bachelor's degree in computer science, information systems, statistics, or a related field
- Equivalent combinations of education and professional experience will be considered
- At least two years of professional experience in a relevant field
- Proven ability to work systematically and rigorously, maintaining high standards of accuracy and documentation under demanding timelines
- Experience working with cross-functional teams, bridging technical and non-technical stakeholders
- Strong attention to detail and commitment to producing high-quality, traceable deliverables
- Proactive communication with team members and supervisors on progress, risks, and issues
- Ability to work effectively in multicultural teams and environments
- Excellent written and spoken English
- Python/FastAPI, uv dependency management, server-sent events and streaming endpoints
- Azure DevOps repositories, environment-specific configuration (local/QA/prod)
Qualifications
Must Haves
- R and Shiny at production level — reactivity (reactiveVal, reactiveValues, observe/observeEvent, req), dynamic UI (renderUI, insertUI), shinyjs; ability to debug state-bleeding and stale-input defects in a large application
- Posit Connect — deployment, manifest and bundle handling, .rscignore, environment variables and API keys on Connect, reading and interpreting Connect logs, and practical experience resolving "works locally but fails deployed" issues
- pins as a datastore — read-modify-write patterns
- SQL databases — relational data modelling, transactions and concurrency control, and hands-on experience with PostgreSQL and/or Databricks (Delta tables, SQL warehouses) connected from R or Python (DBI, RPostgres, pool, psycopg)
- plumber APIs — extending, deploying and debugging a single-process storage API
- Authentication and data hygiene — custom auth layers, role and access control; a demonstrated security instinct: no secrets in Git, correct handling of a .secrets/ directory, awareness of PII in submissions, no credential logging
- Git — feature-branch workflow, disciplined commit messages
- R data wrangling and Office/PDF I/O — jsonlite, openxlsx, officer and DOCX import, and report/PDF generation from form data
- Quarto and LaTeX — .qmd to PDF with TinyTeX/TeX Liv, template editing, and diagnosis of LaTeX build failures
- Bachelor's degree in computer science, information systems, statistics, or a related field
- Equivalent combinations of education and professional experience will be considered
- At least two years of professional experience in a relevant field
- Proven ability to work systematically and rigorously, maintaining high standards of accuracy and documentation under demanding timelines
- Experience working with cross-functional teams, bridging technical and non-technical stakeholders
- Strong attention to detail and commitment to producing high-quality, traceable deliverables
- Proactive communication with team members and supervisors on progress, risks, and issues
- Ability to work effectively in multicultural teams and environments
- Excellent written and spoken English
Nice to Haves
- Python/FastAPI, uv dependency management, server-sent events and streaming endpoints
- Azure DevOps repositories, environment-specific configuration (local/QA/prod)