We are looking for a Node.js developer responsible for developing new microservices for our product platform, and maintaining the operation of the existing 400+ microservices in our architecture. Our platform is built on AWS, serverless-first and consists of hundreds of Node.js microservices that run across thousands of AWS Lambda functions. With a loosely coupled architecture and aggressive unit, integration, and end-to-end testing coverage, each microservice is tied to a continuing integration & delivery pipeline that allows us to deploy to production dozens, sometimes hundreds, of times per day.
Your primary focus will be the development of server-side logic and your responsibility will extend all the way to the production infrastructure for each microservice. Since each microservice is self-contained and uses CloudFormation for Infrastructure-as-Code (IoC), you will develop not just code, but the resources the code needs to work.
In addition to business logic, the microservices you create will be loosely coupled and use event-based processing (SNS/SQS/Event Bridge) for orchestrating and handling complex activities such as order processing, product fulfillment, or customer messaging. You will own the API endpoints for your microservices and coordinate with front-end developers to ensure they have what is needed to create a quality customer experience.
We want - no, we insist - that our engineers stay abreast of technological developments, join meetups, and attend one major technology conference every year.
Essential Duties and Responsibilities
- Designing and developing new features for our Node.js microservices
- Coordinating with Angular engineers using the API endpoints you provide to develop UI features
- Defining AWS resources needed by each microservice: Lambda functions, DynamoDB tables, SQS queues, SNS topic, API Gateway endpoints, Step Functions and more
- Writing reusable, testable, and efficient code
- Building, deploying, and supporting new microservices as needed for new features
- Performing peer code reviews to ensure code meets quality standards
- Mentoring less experienced engineers
- Consulting on new hires and providing feedback on capabilities of engineering applicants
- Staying up-to-date on new technology and best practices then spreading your knowledge to the rest of the team
Skills & requirements
Skills and Qualifications
So - is this job right for you?
For you - the ideal candidate - the answer is an easy one:
- You hate the idea of grinding away on a legacy product built on decade-old technology
- You want the freedom to solve problems the way you want: using the latest tools and techniques without being bound to a huge monolithic application
- You want to work in a fast paced environment where you can deploy to production in minutes without a two-week long sprint process
- You have experience designing + developing solutions using several of the AWS services we love: Lambda, API Gateway, DynamoDB, Step Functions, SNS, SQS, Kinesis, S3, CloudFront, CloudFormation, Redshift, EventBridge, Athena, Glue, ...and more
- You like working with customers and and creating customer joy through your work
- You want to own your work all the way from design to production to the customer’s hands
- You have strong interpersonal skills and want to continuously improve through giving and receiving feedback
- A slow, steady smile has spread across your face as you’ve been reading this
What are we looking for?
- 6+ years of professional software development experience
- 3+ years of experience developing solutions using Node.js
- 3+ years experience designing and developing solutions on AWS
- Experience designing and building RESTful APIs using Node.js, Swagger, JSON, YAML, JWTs, and NoSQL