Say hello to Newton — Canada's first no-fee cryptocurrency platform. We see a future where financial systems are open to everyone and built to empower people to embrace financial freedom. We believe cryptocurrency plays a role in that future, so we're making it more accessible to Canadians.
Our engineering team is focused on delivering robust, testable software that will allow us to scale our core business and growing user base.
As a senior software developer at Newton, you will work on the business logic of our main projects in NodeJS and Django. You'll use modern techniques, tools, and frameworks and can communicate the tradeoffs for your technical decisions. You'll drive features from start to finish, from gathering requirements with business stakeholders to leading technical design and implementation. When mistakes are made, you dive deep into root-cause and focus on solutions. You work well in a small collaborative team; every member is a key contributor. You'll mentor junior engineers in delivering solutions and lead the team in best practices.
You’ll be responsible for:
* Building and architecting our authentication platform; you’re passionate and opinionated about sessions, cookies, and tokens
* Ensuring our authentication protocols are secure but user-friendly; you have prior experience in authentication, single sign-on, and security
* Developing clean, efficient code with accompanying unit tests
* Being a force-multiplier for the development team; solutions you provide are simple, scalable, and enable engineers to code more effectively
* Writing integration tests to ensure code quality
* Participating in code reviews and inviting others to review your work
* Learning and sharing knowledge with the rest of the team
Nice to haves:
* Experience in a startup environment; you're a self-starter
* Experience with AWS products
* Experience with SQL and NoSQL databases
* Experience with unit testing
* Experience with version control tools like Git
* Experience working with APIs, different authentication schemes, etc.
* Familiarity with issue tracking tools (i.e. JIRA, Asana)
* Experience with CI / CD
* Familiarity building tools across multiple apps or platforms