Backend Developer PriceWaiter is looking to expand our development team in order to bring features to market more quickly and iterate on customer feedback. PriceWaiter brings a unique approach to online shopping, creating marketplaces with a better experience for both buyers and retailers. As part of a small team, your ideas will have an impact on product direction and your experiments and iterations will be quickly tested in the real world. The Position: As a Backend Developer you will create GraphQL and REST APIs, batch processing jobs, and data storage solutions to meet the needs of our frontend applications. A strong candidate for this job can balance stable, performant solutions with the ability to adapt to shifting requirements as our team responds to customer and market fit needs. We are looking to fill this position immediately. While not requiring a formal Computer Science background or specific number of years of experience with particular web technologies, applicants should take into consideration that this is NOT an entry-level position. We need someone who can take on complex projects independently from day one. Required Skills: - Significant professional experience in programming web applications - Ability to use modern JavaScript (ES2017+), NodeJS, Apollo and Express (or similar technologies) to write web APIs - Solid understanding of SQL, ORMs, database schema design and query optimization - Knowledge of design patterns, data structures, algorithms, performance analysis - Designing for testability; writing effective unit and integration tests - Evaluation of open-source packages for feature match, security, maintenance status - Understanding of git and the core concepts of working in a team of developers Bonus Skills: - Elasticsearch or similar search appliance usage - Understanding of payment processing, shopping carts, ecommerce product data - Experience designing long-term data storage solutions - Using and improving DevOps tools in the deployment pipeline - Experience with our stack--find a list of some of our core technologies below Responsibilities: - Contribute to brainstorming and design of new features to meet the needs of customers - Collaborate with frontend developers to design and deliver APIs used by React client applications - Participate in architecting projects and solutions to meet customer requests and add new features to the product - Take responsibility for all facets of a feature, including database schema, API design, code implementation and testing - Manage your own workflow to meet the deadlines set within your team - Clearly communicate any bottlenecks, suggestions, improvements, ideas - Deliver clean, modern, testable, well-documented code - Manage code in your projects with git and participate in reviewing team members’ projects and PRs In addition to competitive compensation, we provide: - health, dental, and vision insurance - 401(k) plan with employer matching - parental leave - paid vacation days - potential to earn company equity Technologies used at PriceWaiter - React, Typescript, ES6+ - Webpack, Rollup, SASS, postcss - NodeJS, GraphQL, REST - Mysql/MariaDB, AWS DynamoDB, Elasticsearch - Job queues, Redis, AWS SQS - Docker containers, AWS ECS containers - Team communication via Slack About PriceWaiter Company Size: 10 people Location: Downtown Bellingham, WA (Technical Team) and Chattanooga, TN (Sales/Marketing/Exec Teams) PriceWaiter’s mission is to make buying and selling better by making negotiation fast, simple, private -- and ultimately ubiquitous. Negotiation is the oldest idea in commerce because it works, but it needs an upgrade. PriceWaiter is that upgrade. We are an equal opportunity employer and value diversity at our company. How to apply Email the following three items to be considered for this position: - Resume - Cover Letter - Describe a website, app or software project which you find inspiring and tell us why