Software Engineer (AngularJS)

  • 2 years ago
  • Sifal, Kathmandu
  • Full Time
  • Private

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