The Role
The Backend Software Engineer is the technologist responsible for designing, developing, and maintaining our core Federated GraphQL APIs and backend micro services for all Go products and services. The ideal candidate:- Loves to build maintainable APIs for client teams and work.
- Has real-world experience designing and deploying Microservices and Federated GraphQL Schemas
- Has experienced all stages of a software product lifecycle;from building an early alpha, to rapidly iterating measuring and learning, and on past large scale adoption.
- Has a good understanding of Docker, managed Container Services, and the role they play in a microservices architecture.
- Has experience designing solutions that run on AWS, Functions and ECS
- Sees value in Unit Testing and striving for high code coverage
- Enjoys mentoring junior developers and setting team coding standards
- Takes downtime personally and is willing to respond to and troubleshoot production outages in real-time.
- Node.js as TypeScript
- MongoDB via Mongoose
- SQL (AWS PostgreSQL a bonus!)
- GraphQL using Apollo Server
- Microservices architecture and deployments
- AWS (e.g. S3, EC2, Lambda, etc)
- Docker
- An understanding of DevOps and Infrastructure as Code
- Postgres or similar SQL database for data science &analytics-type work.
- Redis or similar caching solution for common data reads (and some writes).
- Pub/Sub or similar messaging/queueing system for processing asynchronous out-of-request tasks.
- Federated GraphQL API Gateway
- Gitlab, and Jira for source control, PRs, and task &issue management
- Confluence for Product and Feature requirements
- Slack for team communications
- Google Workspace for file storage, email, etc
- Experience in recommendation or machine learning systems
- Container services such as Docker and Kubernetes
- Production availability &performance monitoring
- Advanced Mongo Database experience with performance tuning
- Experience with Database search and indexing solutions
About Team Go
We use technology to inspire and empower humanity, and to enrich real-life relationships withfriends, family, and community because we believe in a world where social technology unites usand makes us happier. We started on this mission by putting together a team of people to fixsocial isolation and bring people together to do things they love. By looking at how people make plans with one another, we built the Go app around peoples’existing behaviors: sharing plans with our friends, inviting friends to collaborate, finding time tohang out, and the last (best) part: making it all happen in real time, in real life. We also want the local businesses in your community to be part of the conversation, whichsupercharges the Go app and helps you find what you love to do and do it with the people youalready know.