000%
Plotting drawing set
00

Profile

REF · SN—2026

Discipline
Software Developer & Cloud/DevOps Engineer who builds, releases and operates production Django systems on AWS.

Certified
3× AWS · 2× CompTIA · Azure

Sharif Sule Ndlovu

I build scalable, maintainable systems that ship — production software, not prototypes.

Sole infrastructure engineer on two live government platforms: I write the AWS infrastructure, run deployments and monitor production across QA, UAT and Production, with security scanning built into every release. I also contribute to the application code, and maintain e-PGLUM in production. Read the case studies ↓

Drawn bySharif S. Ndlovu
Sheet00 / 10
DisciplineCloud / DevOps Engineering
Rev2026.11
Live2e-PGLUM · LiviIn development4EO Risk · Fleet · Siteward · Speedward
Certified✓3× AWS · 2× CompTIA · Azure
LocationPretoria, Gauteng · ZA
StatusAvailable
FIG. 00A — TITLE BLOCK
Sharif Sule Ndlovu
FIG. 00 — PORTRAITS.N
01

Selected Work

04 ENTRIES

Production platforms for government and commercial clients. Catalogue of shipped systems, oldest first.

01

The Workplace Basics

Django · Publishing & Commerce
The Workplace Basics platform
FIG.01

A multi-module Django platform combining a public-sector blog, tiered subscriptions, a digital marketplace, and a newsletter system. Sole developer. The client cancelled before go-live; it became the groundwork for the government systems that followed.

  • Paystack — recurring billing, one-time orders, signature-verified webhooks
  • Tiered access — free/premium gates with JWT-backed session tokens
  • AWS S3 media — presigned URLs, lifecycle policies, Pillow thumbnails
  • Celery + Redis async dispatch with Papertrail log aggregation
DjangoPostgreSQLCeleryRedisAWS S3PaystackDocker
2024–25 · Not launched
02

e-PGLUM

Django · Municipal Planning
e-PGLUM land application system
FIG.02

Electronic Planning & Land-Use Management — handling land development and building-plan applications across jurisdictions. Live for CoGHSTA, Mpumalanga. Sole infrastructure engineer and, since go-live, sole maintainer.

  • Infrastructure, deployment and monitoring — wrote and run the AWS environments across QA, UAT and Production
  • Configurable workflow engine — DB-modelled stage transitions via Django signals
  • Layered permissions — middleware-enforced, jurisdiction-scoped data isolation
  • Async document pipeline — Celery-queued S3 uploads, presigned retrieval
  • Migrated live infrastructure from AWS Copilot to standalone CloudFormation ahead of Copilot's June 2026 end of life
DjangoPostgreSQLCeleryRedisAWS S3HTMXDocker
Live · CoGHSTA
03

Livi

Django · Citizen Services
Livi civic services platform
FIG.03

Livilemphakatsi — a multi-tenant citizen-services platform for the Office of the Premier, Mpumalanga. Ten departments on branded subdomains, routing cases to SLA-enforced resolution. Live in production. Sole infrastructure engineer.

  • Infrastructure, deployment and monitoring — CloudFormation and GitHub Actions across dev, stage and production
  • Security-gated releases — pip-audit and a Trivy image scan must pass before an image can be pushed
  • Subdomain multi-tenancy — 10 departments, isolated auth, per-department theming
  • SLA engine — Celery Beat on Amazon MQ, auto-escalation on breach
  • Upload screening — every image, video and PDF checked with Rekognition before it is processed
DjangoPostGISCeleryAmazon MQCloudFormationTrivyRekognitionDocker
Live
04

Community Web Modernization

Static Web · Community
Community Web Modernization program
FIG.04

An annual pro-bono DevBridge programme replacing outdated, insecure sites for South African community organisations with fast static sites — full source ownership handed over.

  • Static architecture — no server runtime or database attack surface
  • Cloudflare edge — global CDN, automatic HTTPS, DDoS protection
  • Git-based push-to-live deployment workflow
  • Full institutional handover — no vendor lock-in
HTML / CSS / JSCloudflare PagesGitHub PagesCDN
Example site: Rehoboth Boerdery ↗
Pro-bono
02

Dossier

PROOF OF WORK

Chronological account of shipped systems. Problems encountered, lessons drawn, and how each project shaped the next.

Full Portfolio ↓
2024 – 2025 Django · Commerce · Foundation Client Project

The Workplace Basics

A Django e-commerce and compliance training platform commissioned by a private client. The project was cancelled before launch — the client pivoted to a publishing model — but the work went deliberately beyond the requirements and became the technical foundation for every system that followed.

Key Challenges

  • Paystack webhook integration — built the full payment lifecycle from first principles: charge.success, invoice.payment_failed, subscription.disable, expiring card notifications. First deep encounter with event-driven payment flows.
  • Docker container networking — diagnosed the localhost trap inside Compose; learned bridge vs. host mode and service-name DNS resolution. Pattern carried into every project after.
  • UUID primary key migration — raw SQL migration surgery on a live schema: add column, backfill rows, drop old PK constraint, promote UUID, update all foreign keys. First time writing PostgreSQL constraint syntax.
  • Django Channels + Redis async — understood the sync/async boundary, the two-role Redis model (Channels layer vs. cache), and WebSocket consumer patterns through systematic study of Django by Example (editions 4 and 5).
  • WSGI vs. ASGI + first AWS — S3 for media (IAM, presigned URLs, storage backends), Gunicorn as the production server, and why Django's runserver is not one.
Django 5CeleryRedisPostgreSQLPaystackAWS S3Docker ComposeDjango Channels
2025 Django · Municipal Planning · AWS Infrastructure Live — epglum.co.za

e-PGLUM

Nationwide electronic land use management platform serving South African municipalities. I am the sole infrastructure engineer across three environments (QA, UAT, Production) — writing the infrastructure, running deployments and monitoring production — and contributed to a 96-form Django codebase in a team of 7. Since go-live I am the only person handling bug fixes and new features. Confirmed live by Thembisile Hani Local Municipality public notice, March 2026.

Key Challenges

  • 96 government submission forms — Python mixins became a survival strategy. A new form type assembled from existing mixins in minutes rather than hours; same pattern applied to CBVs and models.
  • WAF production blocking — SizeRestrictions_BODY and XSS managed rules blocked legitimate requests that had passed in lower environments. Root cause: dev had no WAF. Fix: byte match exclusions per URI path + code tightening.
  • Large file uploads (20MB+) — tuned timeouts across the full stack: CloudFront origin timeout → ALB idle timeout → Gunicorn request timeout. Files failed silently until each layer was understood.
  • Sole-owner AWS environment — VPCs, security groups, RDS in a private subnet, ElastiCache, ECS Fargate, ALB, S3, Route 53, ACM. Every misconfiguration visible as a hard runtime failure.
  • Nightly stats pipeline — post-deployment Celery Beat task aggregating submission counts, user activity, and stalled applications into a structured RabbitMQ payload for the middleman server.
  • Copilot CLI → CloudFormation — started on AWS Copilot, then moved the live environments to standalone CloudFormation with reusable bash scripts when AWS announced Copilot end of life (June 2026). OTP was rebuilt on CloudFormation scripts from the same pattern.
Django 5ECS FargateRDS PostGISElastiCacheCloudFormationAWS WAFS3 + EFSCeleryRabbitMQ
2025 – 2026 Django · Citizen Services · Multi-Tenant Live — 10 Departments

OTP — Livi Lemphakatsi

Multi-tier government case management system for the Office of the Premier, Mpumalanga. Citizens submit cases via mobile; 10 provincial departments handle them through a branded backoffice portal. Queue-driven architecture: OTP ↔ RabbitMQ middleman ↔ mobile app. I am the sole infrastructure engineer, owning the infrastructure, deployments and monitoring.

Key Challenges

  • Architecture evaluation — Camunda, django-viewflow, n8n, and django-tenants formally evaluated and scrapped. Settled on a status-driven case model (NEW → IN_PROGRESS → RESOLVED) layered with Celery Beat SLA enforcement.
  • 10 departments, 30 subdomains — one application, 10 distinct branded identities via DepartmentThemeMiddleware. Subdomains could not be wildcarded everywhere; each of the 30 required precise database and DNS alignment.
  • SQS → RabbitMQ migration — started with AWS SQS; migrated mid-project to AMQP (pika) when it became clear the mobile middleman ran RabbitMQ and owned the broker. Queue payload schemas, idempotency keys, and message audit logging rebuilt for the new transport.
  • WAF parity from day one — QA environment configured at production WAF level from project start. Blocking issues caught during team testing, not post-deployment. Turnaround dropped from days to hours.
  • Security-gated releases — one release script builds the image, runs pip-audit on production dependencies and a Trivy scan for HIGH and CRITICAL findings, and refuses to push any image that has not passed. GitHub Actions calls the same script for dev, stage and production.
  • Upload screening — every image, video and PDF is screened with AWS Rekognition before processing; flagged files are rejected and deleted. Videos are staged only briefly in an auto-expiring bucket and removed after analysis.
  • SSE realtime chat — async Daphne views, Redis pub/sub, Last-Event-ID reconnect recovery, CASE_CHAT_REALTIME_ENABLED feature flag for zero-downtime rollout.
  • Health checks — 5 per group — DB, Redis, S3, migrations, Celery ping. A cycling ECS task became a useful diagnostic: one failing check = one unreachable dependency, identified immediately.
Django 5.2ECS FargateRDS PostGISRabbitMQRedisSSE + ASGICloudFormationTrivyRekognitionpgvector
Ongoing Static Web · Community Initiative

Community Web Modernization

A DevBridge social programme providing modern, secure static websites to South African community organisations — estates, schools, churches, NGOs, sports clubs — at low or no cost. Production standards applied to community-scale problems: Cloudflare CDN, automatic HTTPS, DDoS protection, git-based deploy pipeline, full source ownership on handover.

HTML / CSS / JSCloudflare CDNGitHub PagesGSAPLenis Scroll
View the programme ↗ Example site: Rehoboth Boerdery ↗
03

Capabilities

MATRIX

The working toolkit, indexed by register. Specific AWS services are itemised in §04 Infrastructure.

Programming
PythonJavaJavaScriptC# (.NET MVC)KotlinSQL (PostgreSQL / MySQL)Bash / Shell Scripting
Web & Backend
Django / DRFASGI / WSGICelery + RabbitMQPaystack APIBootstrap / HTML / CSSREST API design
Cloud & Infra
AWSAzureDockerGit / GitHub ActionsCI/CD PipelinesMulti-environment releases
Infrastructure as Code
CloudFormationTerraformBash automation
DevSecOps
Trivypip-auditAWS WAF
Monitoring & Ops
CloudWatchLog analysisProduction troubleshooting
Linux & Systems
Linux administrationServer hardeningSystem troubleshooting
04

Infrastructure

22 SERVICES · PROD

The AWS surface shipped and operated day to day — a register of production services.

01

EC2

Elastic compute for full-control server workloads.

02

ECS Fargate

Serverless container orchestration, no servers to manage.

03

Lambda

Event-driven serverless compute and scheduled jobs.

04

ECR

Private container registry with image scanning.

05

S3

Object storage for media, assets, versioned files.

06

EFS

Elastic shared file storage across instances.

07

RDS

Managed PostgreSQL — backups, patching, replicas.

08

ElastiCache · Redis

In-memory caching, sessions, rate limiting.

09

SQS

Managed queues for async task processing.

10

SNS

Pub/sub fan-out across services, email, SMS.

11

EventBridge

Serverless event bus for service routing.

12

SES

Transactional email and system alerts.

13

CloudFront

Global CDN delivering from edge locations.

14

Route 53

Scalable DNS with health checks and routing.

15

ACM

Managed TLS/SSL with auto-renewal.

16

IAM

Least-privilege users, roles, and policies.

17

KMS

Managed encryption keys, envelope encryption.

18

Secrets Manager

Secure credential storage and rotation.

19

SSM Parameter Store

Hierarchical config and environment params.

20

Rekognition

Computer vision — moderation and label detection.

21

CloudWatch

Metrics, logs, dashboards, and alarms.

22

CloudFormation

Declarative infrastructure as code.

05

Building Now

05 ACTIVE BUILDS

What I'm building and running now — systems in development at DevBridge, plus tools I self-host and open-source. Updated as each stage ships.

01

EO Risk Platform

Python · GIS · Earth ObservationIn development

Satellite-derived property-risk scoring for insurers, delivered as a versioned REST API. Every score ships with the reasoning behind it, and no raw imagery ever leaves the platform.

PARCELFLOODFIREHAIL+ 5 PERILSSPATIALJOINPostGISCOMPONENTSthe “why”, per perilfloodfirehail…illustrative weightsCOMPOSITE SCOREscoreconfidencecomponentsexplanationevidence_refsmodel_versionREST · /assessPARCELFLOODFIREHAIL+ 5 PERILSSPATIAL JOINPostGISCOMPONENTSthe “why”, per perilfloodfirehail…illustrative weightsCOMPOSITE SCOREscoreconfidencecomponentsexplanationevidence_refsmodel_versionREST · /assess
FIG. 01A — WHY A PROPERTY GETS ITS SCORESimplified for illustration
  • Pluggable scoring engine — 8 perils plus a second solar-siting vertical, added by registration only and enforced by a contract test
  • Real open data across Gauteng — Sentinel-2 via STAC, OpenStreetMap, NASA FIRMS, CHIRPS, ESA WorldCover
  • Spatial pipeline — PostGIS joins and tile-batched concurrent imagery sampling; one hot query cut from ~50s to ~1.7s
  • Validation harness — AUC and lift against claims history, plus a reviewer map UI feeding a ground-truth loop
DjangoDRFPostGISSTACSentinel-2CeleryRedisCloudFormation
View project ↗
Pilot build
02

Heavy Fleet Platform

Django · Next.js · Mining OperationsIn development

Operations platform for heavy mining fleets — live tracking, trip detection, route replay and explainable payload/fuel integrity monitoring. Runs on simulated telemetry through the real ingestion path, so physical gateways plug in later as adapters.

SITE A · LOADINGSITE B · DUMPSTOPROUTE DEVIATIONEXITENTERplanned route + corridor (dashed) · actual path (solid)LOADINGHAULINGSTOPHAULINGOFF ROUTEHAULINGDUMPINGEXITSTOPDEVIATIONENTERA TRIP = SEGMENTS DETECTED FROM TELEMETRYCorrections create a new version, never an overwrite.TENANT ISOLATIONRow-level security in Postgres.SITE A · LOADINGSITE B · DUMPSTOPROUTE DEVIATIONEXITENTERdashed = planned route · solid = actual pathTRIP SEGMENTSLOADINGin geofence AHAULINGafter EXITSTOPstop detectedHAULINGmoving againOFF ROUTEROUTE DEVIATIONHAULINGback on routeDUMPINGafter ENTERA TRIP = SEGMENTS FROM TELEMETRYCorrections create a new version,never an overwrite.TENANT ISOLATIONRow-level security in Postgres.
FIG. 02A — HOW A TRIP IS DETECTEDSimplified for illustration
  • Multi-tenant isolation — Postgres row-level security enforced under a non-superuser runtime role
  • Real ingestion path — MQTT (EMQX) and HTTP, transactional outbox, sequence-gap detection, quarantine of bad readings
  • Live operations portal — MapLibre map, server-sent-event updates, trip replay, geofence and route-deviation events
  • Dispatch board — truck availability and suggestions with a shared double-booking guard
DjangoNext.jsPostGISTimescaleDBMQTTCeleryRedisMinIOOpenTelemetryDocker
View project ↗
In build
03

NetPulse

Django · IoT & Network MonitoringIn daily use

A self-hosted tool I run on a Raspberry Pi to see my own network at a glance — what is connected and how the network is performing, in a clean live dashboard.

INTERNETROUTERgatewayLOCAL NETWORKRASPBERRY PINetPulse · Djangoarp-scan · nmapPHONELAPTOPTVPRINTEROFFLINEIoT SENSORNEWDiscovery shows what is connected; diagnostics show how well.CELERY BEATscheduleSCANarp · nmapDIFFnew · missingSTOREPostgreSQLSCANCYCLELIVE DASHBOARDweb view of the networkNETROUTERgatewayLOCAL NETWORKRASPBERRY PINetPulse · DjangoPi scans witharp-scan · nmapPHONELAPTOPTVPRINTERofflineIoT SENSORnew deviceNEWDiscovery shows what is connected;diagnostics show how well.SCAN CYCLECELERY BEATscheduleSCANarp · nmapDIFFnew · missingSTOREPostgreSQLLIVE DASHBOARDweb view of the network
FIG. 03A — WHAT IS ON MY NETWORKSimplified for illustration
  • Device discovery — periodic network scans with arp-scan and nmap, run without root via scoped raw-socket capabilities
  • Network diagnostics — ping, traceroute, iperf3 and speedtest checks for connectivity and throughput
  • Background monitoring — Celery worker and Beat scheduler run scans on a schedule without blocking the app
  • One-command setup — build script provisions dependencies, Dockerised PostgreSQL and Redis, migrations and workers
DjangoCeleryPostgreSQLRedisDockernmapLinuxRaspberry Pi
Source on GitHub ↗
Self-hosted
04

Siteward

Python · Django · Web SecurityIn development

A small, self-hostable passive web security scanner. Give it a URL and it runs standard checks and reports the findings as JSON, Markdown or a self-contained HTML file. Nothing about scanned sites is stored.

PUBLIC MODETurnstileper-IP limitper-target capno private IPsTARGEThttps://…HEADERSCSP · HSTS · framingTLScertificate · protocolsCOOKIES + CORSflags · misconfigEXPOSED FILES.git · .env · backupsEMAIL AUTHSPF · DKIM · DMARCDNStakeover hintsFINDINGSpassiveJSONMARKDOWNHTMLNOTHING STOREDresults held in memoryscan finishes15 min later: goneNo database · exports stream straight to you · logs never contain targets or findings.PUBLIC MODETurnstile · rate limits · no private IPsTARGEThttps://…HEADERSCSP · HSTS · framingTLScertificate · protocolsCOOKIES + CORSflags · misconfigEXPOSED FILES.git · .env · backupsEMAIL AUTHSPF · DKIM · DMARCDNStakeover hintsFINDINGSpassiveJSONMARKDOWNHTMLNOTHING STOREDresults held in memoryscan finishes15 min later: goneNo database · exports stream straight to you ·logs never contain targets or findings.
FIG. 04A — SCAN, REPORT, FORGETSimplified for illustration
  • Broad passive coverage — security headers, TLS, cookie flags, CORS, exposed files, SPF/DKIM/DMARC and subdomain-takeover hints
  • CLI and web UI — CI-friendly exit codes via --fail-on, plus a local Django interface
  • Privacy by design — no database; results live in memory for 15 minutes and logs never contain targets
  • Built for public hosting — Cloudflare Turnstile, per-IP and per-target rate limits, private-target refusal and a keyed-hash abuse log
PythonDjangoDockerCloudflareTLSDNS
Source on GitHub ↗
Open source
05

Speedward

Python · Web PerformanceIn development

A small, self-hostable website performance tester and Siteward's sibling. It measures how fast a site loads from places around the world and shows the result on a world map, from a command line or a small web app.

ESTIMATEcost + allowanceTARGEThttps://…GLOBALPINGprobe network12 LOCATIONSdefault set · or your ownLONFRANYCLAXGRUJNBLOSBOMSINTYOSYDDXBPER LOCATIONTTFBLOAD TIMEBLOCKEDLIMITSmax TTFB · load · blockedexit 0 pass · 1 fail · 2 no runJSONMARKDOWNHTML + MAPTHE KEY STAYS LOCAL.envSPEEDWARDapi.globalping.iobrowser · exports · logs✕Only an allowlist of keys is read, and it is never sent to any endpoint that is not Globalping.ESTIMATEcost and allowance, then stopsTARGEThttps://…GLOBALPINGprobe network12 LOCATIONSdefault or your ownLONFRANYCLAXGRUJNBLOSBOMSINTYOSYDDXBPER LOCATIONTTFBLOAD TIMEBLOCKEDLIMITSmax TTFB · load · blockedexit 0 pass · 1 fail · 2 could not runJSONMARKDOWNHTML + MAPTHE KEY STAYS LOCAL.envSPEEDWARDGlobalpingNever sent to the browser, exports or logs.
FIG. 05A — ONE URL, TESTED FROM EVERYWHERESimplified for illustration
  • Global measurement — tests run from 12 default locations (or your own) through the Globalping network, with optional traceroute and DNS checks
  • CLI and web UI — Markdown, JSON or HTML reports with the map, and CI-friendly pass/fail limits on TTFB, load time and blocked requests
  • Cost-aware — an estimate mode shows the test cost and remaining allowance before anything runs
  • Safe by design — the API key never reaches the browser, exports or logs, and the tool refuses to send it to any non-Globalping endpoint
PythonDockerGlobalpingCLI
Source on GitHub ↗
Open source
06

Projects & Study

PERSONAL + ACADEMIC

Self-directed projects, notes and tooling, plus Artificial Intelligence coursework from the University of Pretoria — things built from the ground up to understand them.

P—01

Networking · Remote access

Remote Workstation Anywhere

Wake and connect to a home Ubuntu desktop from anywhere with Tailscale, Wake-on-LAN, RDP and a Raspberry Pi gateway. Source ↗

TailscaleWake-on-LANRDPRaspberry Pi
P—02

AWS · Breadth

AWS Playground

Dozens of AWS services explored through the CLI, infrastructure as code and SDKs, with notes on how and why each piece works. Source ↗

AWSIaCCLISDK
P—03

IaC · Study

Terraform Associate

Code-first study notes, a cheat sheet and runnable examples for the HashiCorp Terraform Associate exam. Source ↗

TerraformIaC
P—04

Notes · Reference

Knowledge Base

The notes I keep on cloud, Linux, DevOps and security, published as a public reference site. Source ↗

MkDocsCloudLinuxDevOps
A—01

Artificial Intelligence · University of Pretoria

Genetic Algorithm Stock Trader

Evolves trading strategies via genetic programming — tournament selection, F1-score fitness, ramped half-and-half initialization. Group assignment: I built the genetic-programming model alongside decision-tree and neural-network models from teammates. Source ↗

JavaGenetic AlgorithmsMachine Learning
A—02

Artificial Intelligence · University of Pretoria

Vehicle Routing Optimizer

Ant Colony Optimization solver for multi-vehicle routing with time constraints and dynamic pheromone trail management. Source ↗

JavaAnt Colony OptimizationAI
A—03

Artificial Intelligence · University of Pretoria

TSP Metaheuristic Solver

Dual-algorithm Simulated Annealing vs Tabu Search comparison for the Traveling Salesman Problem with seeded benchmarking. Source ↗

JavaSimulated AnnealingTabu Search
07

Record

EDUCATION + CERTS

Formal grounding and verified credentials. Certifications link to public issuer records.

Education

Jan 2025 – Jun 2025

University of Pretoria

Short Course — Programming Languages, Artificial Intelligence

2021 – 2023

Varsity College

BSc Computer & Application Development — Software Engineering, Cloud Development (Azure), Network Engineering, Advanced Databases, Android (Kotlin), App Security, IT Project Management, C# (MVC)

Completed

Abbotts College

High School — IT & Computer Science — Delphi, Console Applications, PC Application Development

08

Roadmap

2026 – 2028

2026 – 2028 goals — staying current is part of the job. ✓ achieved · ◐ in progress · ○ planned.

  • Achieved — Azure Fundamentals (AZ-900)Core cloud concepts, Azure services, security, pricing, compliance.
  • Achieved — Bash & Shell ScriptingAutomating system tasks, build steps, and CI/CD pipelines.
  • In Progress — Terraform Associate — Nov – Dec 2026Validating existing Terraform knowledge — providers, state, modules, repeatable provisioning.
  • In Progress — Azure Administrator (AZ-104) — Nov – Dec 2026Identities, governance, storage, compute, virtual networking and monitoring on Azure.
  • Planned — AWS DevOps Engineer — Professional — Jan – Feb 2027CI/CD, infrastructure automation, monitoring and incident response on AWS. Renews AWS Developer — Associate.
  • Planned — AWS Solutions Architect — Professional (SAP-C03) — Mar – Apr 2027Multi-account, hybrid and cost-aware architecture design. Renews Solutions Architect — Associate and Cloud Practitioner.
  • Planned — CompTIA Security+ — Oct – Nov 2027Security fundamentals, threats and controls. Renews CompTIA Network+.
  • Planned — AWS Security — Specialty — 2028Data protection, identity, detection and incident response on AWS.
  • Planned — Kubernetes & Helm — 2027Container orchestration and Kubernetes package management.
  • Planned — Prometheus, Grafana, Loki & OpenTelemetry — 2027Metrics, dashboards, log aggregation and distributed tracing.
  • Planned — Advanced DevSecOps — 2027Trivy IaC scanning, SAST, DAST and secret scanning.
  • Planned — Jenkins & advanced GitHub Actions — 2027Declarative CI/CD pipelines, build agents, deployment automation.
  • Planned — Reliability engineering — 2027SLIs, SLOs, error budgets and incident management.
09

References

ON REQUEST

Colleagues who can speak to the work on e-PGLUM and OTP.

R—01

Architect · Lead

Ronald Conco

Gave architectural direction on the e-PGLUM and OTP projects.

Contact details available on request

R—02

Senior Developer

Miyelani Maphophe

Worked alongside on both the e-PGLUM and OTP projects.

Contact details available on request

R—03

Senior Developer · Project Manager

Tharage Godfrey

Senior Developer on e-PGLUM and Project Manager / work assigner on OTP.

Contact details available on request

10

Contact

OPEN
© 2026 SHARIF SULE NDLOVU SET IN SPACE GROTESK · SPACE MONO SWISS / INTERNATIONAL TYPOGRAPHIC EDITION