Job Description
We are looking for an AngularJS 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 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 app. The artistic design will be delivered to you, together with a few HTML templates, but we will ask for your help in regard to animations, CSS, and final HTML output. 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 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
Skills and Qualifications
-
Proficiency with JavaScript and HTML5
-
Professional, precise communication skills
-
Deep knowledge of AngularJS 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
-
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 AngularJS
-
Experience with all levels of operation available to the front-end, such as from creating XHRs in vanilla JS to using a custom wrapper around $resource
-
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
-
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
Send your resume at [email protected]