
Senior / Principal Software Engineer โ Data Platform
Ilitha Telecommunications
Job description
JOB TITLE:
Senior / Principal Software Engineer โ Data Platform DIVISION
: IT (OSS/BSS) COMPANY:
Ilitha Telecommunications (Pty) Ltd EMPLOYMENT TYPE:
Permanent CLOSING DATE:
30 October 2026 LOCATION
: Rosebank, Johannesburg, on a hybrid basis (office and remote).
SEND CV TO:
Kagiso@ilitha.com Role Purpose
Ilitha Telecommunications (Pty) Ltd builds affordable prepaid fibre and wireless broadband for township and peri-urban communities across the Eastern Cape and KwaZulu-Natal. Prepaid fibre only works when billing, field visits, network equipment and recharges sit in one shared database, on time and safe. The Senior / Principal Software Engineer โ Data Platform owns that platform.
The role owns the company data platform: the PostgreSQL warehouse, the jobs that load it, and the API that the websites read. It sits one grade above the Senior Software Developer. The incumbent sets how the system is built, coaches others, and is accountable when data is late or a rand figure is wrong. The role works with network, billing, field operations and finance so that a load change never silently breaks a number they rely on.
Key Responsibilities
1. Data Warehouse Ownership
-
Keep one shared PostgreSQL database for customers, revenue, network kit and field visits (ilitha_ops_dws, schema dws).
-
Add or update rows through inserts that update existing records; never wipe history.
-
Manage views, user rights and SSL, and keep the warehouse relational.
-
Ensure billing, Jotform and NMS data agree with their source systems.
-
Load Jobs & Scheduling
-
Keep the billing (every 5 minutes), Jotform field-visit (every 5 minutes) and NMS device (hourly) loads running on Cloud Run jobs timed by Cloud Scheduler (Africa/Johannesburg).
-
Design loads to be safe to run twice with no double-counting, using paging by key and watermarks.
-
Treat backfill as a planned job, not a one-off laptop script; treat file drops as backup only.
-
Do not rename live job names.
-
API & Platform Services
-
Own the ops-dws-api on Cloud Run that all signed-in apps use, so websites read the database and not leftover file uploads.
-
Write and review the load jobs and API in Node.js, with Python jobs for mail and file ingest.Provide stable API contracts to the Senior Software Developer and other consumers.
-
Security, Access & Environments
-
Never open database ports 3306 or 5432 to the whole internet; keep secrets in Secret Manager.
-
Never copy passwords, OTPs or access tokens; keep Microsoft Graph mail and OneDrive permissions separate.
-
Keep DEV and TEST from writing to production; promote changes through the three environments.
-
Keep personal data and secrets out of git and the public website.
-
Reliability, Runbooks & Incidents
-
Use retries, logs and job health checks so that failures are visible early.
-
Write runbooks a colleague can follow at 06:00 without the author.
-
After every incident, state what broke, what changed and how it will be seen next time.
-
Keep cloud spend explainable to finance.
-
Engineering Standards & Coaching
-
Set coding standards and review designs across more than one codebase.
-
Work in Git (GitHub) with code review and require automated tests on load jobs and SQL contracts before a change is done.
-
Follow the cycle plan, build, test, review, deploy, watch.
-
Coach the Senior Software Developer and any trainee.
-
Stakeholder Coordination
-
Work with network, billing, field and finance so that a load change does not silently break a number they use.
-
Communicate data delays and corrections clearly and promptly Minimum Qualifications and Skills
-
Matric (Grade 12) โ required
-
Bachelorโs degree in Computer Science, Engineering or Information Systems, or the same skill shown through work โ required.
-
A higher degree or a Google Cloud certificate (Professional Cloud Architect or Data Engineer) โ useful, not required.
Technical Competencies
-
JavaScript / Node.js, Python and SQL โ daily use.
-
PostgreSQL: upserts, paging by key, watermarks, views, user rights and SSL; MySQL as a source system (read in pages)
-
Google Cloud (europe-west1): Cloud SQL, Cloud Run jobs, Cloud Scheduler, Secret Manager, IAM; Firebase Auth.
-
Microsoft Graph (mail and OneDrive) with separated permissions.
-
Git / GitHub, automated tests on jobs and SQL contracts, DEV / TEST / production promotion.
-
Helpful, not required: C#, Java, Go or Rust. Experience
-
At least 8 years as a professional software engineer.
-
At least 3 of those years owning a live data platform, integration layer or similar services that other products depend on.
-
Has shipped and then run scheduled cloud jobs in production, not only built them once.
-
Has coached senior developers and set technical standards across more than one codebase.
-
Strongly useful: telecoms OSS/BSS, ISP billing, fibre inventory or other high-volume operational data; prepaid billing and call/data records also useful. Interested and qualified, please submit your CV and application letter to Kagiso@ilitha.com with the subject of the email indicating the position applied for, no later than 30 October 2026