Education:
University degree in computer science, software engineering, information technology, or a related field OR education from a reputed college of advanced education, with a diploma of equivalent standard to that of a university degree in one of the fields above.
Experience:
At least three (3) years of progressively responsible experience in software development and documentation for the relevant technical areas below.
Experience in full-stack development with TypeScript on both ends — Node.js services (NestJS or comparable) and a modern React framework.
Experience with JSON / JSON-LD, schemas, and validation (e.g., Zod, JSON Schema, Croissant / BIOCroissant).
Experience with the following technical environment; the developer will work across a single unified stack, with a small isolated Python sandbox for executing participant evaluation containers:
Layer: OCI Platform (target stack).
Backend: Node.js 24 LTS, TypeScript 6, NestJS 11 (modular monolith), Prisma 7, BullMQ.
Eval sandbox: Python 3.x - only for the sandboxed runner that executes participant Docker images.
Frontend: Next.js 16 (App Router, React Server Components, Turbopack), React 18+, Tailwind v4, shadcn/ui.
Database: PostgreSQL 16 (AWS Aurora Serverless v2), Prisma migrations, multi-schema.
Auth: AWS Cognito (OIDC/OAuth2), aws-jwt-verify, MFA for admin/regulator/supervisor roles.
Infrastructure: AWS CDK (TypeScript), ECS Fargate, ALB, S3, SQS, ECR, KMS, WAFv2, Secrets Manager.
CI/CD: GitHub Actions with OIDC role assumption (no static AWS keys); per-env deploy pipelines.
Observability: CloudWatch, AWS X-Ray, OpenTelemetry, pino structured logging, Container Insights.
Security tooling: Trivy, Gitleaks, CycloneDX SBOM in every PR; distroless Node base images.
API contracts: OpenAPI 3.1 via NestJS Swagger module; Zod schemas shared FE/BE via @oci/shared-types.
Testing: Vitest 4 (unit + integration with Testcontainers), Playwright 1.59 (E2E + a11y).
Languages:
A minimum of an intermediate level of English is required. Knowledge of at least one of the six official ITU languages (Arabic, Chinese, English, French, Russian, Spanish) would be an advantage.