The Senior 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:
- Has 5+ years of development experience
- 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