UI Engineer – Angular
Role Summary
This engineering position will be primarily responsible for crafting highly available, fault-tolerant digital interfaces using a modern JavaScript technology stack. This critical role must work across multiple platforms, systems, and departments in an agile environment. Strong communication skills will be needed for this position to integrate solutions across other engineering teams within and outside the organization, as well as work with business stakeholders.
This position works in a cross-functional agile team and requires a leader who can use his or her leadership skills to drive cross-functional technology solutions that meet the demands of the business. This position works closely with product owners, business stakeholders, creatives, and scrum masters.
This position will work in a Angular and associated technologies (i.e., NgRx, Apollo) codebase. All work done is expected to be covered by automated unit tests, so this position should have a strong understanding of automated testing and test-driven development. This position uses mobile-first design patterns and progressive web application development.
Understanding deployment, code management, and cloud infrastructure is necessary, as this position will involve cloud-based delivery and deployment of new code and existing applications. A background in computer science principles is helpful, as this position will be responsible for development on both the client side (JavaScript) and the server side (NodeJS).
Requirements
- Education: Four-year degree in Computer Science or an equivalent combination of coursework and job experience
- 4-7+ years’ experience working with UI and Mobile development teams – preferably in an Agile development environment writing highly available, functional software and applications.
- Displays excellent communication skills to both technical and non-technical personnel.
- Helps scope engagement by providing detailed development time estimates and participating in the scrum process (e.g., refinement, standups, etc.).
- Ability to performance tune, debug, and troubleshoot medium to large-scale client-side and Node-based web applications.
- Experience working on single-page applications using JavaScript and CSS pre-compilers.
- Familiar and comfortable with automated-tested development, writing unit cases, and achieving 100% code coverage.
- Develop web applications using mobile-first responsive design.
- Ability to work in a very fast-paced environment while managing multiple responsibilities.
- Ability and willingness to learn new technologies.
- Performs development tasks with little supervision and is self-motivated and self-directed.
- Experienced and proficient with enterprise Node.js and server-side JavaScript, with experience with ExpressJS, Apollo Server, and GraphQL.
- Expert knowledge of HTML, CSS, JavaScript, and modern client-side development using APIs, HTTP requests, and JSON data structures.
- Single Page Application (SPA) experience (Angular, Vue) with experience and preference for React-associated libraries and frameworks.
- Experience with JavaScript pre-compilers (e.g., WebPack, Vite, TypeScript) and CSS pre-compilers (e.g., Sass and CSS Modules).
Should be familiar with:
- Testing: Jazmine, Karma or Jest
- Observables and Reactive programing (Rx would be appreciated)
- State Apps Controller like NgRx, Akita, NgXs
- Design Patterns like, Dependency Injection, Singleton, Factory, Observable, Decorator,
- Ionic
- Material Design Pattern
- Experience with modern JavaScript development, leveraging ES6 and ES6 design patterns.
- Conceptual understanding of Content Delivery Networks (CDN) and Caching and their utility in offloading traffic and improving site performance.