Senior Angular Developer
Job Overview
We’re looking for a Senior Angular Developer to join our growing Frontend Engineering community. You will work on a complex enterprise-grade web application built using modern technologies and best practices, contributing to architecture, performance optimization, and the continuous improvement of the development workflow.
Role Overview
As a Senior Angular Developer, you’ll be responsible for designing, developing, and maintaining high-quality, scalable web applications using Angular (v15+) within an Nx monorepo environment. You’ll take ownership of feature development, ensure strong application performance, and uphold Endava’s engineering standards through code reviews, testing, and automation.
This role requires a deep understanding of Angular architecture, advanced TypeScript, and state management with NgRx. You will collaborate closely with cross-functional teams including backend engineers, UI/UX designers, and DevOps to deliver reliable and maintainable front-end solutions.
This role is available on a full-time employment contract (UoP) and requires the willingness to work from one of our offices in Kraków, Warszawa, or Gdańsk twice a week.
Key Responsibilities
Design, implement, and optimize Angular components, services, and modules following best practices.
Manage application state using NgRx (store, effects, selectors, router-store, and component-store).
Maintain and evolve a large Nx monorepo, ensuring consistency and dependency management across multiple apps and libraries.
Develop and execute unit, integration, and E2E tests with Jasmine, Karma, ng-mocks, and Cypress, maintaining at least 90% coverage.
Implement continuous integration and delivery (CI/CD) pipelines, including Nx migrations and build optimizations.
Integrate with REST and GraphQL APIs using HttpClient, including secure token handling with MSAL and JWT.
Apply SOLID, DRY, and KISS principles and design patterns (Facade, Strategy, Factory).
Support i18n and localization through angular-i18next/i18next frameworks.
Collaborate in code reviews, documentation (Compodoc), and technical mentoring.
Optimize performance and bundle size using webpack-bundle-analyzer and lazy loading strategies.
Uphold consistent code quality via ESLint, Prettier, Stylelint, and Git hooks (Husky, lint-staged).