Senior Golang Engineer (EMEA)
Role details
Job location
Tech stack
Job description
We're building WunderGraph Cosmo, the open-source GraphQL Federation solution. Probably the most important component of Cosmo is the Cosmo Router, which - simply put - connects all API endpoints and handles the GraphQL requests and responses whilst applying the Federation protocol (among other magical things, like normalization, execution planning etc.). Fully written in Go, it's the fastest GraphQL Router available and a quite potent (and complex) piece of cutting-edge open-source software. How about joining our team to make it even better and strap the rocket boosters onto GraphQL Federation?, * Develop, refactor and maintain GraphQL Go Tools' (Router) open-source code base in Golang (low GC code)
- Work closely with your engineering team mates on new Router capabilities (e.g. Open Federation, new data sources)
- Focus on performance, security and stability of the Router
- Review Router telemetry to identify areas of improvement
- Run internal penetration tests of the Router
- Troubleshoot Router issues, potentially together with our customers' engineers
- Analyze and accept up open-source contributions on Github
The "Engine" is essentially a Golang application which translates GraphQL requests into any other protocol, like OpenAPI, SOAP, gRPC, GraphQL, Apollo Federation, etc. You could consider the Engine as a "GraphQL Compiler" or Transpiler. The Engine is responsible for parsing, normalization, execution planning, execution runtime, etc... If you are interested in working with ASTs, AST transformations, etc... you will love this kind of work. We have performance requirements, so you should be proficient in writing performant and low GC code in Golang.
Some of your tasks will take more than a few weeks to complete, Ideally, you're someone who likes to go deep on one topic instead of going wide and shallow on many different topics.
Here's a list of things you might be working on:
- Extend the Compiler "backend" to support Apollo Federation v2
- Extend the Compiler "backend" to support gRPC
- Implement a native Go-based data source for SOAP and OpenAPI, currently we're using a Node.js based solution with a bridge
- Improve the batching-implementation of the Engine
- Improve the performance of the Engine in general, driven by feedback from our customers, * Customers love our product because it works flawlessly, securely and fast - and because it looks darn pretty, too!
- Developers love our product because of the exceptional DX (as said before, we're an engineering company, so we care a lot about DX)
- Your teammates love to work with you because you never let them down, share your knowledge, and ship like crazy as a team
- Proper tests and clean code that prevent outages and security issues
- You grow along with us
Requirements
- Senior level of proven Golang development experience in a leading / ownership role (must have)
- Self-starter with a clear sense of priorities - no hand-holding needed
- You must be willing and able to work out solutions on your own. This requires you to dig into hard problems and stay on target until you have solved an issue in a robust way.
- Experience in working with ASTs, AST transformations etc.
- Experience in writing performant and low GC code in Golang, and knowledge of how to benchmark Go code
- You are able to work and thrive in a fully remote environment
- Excellent communicator (important for a remote team) in English
- You are willing and able to travel occasionally to meet the team in person (at least twice a year) or join working meetings.
- You are able to work within the CET time zone.
Bonus points:
- Experience with GraphQL, API Gateways, Proxies, and Networking in general is a plus
- Experience with OpenAPI, SOAP, gRPC, GraphQL, Apollo Federation is a plus
- Existing Open Source Contributions
Benefits & conditions
- Work from wherever you thrive-we're fully remote and globally distributed. If you're in Miami, come work with us in person! We also provide co-working space options worldwide if needed.
- Pick your preferred work hardware
- We focus on getting stuff done, and on having fun whilst doing so: work hard, play hard!
- You can make a real difference and find lots of opportunities to grow together with us
- Discretionary PTO: take the time you need to recharge
- Competitive compensation
- Depending on location, we offer healthcare benefits according to local standards
- Team retreats across the globe