Basic (Must Have):
· Minimum of 4+ years Angular/Frontend Development
· Minimum of 4+ years Node Development
· Proficiency in Angular and the latest versions
· Proficiency with JavaScript and HTML5 / CSS 2 / SASS
· Hands-on experience with OOJS, ES6 Programming, TypeScript & JavaScript
· Deep knowledge of Angular best practices and commonly used modules
· Experience with Security, HTTP/HTTPS, Authentication and Authorization
· Experience with Server-Side Rendering and Unit Testing Frameworks
· Familiarity with Code Quality tools and processes (ESLint, flowerrors, sonar, etc.)
Preferred Skills:
· NPM Ecosystem: Boiler plate configurations & NPM Packaging/scripts
· Usage of tools like Webstorm / Visual Studio Code, Jira, Confluence, GGI, version management, and build tools
· Understanding of cross-browser compatibility and accessibility standards (W3C Guidelines)
· Experience with building the infrastructure for serving the front-end app and assets
· Ability to provide SEO solutions for single page apps
Any Other:
· Professional, precise communication skills
· Strong team player with a commitment to perfection
· A thorough understanding of all of the components of the platform and infrastructure is required
· Thorough understanding of the responsibilities of the platform, database, API, caching layer, proxies, and other web services used in the system
Key Responsibilities:
· Implement a complete user interface in the form of a mobile and desktop web app, with a focus on performance
· Create modules and components and couple them together into a functional app
· Create custom, general use modules and templates which extend the elements and modules of core Angular
· Write tested, idiomatic, and documented JavaScript, HTML, and CSS
· Coordinate the workflow between the graphic designer, the HTML coder, and yourself
· Cooperate with the back-end developer in the process of building the RESTful API and communicate with external web services
· Architect and automate the build process for production, using task runners or scripts
· Write extensive unit tests using automated TDD tasks and create e2e test suites for all components (running them with Protractor or alternative)
· Create configuration, build, and test scripts for Continuous Integration environments
· Validate user actions on the client side, providing responsive feedback, and writing non-blocking code (resorting to multi-threading when needed)