Job Title: Browser Extension & SPA Developer
Type: Contract (12 months)
Company: ProWritingAid
Location: Remote
Position Overview
Join one of our established, outstanding, and friendly product squads as a Browser Extension & SPA Developer. You'll collaborate with a talented team of developers, testers, designers and product managers, all united in one ambition to empower millions of people to tell and share their stories. Our browser apps must handle novels of over 100,000 words without breaking a sweat. Providing snappy dynamic text editing experiences in the browser at this level requires a high level of dedication to performance. Thanks to the power of TypeScript, Angular, HTML, LESS and unwavering determination, we have created a successful toolkit that is loved by writers and we need your help to make it even better.
Responsibilities
- Work closely with other team members to develop and improve features of our browser extensions and SPAs (Single Page Applications).
- Collaborate with other team members to implement visual designs using a structured design system.
- Work on responsive, user-friendly interfaces using HTML, CSS, and JavaScript frameworks (Angular), across our web apps.
- Maintain high code quality, performance, and maintainability through peer reviews, pairing, testing, and maintaining our design system.
Required Experience
- 5+ years using TypeScirpt
- Knowledge of modern web standards and best practices for frontend development.
- Proficient in one or more modern JavaScript frameworks/libraries (e.g. Angular, Vue.js, React).
- Deep understanding of ES6+ features and JavaScript fundamentals.
- Proficient in asynchronous programming, including Promises, async/await, and event loop management.
- Experienced in using browser developer tools (e.g. Chrome Dev Tools) to debug, profile performance, analyze rendering reflow/repaint cycles, optimize memory usage, identify bottlenecks and improve critical rendering paths for quicker load times.
- Experience in optimizing network requests, understanding HTTP/2, and implementing lazy loading and code splitting.
- Deep understanding of the DOM, component-based architectures ensuring reusability, and separation of concerns.