The Position: Do our values align with you? Are you an experienced Full-Stack Software Developer looking to join a dedicated team working together to build rewarding careers and an incredible business? If so, please read on for more information!
This is a full-time role reporting to the Head of Engineering. This role will contribute to all stages of the software development life cycle: from participating in design and requirements breakdown, architecture and technical solutioning, analyzing / refactoring code, application development, and creating documentation. Strong full-stack capabilities are desired for this role, but developers with particularly strong experience either on the front-end or back-end and desire to do full-stack are most welcome to apply.
Only Canadian applicants based in Canada will be considered.
The ideal candidate will have:
- Bachelor's Degree in Software Engineering, Computer Science or equivalent
- 6+ years developing dynamic web-based applications in a professional environment
- Experience with front-end development including:
- Strong knowledge of typescript and it's best practices
- Front-end development using common frameworks - Angular/React
- Experience with recent versions of Angular or desire to work with Angular
- Developing RESTful web APIs.
- Experience with back-end development including
- Knowledge of Java/Kotlin or similar languages
- Experience with frameworks like Spring / Spring Boot
- Experience with relational databases and ORMs
- Knowledge of, exposure to, or experience with:
- Web application server-side development frameworks, specifically Node.js / express.js with NoSQL database.
- Data visualization and data analytics libraries and tools.
- Strong focus on quality including code quality, unit testing, and general advocacy for continuous improvement
- Ability to work independently and as part of a team; a self-starter, comfortable working with complex systems, eager to take on a wide range of responsibilities.
It would be great if you also have:
- Understanding of AWS cloud services.
- Exposure to Apache Spark
- Knowledge or exposure to Scala
- Knowledge or exposure to Python
- Any familiarity with electrical engineering concepts and terminology.
- Interest or exposure to machine learning tools and workloads.
- Experience building/maintaining multi-tenant product environments, data management for multi-tenant environments, database migrations for multi-tenant environments.
- Contribution to any opensource projects or libraries.
As a Full-Stack Software Developer you will:
- Be involved throughout the software development life-cycle:
- Offer suggestions and opinions towards technical solutioning for new development tasks.
- Complete software development tasks across the application with an emphasis on high-quality code.
- Identify and quantify (i.e. priority, time estimate) "tech debt" within the codebase(s).
- Produce high-quality, effective, and sustainable code; ensure code is functional, testable, maintainable, and meets business requirements; ensure code is tested with test cases.
- Understand the ins-and-outs of the company's software products from a technical perspective (i.e. architecture, design patterns, code structure).
- Proficient in core aspects of business logic and user interactions with the company's software products.
- Accept and produce feedback with the software development team:
- Perform peer-reviews, review of pull requests for code style, design patterns, and best practices.
- Perform code reviews and documentation when required to share knowledge with other team members.
- Contribute towards best practices and technical resources within the development team.
- Involvement in software implementation process as required, such as client delivery.
- Peer within the development team, and mentor to intermediate, junior, and student developers
What we offer:
- Fully remote work with offices in Calgary and Toronto.
- Flexible work hours (Core working hours 10:00AM to 3:00PM).
- Autonomy with a wide range of responsibilities, opportunities for advancement, and cross-disciplinary exposure.
- Stock options so you can realize the value created with your work in the organization.
- The opportunity to put your skills to work, add milestones to your resume, and be part of something great from the early stages of a promising business.
- Interactive and supportive remote workplace culture.
- Competitive compensation package.
- Paid time off and Benefits.
- Health spending account.