About this role
Job title: Senior Platform Engineer (Go Microservices, Distributed Systems)
About the Role This is a senior technical ownership role across CommandLink's platform engineering function with high autonomy. You will drive architectural decisions, own end-to-end delivery, and set the engineering bar as we decompose a mature PHP monolith into Go microservices and scale the distributed systems underpinning our global SaaS platform.
What You'll Do
- Lead decomposition of PHP monolith into well-scoped discoverable Go microservices, deciding service boundaries, data contracts, and migration sequencing.
- Design, develop, and maintain scalable Go services and API gateways with auth and authorization boundaries.
- Lead technical design and architecture discussions, balancing speed with long-term maintainability.
- Architect and evolve our distributed data infrastructure: event-driven pipelines (Kafka), durable workflow execution (Temporal), search and analytics (OpenSearch), and graph-based data modelling (Memgraph).
- Integrate with third-party APIs, telemetry systems, and network infrastructure, including SD-WAN controllers, VoIP platforms, and network device telemetry, to extend platform capabilities.
- Support Terraform-managed cloud infrastructure; enforce standards for reproducibility, security posture, and cost-aware architecture.
- Support SLAs/SLOs, and CI/CD quality gates.
- Write clean, testable, well-documented Go and hold the team to the same standard through rigorous code reviews.
- Identify and resolve performance bottlenecks, reliability issues, and scalability gaps before they become customer problems.
- Mentor junior and mid-level engineers, sharing best practices in software design, distributed systems, and network-aware system thinking.
- Participate in on-call rotations and contribute to a culture of operational excellence.
- Take on additional responsibilities and projects as needed to support the success of the team and organization.
What you'll need for success
- 8+ years of professional software engineering experience, with significant depth in backend systems and production-grade distributed architectures.
- Expert-level Go, including idiomatic patterns, concurrency model (goroutines, channels, context), standard library, and the judgment to know when not to reach for complexity.
- Practical experience with LLM development processes for success and minimising technical debt.
- Demonstrable experience decomposing a PHP monolith. You understand strangler fig patterns, anti-corruption layers, and how to migrate data ownership without big-bang rewrites.
- Hands-on experience with Kubernetes for container orchestration and OpenSearch for search and analytics workloads.
- Experience with Kafka or equivalent event streaming: topic design, consumer group management, back-pressure, and operational concerns at scale.
- Experience with Temporal for durable workflow orchestration: workflow/activity design, failure handling, and versioning.
- Experience with Memgraph or equivalent graph database: modelling connected data and integrating graph queries into application logic.
- Deep experience with; log management, custom metrics, dashboards, and monitors.
- Terraform for infrastructure as code: module design, state management, and multi-environment configuration.
- Solid understanding of relational and non-relational databases, query optimisation, and data modelling.
- Strong networking and systems fundamentals, including routing, switching, DNS, BGP, VLANs, or equivalent. You don't need to have built a router, but you need to be comfortable building systems that talk to them, reason about latency and protocol behaviour in production, and integrate with network device telemetry (SNMP, NetFlow, syslog, or similar).
- Comfortable working across major cloud environments (AWS or Azure), including managed services, IAM, networking, and cost-aware architecture.
- Excellent written and verbal communication skills, especially across distributed teams and time zones.
- An ownership mindset. You don’t just close tickets—you understand the product, ask the right questions, push back on unnecessary complexity, and leave the codebase better than you found it.
Nice to Have
- Familiarity with Steampipe, Osquery, or similar cloud asset inventory platforms
- Experience with stream processing frameworks such as Apache Flink
- Knowledge of data mesh or data fabric architectural patterns
- Background in network management at the ISP or MSP layer
- Background in cyber security
- Contributions to open-source data infrastructure projects
- Exposure to SD-WAN, VoIP, BGP, or MPLS, or genuine curiosity about how enterprise networks are built and operated
- gRPC and Protocol Buffers for service-to-service communication
- Working knowledge of Python for tooling, scripting