Front-End Engineer

We are looking for a Front-End Developer responsible for the client side of our service. Your primary focus will be to implement a complete user interface in the form of a responsive mobile and desktop web app, with a focus on performance. Your main duties will include creating modules and components and coupling them together into a functional Angular 2 application. The artistic design and functional specifications will be delivered to you; it is your responsibility to implement the design and animations using SASS, TypeScript, and HTML5. You will work in a team with the back-end developer, and communicate with the API using standard methods. A thorough understanding of all of the components of our platform and infrastructure is required.

Responsibilities:

  • Delivering a complete front end application

  • Ensuring high performance on mobile and desktop

  • Writing tested, idiomatic, and documented TypeScript, HTML and SASS

  • Coordinating the workflow with the design and QA teams

  • Cooperating with the back-end developer in the process of building the RESTful API

Qualifications:

  • Professional, precise communication skills

  • Deep knowledge of Angular 2 practices and commonly used modules

  • Creating self-contained, reusable, and testable modules and components

  • Ability to provide SEO solutions for single page apps

  • Ability to implement accessible applications that can be used seamlessly in a screen reader or other accessible device

  • Extensive knowledge of CSS and JS methods for providing performant visual effects and keeping the framerate above 30fps at all times

  • Thorough understanding of the responsibilities of the platform, database, API, caching layer, proxies, and other web services used in the system

  • Validating user actions on the client side and providing responsive feedback

  • Writing non-blocking code, and resorting to advanced techniques such as multi-threading, when needed

  • Creating custom, general use modules and components which extend the elements and modules of core Angular

  • Experience with building the infrastructure for serving the front-end app and assets on a CDN

  • Architecting and automating the build process for production, using task runners or scripts in Gulp or Webpack

  • Documenting the code inline using JSDoc or other conventions

  • Writing extensive unit tests using automated TDD tasks

  • Creating e2e test suites for all components, and running them with Protractor (or a well reasoned alternative)

  • Creating configuration, build, and test scripts for Continuous Integration environments

  • Experience with mobile frameworks such as Cordova for creating HTML/JS based mobile applications

  • Proficient understanding of code versioning tools such as Git