We're looking to find an enthusiastic and knowledgeable Go Software Engineer to join us to work on both large and small internal software projects. Our team is primarily working to develop our cloud platform - Katapult - and also work on other in-house tools and applications.
At Krystal we’re using Go to build a variety of different types of software:
- Systems tools
- System agent/service processes
- HTTP proxies, servers and middleware
- gRPC servers
- Prometheus exporters
- Kubernetes add-ons (operators/plugins/etc.)
- Traefik middleware
- Caddy plugins
- Terraform providers
- Caching services
Essential requirements
- Comprehensive experience of developing software with Go
- Familiar with idiomatic Go, adhering to best practices
- Linux - all our servers run Linux (usually Ubuntu).
- Working knowledge of source control using Git & GitHub
- Keeping up to date with the ever changing landscape in our industry
- Willingness to help, mentor and motivate other members of the team when required
- Being able to work with others to solve challenging problems
Highly desirable experience
- Experience of working with and developing APIs including gRPC and REST fundamentals
- Knowledge of Kubernetes, libvirt and Prometheus metrics
- Exposure to the Test-driven Development (TDD) life cycle
- OOP, design patterns and composition of code
- Experience working with GitHub for project management (including Issues and Projects).
- Expertise in agile methodologies and sprint rituals
- Confidence in pair programming exercises