Job Description
We are looking for a Senior AngularJS Developer responsible for the client side of our service with the primary duty of implementing user interfaces in the form of responsive web applications, with a focus on performance. Your tasks 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 or wireframes, but we will ask for your help in regard to animations, CSS, and final HTML output. You will work in a team with back-end developers, and communicate with the API using standard methods.
Responsibilities
- Delivering a complete front end application for testing
- Writing tested, idiomatic, and documented JavaScript, HTML and CSS
- Creating self-contained, reusable, and testable modules and components
- 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
- Cooperating with the back-end developers in the process of building the RESTful API
- Ensuring a clear dependency chain, in regard to the app logic as well as the file system
- Validating user actions on the client side and providing responsive feedback
- 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)
- Ensuring high performance and stability
Requirements
- Proficiency with JavaScript and HTML5
- Deep knowledge of AngularJS practices and commonly used modules based on extensive work experience
- Extensive knowledge of CSS and JS methods for providing performant visual effects
- 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
- Familiarity with building the infrastructure for serving the front-end app and assets
- Experience with the Java development environment, ideally with the Grails Framework
- Professional, precise communication skills