Position: Angular Developer, Senior
Company: Inplaysoft
Experience required: 5y
English level: intermediate

Responsibilities:
●	Optimizing Front End (customer facing and operator facing) of the Gaming Platform (mobile and desktop) by adopting the best industry practices
●	Recommending and implementing changes which improve performance and increase customer satisfaction
●	Developing UI using Typescript and Angular 13
●	Ensuring a clear dependency chain
●	Validating user actions on the client side and providing responsive feedback
●	Writing efficient, optimized 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 Angular
●	Documenting the code inline using JS Doc or other conventions
●	Writing unit tests using automated TDD tasks
●	Creating e2e test suites for all components, and running them with Protractor (or a well-reasoned alternative)
●	Implementing SEO-friendly design practices for single page applications


Requirements:

●	4+ years of experience in web-oriented software development
●	Experience in solving performance optimization issues:
○	Unnecessary server usage
○	Slow page response
○	Unexpected errors
○	Periodic slowdowns
○	Removing the unnecessary change detection
○	Reducing the computation on the template side
●	Deep knowledge of Angular 2+ and Angular development patterns based on extensive work experience
●	Good knowledge of TypeScript and understanding of TypeScript design patterns
●	Understanding of JIT and AoT compilation practices
●	Knowledge of implementing the Change Detection Strategy (OnPush etc.)
●	Knowledge of the life cycle hooks and their usage for increasing performance
●	Understanding and experience of using Web Workers
●	Strong software design fundamentals (SOLID, OOP, OOD etc.)
●	Deep knowledge of Reactive Programming with Rxjs based on previous experience
●	Good knowledge of CSS (SASS / LESS) and JS methods for providing performant visual effects
●	Upper-Intermediate level of English


Advantage:

●	Experience in building high load distributed systems
●	Understanding of Data Structures and Algorithms
●	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
●	A Bachelor's Degree in engineering, computer science, or another related field