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.