Staff Front End Engineer
Staff Front End Engineer
Toronto, Ontario, Canada
This job allows you to work remotely
As a key member of our Front End team, you’ll be joining at a pivotal time as we migrate our codebase to React utilizing Typescript, Redux, Styled-Components, Storybook and Jest. You’ll share the load of continuing to develop on our existing platform with the rest of the team and be someone we can ideate with and help raise the bar in the quality and stability of our product together. As we grow our development team, you will be a key player in migrating our codebase to a modern frontend framework and directly influence decisions to take the platform to the next level.
As a Staff Front End Engineer, you will:● Design. You will design new features and services on the Front End suite of the Platform, which consist of three (3) products:
Studio Product, offering graphical tools to fully enable users with no to little technical background to develop formflows to satisfy complex business logic.
UI Product, a customer-facing data collection engine which “runs” the formflows, collects data from users as they “fill” out the forms, uploads the submission and returns client-side output to the user.
Catalog Product, an attractive auth-enabled web portal providing a listing of, and access to, all published forms in a given environment.
● Deliver. You will deliver clean, efficient and DRY code. Sure, you know some fancy tricks and techniques, but you also write detailed developer comments as you go on (or before you PR).
● Code. You will not be “shipping and forgetting” code in this role. The code you and your teammates write today will be the code we are supporting next week, next year, and beyond. Quality, consistency and sustainability are the keys to success in this role, so you should be a person who takes pride in doing high-quality work and sticking with it. You will be appreciated for your technical maturity and ability to deliver robust code within practical constraints. Taking an “it’s good enough,” “race-to-the-finish” approach will not work well here.
● Collaborate. All 3 codebases mentioned above, exist independently but also evolve together, along with the services built by the backend team. You will regularly communicate and collaborate with backend and frontend teams, co-own schema and feature specifications. For this reason, an understanding of web-based client-server models and/or previous backend or full stack experience would be an asset.
Must Have Skills:
● Bachelor’s in Computer Science, Software Engineering, Web Development, a related field or comparable professional experience
● 2+ years' experience providing technical leadership, in addition to mentoring and supporting other engineers
● experience building and compiling your source with Node packages and you can explain what Babel is used for
● working knowledge of CSS/SCSS, and comfortable enough to accurately reproduce the look and feel based on design materials provided to you
● familiarity with the client/server model in website and web application development, and ideally you have worked on some complex SPAs before (but that’s not a deal-breaker)
● ability to demonstrate deep empathy for your users, understanding they come from a wide range of backgrounds, abilities and choices of preferred device and web browser
● you know how to work with Git and probably already have a GitHub account with contributions
● you have excellent verbal and written communication skills. You can effectively communicate and collaborate cross-functionally on various projects and teams
● the desire to grow and adapt
● you can adapt quickly, innovate solutions and embrace the new while accepting the ambiguous
● you want to be part of a company that is pivoting, a collaborative place where your voice will be heard
● as a Front End Engineer, you like to give and receive detailed feedback on PRs, and are not afraid of CRs, because you appreciate that it’s a way to collaboratively achieve the best quality code
Nice to Have Skills:
● Familiarity developing in a Mac ecosystem
● Working with (and/or upgrading from) AngularJS 1.x
● Experience with jQuery, including how and when to use it properly (and when and why not to use it)
● AWS, Shippable, Jenkins would all be great to know but not required;
● Very good at dealing with many quirks of web-based APIs
● Unit testing and end-to-end testing using tools such as Jest, NightWatch or Cypress
● Accessible web design experience (knowledge about WCAG-compliance and have worked with screen-reader tools such as JAWS)
● Past work in a role that involved business analysis or process development
● Responsive web design for cross-platform support
● Supporting IE11 (although the clock is ticking on this, and we promise it’s not a major part of the job).