What You Will Do
- This position is working on a team to build out core eventing, data shaping, data security, APIs and API Architecture, and operational insights. Here are the kinds of projects you will likely work on in the foreseeable future:
- Build and deploy maintainable, highly available, fault tolerant serverless applications leveraging AWS EventBridge, SNS, SQS, API Gateway, among other technologies.
- Design an event driven platform to expose actions in the system to other development groups for easy integration.
- Design APIs used by internal and external customers supporting OAuth and mTLS based authentication.
- Build software with an instrumentation first mindset. Leveraging tools such as Honeycomb and AWS XRay for distributed tracing and logging.
- Write CICD and SAM/CloudFormation scripts to continuously push your software to the cloud and provide a way to promote your code to higher environments.
Backend: Lambdas (Golang, NodeJS), EventBridge, SNS, SQS, ApiGateway, CloudFormation
Database: Snowflake, MSSQL, DynamoDB
Ops: CloudFormation (SAM), Honeycomb, CloudWatch, Gitlab CI
The Ideal Candidate
- We are seeking a senior level backend software engineer with experience in Golang and good understanding of systems with the following experience:
- Demonstrated effective remote work doing a mix of independent, collaborative, and supportive software development work such as:
- Independent: adding new features based on a domain description and general idea of codebase organization or troubleshoot and fix defects based on bug reports that may or may not include stack traces
- Collaborative: pair programming with others occasionally to help bring other developers up to speed with techniques and Golang related skills.
- Supportive: responding to teammate queries for help when you are able or reviewing code changes for other teammates.
Have experience in writing scalable and highly available services.
A background in quickly troubleshooting problems and taking lessons learned from the problem and journey to identify the problem to make the codebase better (improve logging or instrumentation to help identify issues faster).