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.
You must have professional, production experience in:
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
As we are a startup, we are still building toward our ultimate vision, and are still building out our technical infrastructure. You will be one of a handful of engineers with a hand in charting the course! Planned upcoming technologies include:
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
Tools we use every day:
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
Bonus experience includes:
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
The role requires at least five years of experience on a team building production client-server backend software deployments.