About the Project
We're working with Phil Harley on a client-server proof of concept project that requires a skilled Go developer, ideally with experience using NATS for communication between distributed systems. The goal is to build a secure system where a client application - running behind a firewall on Windows or Linux - executes SQL queries locally and communicates results to a cloud-based server via NATS.
This role is ideal for a mid-level backend developer who enjoys working in a focused, low-meeting, high-autonomy environment with modern, performant technologies.
Key Responsibilities
- Build and maintain a Go-based client-server communication system
- Implement NATS (or similar messaging middleware) for secure, real-time messaging
- Develop the client component to run SQL queries on a local database
- Develop the server component to receive, store, or process data sent from client
- Ensure compatibility with both Windows and Linux client environments
- Collaborate with the project lead asynchronously and report progress weekly
Requirements
- 4–5 years of experience with Go (Golang) in production environments
- Experience with NATS (highly preferred), or similar messaging technologies (e.g., MQTT, RabbitMQ)
- Comfortable building binaries for deployment across Windows and Linux systems
- Strong understanding of client-server architecture and distributed systems
- Experience with SQL databases and query execution
- Fluent English communication—written and spoken
- Available to work ~20 hours/week with flexible scheduling
Nice-to-Haves
- Prior experience with secure messaging across firewalls
- Familiarity with cloud-based infrastructure (AWS, GCP, etc.)
- Experience working with early-stage or proof-of-concept projects
- Previous work on real-time data systems or distributed applications