Software Engineer (NodeJS, APIs, GraphQL, MicroServices) at Snap! Mobile (Dallas, TX)
~ This is a full-time position in Dallas, TX area (office located in Richardson) ~
Snap! Mobile, Inc. is the leading online fundraising and e-commerce platform servicing schools, teams, clubs, and booster clubs to help them get the resources they need to build the next generation of leaders. There are a hundred ways you can join us in creating a better tomorrow. Donate to a program. Buy a T-shirt. Become part of our team. Whatever it is, it will be the most important, meaningful thing you can do, because you’ll be making a difference in the life of a kid. And every kid needs a champion.
Our Team:
We support and help one another to achieve our goals together
We are domain driven, domain focused, and domain structured
We strive for clarity of work in order to protect team autonomy
We love pair programming
We take ownership in the full lifecycle of our work: discovery, development, quality control, release, and post launch maintenance
We Value:
Curiosity, creativity, courage, and playfulness
Outcome over process
Action and expediency through alignment and transparency
Constructive feedback, and recognition of each others efforts
Humility and a sense of humor
Tech Stack Summary:
NodeJS, JavaScript, TypeScript
GraphQL APIs + GraphQL Federation via API Gateway
Kubernetes, Docker, Helm
Github CI/CD with a Continuous Delivery Model
Postgres, Redis, DynamoDB, Kafka
AWS Cloud Services
Distributed Service Architecture
NodeJS API Developer Role:
We are developing a distributed system of APIs, transforming products into a scalable federated system. The NodeJS API Developer role focuses on developing new APIs via GraphQL per a specific domain. The APIs are then exposed through our API Gateway. These APIs will be consumed by a multitude of front end applications. All services are containerized and launched using our Kubernetes cluster.
At times, some of the data we need will exist in legacy systems. Unsurprisingly, legacy data may have mixed domains or schemes that are not scalable. Our task is to extract and translate the data into new databases, largely focusing on making sure a single domain is extracted, avoiding tight coupling. Then we decide wether to mass migrate or support parallel information through Kafka slowly moving away from the old system, and keeping old archived data.
NodeJS API Developer Responsibilities:
Work closely with a dynamic group of people in various time zones
Build, test, and maintain across the full cycle within a domain
Develop domain centric API services / Microservices
Own development, quality, and maintenance of each service launched
Own security, monitoring, and alerting on everything you develop
Write unit tests that help prevent regression
Own services from build to deployment, followed by maintaining service and optimizing performance
Opportunity to move across the stack between backend and frontend development if interested
NodeJS API Developer Qualifications:
3+ years of NodeJS API development (for senior candidates, 5+ years preferred)
3+ years working professionally with NodeJS in any capacity
2+ years working professionally with GraphQL
1+ years experience working with other languages besides JavaScript is highly preferred (Kotlin, Java, Ruby, Python, PHP, C#, Clojure, etc)
Demonstrated knowledge of how distributed and monolithic architectures work
SOLID grasp of programming paradigms and patterns
Clear understanding of best practices and testing patterns
Experience working with TypeScript, Prisma, Jest, and Apollo Server are a plus
High ability to tolerate the occasional dad joke or pun
Working knowledge of event driven systems
About You:
You love what you do
You are passionate about creating something awesome
You are passionate about working in teams to achieve great things
You are comfortable with change and ambiguity
Snap! Raise is proud to offer the following benefits:
Medical, Dental, Vision
401K with a 4% match from the company
Unlimited Vacation
Professional development opportunities
Monthly Wellness Classes (virtually!)
Note:
- Office located in Dallas, TX area (Richardson)
- Pay is dependent on experience and interview
- Average range for this role is between $90k - $150k
PM20