Overview

Responsibilities:


- Architect efficient and reusable front-end solutions driving complex web applications
- Participate in re-imagining our client-side application architecture
- Solve challenges on the edge of old and new front-end technologies
- Develop and maintain sufficient test coverage for all features
- Optimize performance heavy parts of existing applications
- Mentor less experienced developers

Required Qualifications:


- Very strong understanding of core Javascript without third-party libraries and/or frameworks; especially prototypical inheritance and the orchestration of multiple asynchronous API calls via callbacks, promises, and async/await.
- Very strong understanding of ES6+ additions to Javascript and their relationship to pre-ES6 concepts
- Experience creating or maintaining large React applications (over 100 components) with Higher-Order components, Redux, and React Router
- Experience creating or maintaining JSON Web APIs backed by relational databases in any strongly-typed back end development framework. Should be comfortable with MVC, Dependency Injection and ORM concepts
- Experience writing Unit Tests (Server or Client Side)
- Familiarity with browser based web storage APIs such as WebSQL, IndexedDB, localStorage B.S., M.S., or Ph.D. in Computer Science or equivalent
- Knowledge of commonly used algorithms and data structures
- 5+ years of JavaScript experience involving: . heavy use of core, framework agnostic JavaScript . heavy use of one of the well-known UI libraries (React, Angular, Knockout.js, etc.) . building reusable UI components . interaction with external APIs . asynchronous programming + promises . solving UI-related performance problems.
- 3+ years of HTML/CSS experience
- 3+ years working in any strongly-typed server-side web application framework
- An ability to learn fast and passion for learning
- Good communication and technical writing skills.