Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
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.
Job Requirements
- 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 in-line 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.