Job Description
We are looking for a Senior Angular 2 Developer responsible for the client side of our service. The primary focus will be to implement a complete user interface in the form of a mobile and desktop web app, with a focus on performance. The main duties will include creating modules and components and coupling them together into a functional app. The artistic design will be delivered to the Developer, together with a few HTML templates, but we will ask the Developer’s help in regard to animations, CSS, and final HTML output. The developer 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.
·Delivering a complete front-end application.
·Ensuring high performance on mobile and desktop
·Writing tested, idiomatic, and documented JavaScript, HTML, and CSS.
·Coordinating the workflow between the graphic designer, the HTML coder, and yourself.
·Cooperating with the back-end developer in the process of building the RESTful API.
·Communicating with external web services.
Qualifications
·Proficiency with JavaScript, Typescript, and HTML5.
·Professional, precise communication skills.
·Deep knowledge of Angular 2+ practices and commonly used modules based on extensive work experience.
·Creating self-contained, reusable, and testable modules and components.
·Ensuring a clear dependency chain, in regard to the app logic as well as the file system.
·Ability to provide SEO solutions for single-page apps.
·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 that extend the elements and modules of the core Angular app.
·Experience with building the infrastructure for serving the front-end app and assets.
·Architecting and automating the build process for production, using task runners or scripts.
·Creating e2e test suites for all components, and running them with Protractor (or a well-reasoned alternative).