Join CertiCraft as a Senior Backend Developer to design and implement maintainable and reliable solutions using TDD and DDD. We value creativity, innovation, and pragmatism to solve real problems.
Key Highlights
Technical Skills Required
Benefits & Perks
Job Description
Senior Backend Developer @ CertiCraft
TypeScript + Node.js
TDD, DDD, CQRS/ES
Salary: $100,000 - $130,000/yr (commensurate with experience) + stock options
Overview
We are looking for a talented senior backend (or full stack) software developer to join our growing team. To be considered, you must have significant experience with CQRS/Event Sourcing. We are CertiCraft (https://CertiCraft.com), a small fully remote company based out of BC that helps licensed cannabis producers thrive in the legal market. We do this through our software that fully digitizes and automates the regulatory compliance requirements set out by the Government of Canada. We have been operating since 2018, released the first version of our product in 2019, and have over 150 customers today (out of ~850 total license holders in the Canadian market). If you would like to learn more about us, you can check out this video (https://www.youtube.com/watch?v=kDKI2ZtWB74). We have won multiple investment competitions, including the OKGN Angel Summit ($150,000 investment prize, https://accelerateokanagan.com/blog/2022okgnangelsummitwinner/).
At CertiCraft, our approach to development is product-centric and we value technical excellence. We utilize test-driven development (TDD) and domain-driven design (DDD) and do not cut corners with our implementation. We’ve developed our own platform from scratch within the Command-Query Responsibility Segregation and Event Sourcing (CQRS/ES) world and have received over $1m in funding from the government to support this development.
We value creativity, innovation and pragmatism to solve real problems. We work very closely with our customers so that our daily work has the biggest impact for their business.
We are looking for a driven, creative and empathetic individual who collaborates well with our team. Listed below are the responsibilities of this role, but we want to highlight that we are looking specifically for people who excel at algorithm design and building complex architectures and have substantial experience with Event Sourcing. If this is not you, please do not apply.
Role & Responsibilities
- Architect, implement and support solutions that are maintainable and reliable using a TDD & DDD approach.
- Design algorithms and data models for complex systems.
- Evolve our CQRS/Event Sourcing infrastructure.
- Participate in code design reviews to ensure team-wide work is moving forward in the best manner possible.
- Review prototypes implemented by other developers.
- Act as a mentor for the team, conduct thorough code reviews, and enforce coding standards and architectural patterns.
- Adapt to the technological challenges in a fast-paced startup environment.
- Look for opportunities to enhance or optimize our product and take the initiative to bring it to the team’s attention.
- Participate in weekly retros to help improve the practices and culture of the dev team.
- Work with stakeholders—often CertiCraft’s UX designer and CEO (also a senior developer)—to design complex systems and models prior to development work, and iterate on the designs through conversations with stakeholders and other colleagues.
- If a complex project is your responsibility, then once designs have been agreed upon by the team, break down the complex project into stories (tasks) using the format used by the team.
Qualifications
- Must have significant experience with Event Sourcing (ideally within a CQRS context).
- Significant experience with Node.js & Typescript.
- Understands and practices TDD.
- Has knowledge of standard design patterns and principles.
- Has 8+ years of development experience.
- Preferably experienced with Domain Driven Design, SOLID principles, and layered architecture.
- Preferably experienced with the Firebase ecosystem and GCP.
- Preferably has a computer science degree (or applied mathematics, logic, etc.).
Remote Work + Other Considerations
This is a fully remote position, but you must be a Canadian citizen, permanent resident, or have a valid Canadian work permit and be in a Canadian timezone to be considered. You must also be professionally proficient in the English language.
If you do not meet our qualifications, please do not apply. If you meet our qualifications, you’ll hear from us. Thanks for your interest!