A strong Full Stack UI developer should have an understanding of the following concepts:
Experience with a JavaScript framework (Backbone, AngularJS, etc- )
Understanding of MVC (Model-View-Controler)
- Models - Data for the application
- View - Visual representation of the model
- Controller - Update the view with the model and vice versa
- AngularJS has a two way data binding framework which impacts how this works, so an understanding on what happes
Invocation patterns (e.g., Method, Functional, Constructor and Apply)
Templates (e.g., Mustache, Handlebars, etc- )
Regular Expressions (RegEx)
Variable scoping (e.g., Closures)
Angular has a special scoping mechanism which is very important to understand.
Hoisting
JavaScript objects
JavaScript Libraries
JQuery
- Underscore
Understanding the JavaScript Prototype
Callbacks
Understanding of how JavaScript - This- is used
DOM (Document Objet Model)
Node.js
HTML5
JSON and XML
CSS3
An understanding of compiled CSS using LESS or Sass
Concept of Responsive design and frameworks that can be leveraged (e.g., Bootstrap)
Dependency Injection
AMD (Asynchronous Model Definition)
- RequireJs
o Unit Test Frameworks
- Jasmine
- Mocha
Unit Test runtimes
- Karma
- Grunt
Unit Test concepts
- TDD
- BDD
- Mocks
- Stubs
- Spies
Additional Requirements:
- Preferred Bachelors in Computer Science or Computer Engineering.
- 3 to 5 years of hands on work experience.
- Knowledge of core Java and its principles is a must.