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