SAM Labs is an award-winning EdTech start-up. Founded in 2014, growing fast, making a difference, and venture capital funded. With over 9,000 school customers in 60+ countries already using SAM Labs products and lesson materials, SAM Labs is looking for more talent to join its team!
SAM Labs inspires generations of problem solvers with Coding and STEAM. We empower teachers with innovative curriculum resources, tools, and the mindset to do so. Teachers and students learn with SAM Labs kits and lessons by designing anything from energy efficient lighting grids for ‘smart’ cities to solar-powered habitats for endangered species - all the while meeting curriculum standards.
Overview
SAM Labs is looking for a Senior Backend Developer with strong experience in back-end development, TypeScript, AWS services, and infrastructure-as-code tools to help maintain and extend our backend codebase. You will be responsible for enhancing our backend architecture, designing scalable solutions, and implementing infrastructure best practices with a focus on performance and security. As a senior team member, you will play a crucial role in advancing our products.
This is a fully remote position reporting to the Lead Developer and Director of Product.
What You’ll Do:
-
Architect and Develop: Maintain and develop our backend services in TypeScript, creating scalable, secure, and maintainable server-side code.
-
Collaborate Cross-functionally: Work closely with the Lead Developer and Director of Product to define technical requirements and architect efficient backend solutions.
-
API Design and Implementation: Design and build RESTful and GraphQL APIs using AWS Lambda, API Gateway, TypeScript, NestJS, and AppSync, prioritizing scalability, real-time functionality, and offline capabilities.
-
Database Management: Optimize data models and access patterns for both AWS DynamoDB (NoSQL) and MySQL (SQL), ensuring efficient storage and retrieval.
-
Authentication & Authorization: Implement and manage secure authentication/authorization systems using AWS Cognito.
-
Event-driven Architecture: Integrate and scale event-driven messaging systems with AWS SQS for reliable application performance.
-
Serverless Deployments: Utilize the Serverless Framework to deploy and manage serverless applications on AWS, adhering to best practices.
-
Infrastructure as Code: Manage and automate infrastructure using Terraform and Terragrunt, ensuring efficient and repeatable deployments.
-
Performance Optimization: Identify and address performance bottlenecks, enhancing system reliability and scalability.
-
Code Quality: Write, review, and maintain unit tests to ensure code quality, maintainability, and functionality.
-
Stay Current: Keep up with industry trends and emerging backend technologies to continually improve our stack.
What You Bring:
-
Experience: 4+ years in backend development with a focus on TypeScript and/or JavaScript, ideally with extensive experience in AWS services.
-
AWS Expertise: Proficient in AWS services, including Lambda, DynamoDB, Cognito, SQS, and AppSync.
-
Database Skills: Proven experience in both SQL and NoSQL databases, with a strong grasp of data model optimization for MySQL and DynamoDB.
-
Serverless Architecture: Advanced understanding of serverless infrastructure and deployment with the Serverless Framework.
-
Infrastructure Automation: Hands-on experience with Terraform and Terragrunt for managing infrastructure as code.
-
API Development: Proficient in building and maintaining RESTful (NestJS) and GraphQL APIs.
-
Best Practices: Knowledge of software development principles, design patterns, and best practices, with an ability to champion code quality.
-
Agility: Experience working in Agile environments, using tools like Git for version control.
-
Problem-solving: Strong analytical skills with a proactive approach to tackling complex technical challenges.
-
Communication: Excellent collaboration skills, with a proven ability to communicate effectively within a fully-remote team.
-
Continuous Growth: Driven to keep learning and improving with time, willing to take on new challenges and hone existing skills with a positive attitude.
Why Join Us?
In this role, you’ll drive backend innovation, scalability, and efficiency, working with a passionate team in a dynamic environment where your contributions will directly impact the growth and success of our products, reaching hundreds of thousands of learners around the world.