About the position
Our client is a privacy-preserving data collaboration platform used by enterprise financial services, retail, and data-intensive clients across South Africa, the UK, US, UAE, and Brazil.
The company’s client-facing product is the company’s Desktop Connect v2 (“Desktop Connect”), an Electron desktop client with a [URL Removed] renderer and C# backend that runs on client Windows/macOS endpoints, backed by Server Connect, a C# .NET console application that runs on the client’s own Windows or Linux servers to handle the server-side connection. Both are deployed directly into client-controlled corporate networks — where installation, configuration, networking, and security are first-class engineering problems, not afterthoughts.
They also maintain a companion Angular web app, which this role occasionally contributes small fixes to (see Production/Incident Responsibilities).
This role owns getting that application installed, trusted, and running in environments they don’t control, and diagnosing it — end to end, across the application code, the desktop client, and the surrounding network — when it doesn’t. This is not a help-desk role. You’ll read C# stack traces and debug [URL Removed] client behavior with equal fluency, diagnose the Server Connect .NET console app on both Windows and Linux, reason through firewall rules and certificate trust chains, and use Azure Monitor and Log Analytics to catch problems before a client has to report them. You own your cases end to end, and you’re expected to leave the documentation and tooling better than you found it, so the next failure of the same kind doesn’t need you at all.
What you’ll do:
- Serve as the primary technical point of contact for enterprise clients running into trouble with Desktop Connect.
- Own remote support sessions from first contact through verified resolution — triage, clear communication, and a written summary of what happened and why.
- Lead remote installations and upgrades into corporate networks with real security constraints and validate that they actually work post-deployment.
- Spot patterns across recurring cases and drive them to a permanent fix — in the product, the docs, or the install process — rather than re-solving the same problem every time.
- Own the company’s installation documentation and support knowledge base as living systems, not static files.
Technical responsibilities:
- Application-layer diagnosis, both directions of the stack, at equal depth:
- C#: read and interpret application code, stack traces, and logs well enough to brief engineering with a precise root cause — you don’t need to ship the fix, but you need to find it.
- js/Electron: diagnose client-side failures using browser DevTools (console, network, performance), reason through Vue component and state-management issues, and debug Electron-specific failure modes — main/renderer process crashes, IPC failures, packaging, codesigning, and auto-update failures — across Windows/macOS enterprise endpoints for Desktop Connect.
- Server Connect diagnosis — troubleshoot the Server Connect .NET console application across both Windows and Linux server deployments — service/process startup failures, configuration and connectivity issues, and log-based root-causing on each OS.
- Environment and network diagnosis — firewall rules, proxy configuration, certificate trust chains (PKI, self-signed certs, trust stores, TLS), allowlisting, and network path issues. This is where most of the hardest cases actually live, and it’s the skill that most reliably separates this role from a generic support or developer background.
- Observability — use Azure Monitor and Log Analytics to query, interpret, and act on telemetry and error logs; write PowerShell/Bash scripts to speed up diagnosis of recurring failure categories.
- Classification — tell the difference between a support/config issue, an environment issue, and a genuine product bug, and route each correctly, with structured reproduction cases for the ones that go to engineering.
Production / incident responsibilities:
- Triage incoming cases by severity and manage client expectations with clear, timely communication.
- When you’re not handling active client issues, you contribute to small bug fixes and stability improvements across the C# backend, the [URL Removed] desktop client, and (secondarily) the Angular web app — the same code-reading depth from your diagnostic work, applied proactively. This is a secondary responsibility: active client cases always take priority.
- Escalation availability for confirmed client incidents outside standard South Africa business hours, given the company client base spans the UK, US, UAE and Brazil. This is bounded, occasional, and compensated (mechanism to be confirmed — TOIL or standby allowance) — it is not a 24/7 on-call rotation and does not extend to ownership of the company’s own hosted infrastructure uptime.
- Contribute to Azure networking discussions relevant to client deployments (VNets, NSGs, private endpoints) and feed support-discovered edge cases back into sprint reviews — as an input to engineering’s planning, not a standing ceremony-attendance quota.
What the company is looking for:
- You’ve outgrown either pure development or pure helpdesk support, and you want a role where technical depth, client communication, and ownership of a real technical domain intersect.
- You’re comfortable being the only person in the room who understands both the stack trace and the firewall rule standing between a client and a working install.
- You don’t default to escalation — not because you’re afraid to ask for help, but because you’re usually the one who can actually work out what’s wrong first.
Must-have experience:
- Hands-on C# — sufficient to read, debug and interpret application code, stack traces, and logs. You don’t need to be a full-time developer, but you need to be genuinely comfortable in a C# codebase.
- Hands-on [URL Removed] and Electron diagnostic experience at equivalent depth to C# — comfortable in browser DevTools, Vue component and state-management debugging, and diagnosing Electron main/renderer, IPC, packaging and auto-update failures in real enterprise deployments.
- Working, hands-on familiarity with Angular (component/service structure, routing, state) — enough to make small, safe bug fixes to the companies companion web app. This is secondary to the [URL Removed] experience above, but genuine exposure is required, not just passing familiarity.
- Comfortable working from the command line on both Windows and Linux server environments, and able to install, configure and troubleshoot a .NET console application (Server Connect) on either — this is where Server Connect deployments actually run.
- Proven experience diagnosing complex enterprise environment failures: firewall rules, certificate trust chains, proxy configuration, allowlisting, network path issues.
- Proficiency with Azure Monitor and Log Analytics for operational troubleshooting; demonstrated experience running remote installations and technical walkthroughs with enterprise client IT teams.
- Clear, professional written and verbal communication — you write documentation IT administrators actually trust and follow.
- 5+ years in a technical support, solutions engineering, or platform engineering role, with at least 2 years client-facing.
Nice-to-have experience:
- Experience
- Azure networking depth: VNets, NSGs, private endpoints, Azure DNS, Application Gateway.
- Electron packaging, auto-update mechanisms, and codesigning at production scale.
- Linux system administration depth (system/service management, journaled/log inspection, package management) — a bonus given the added flexibility it brings to supporting Server Connect on client Linux servers.
- PowerShell and/or Bash scripting for diagnostic automation.
- Certificate/PKI management in enterprise environments.
- Enterprise SSO/identity (Azure AD/Entra ID, SAML, OIDC).
- Basic SQL/data-layer literacy for pipeline-adjacent tickets.
- A cloud certification (AZ-[Phone Number Removed];) — nice to have, never required; the company rather see it demonstrated than certified.
- No formal qualification required if your experience demonstrates the depth above.
Why this role matters
Every enterprise client who cannot get Desktop Connect installed, or stops trusting it after a bad experience, is a deal or a renewal at risk — and every recurring failure you eliminate for good is time back for the whole engineering team. This is a role with real technical teeth and real client-facing stakes, not a queue to clear.
Desired Skills:
- C#
- Server Connect diagnosis
- Vue.js and Electron diagnostic
- Azure Monitor and Log Analytics
- Application Support Engineer