We're seeking a Software Engineer II (Frontend) to join our product team. This role involves designing and implementing server-side logic, ensuring application scalability and security, and maintaining our technology stack, including React, Angular, and more. The ideal candidate will have a passion for web technologies, a strong background in relational databases, and experience in a modern software development environment. You'll work in a dynamic, agile team environment, developing features that impact users in the Canadian market.
Responsibilities:
- Completely own the design and delivery of the UI layer, be a strong contributor to the product vision, and drive team planning.
- Designing and developing new user-facing features using Angular and Next.js .
- Building reusable components and front-end libraries for the future by applying functional programming concepts.
- Translating designs and wireframes into high-quality code.
- Optimizing components for maximum performance across a vast array of web-capable devices and browsers.
- Building for scale and high performance.
- Promoting strong collaboration within a cross-functional team, including design and product management.
Requirements:
- Minimum 02-04 years of front-end development experience.
- Solid grasp of design patterns with the ability to translate design to low-level code.
- Strong proficiency in JavaScript, including DOM manipulation and the JavaScript object model, HTML, and CSS.
- Deep understanding of modern web application design architecture, good API design patterns, performance, and scale.
- Experience in modern technologies such as JavaScript, TypeScript, Angular, Flutter, Node.js, GraphQL, Next.js, Chrome extension development, etc.
- Familiarity with RESTful APIs and data structure libraries.
- Hands-on with RxJS.
- Familiarity with modern front-end build pipelines and tools.
- Experience with common front-end development tools such as Webpack, NPM, Angular Material, or any other component library.
- Ability to understand business requirements and translate them into technical requirements.
- Hands-on with visualization libraries and comfortable working with large, dataset-driven analytical applications.
- Experience handling and coaching teams.
- Able and comfortable working in a fast-paced, startup mode.