About this Software Engineering – Front-End role at Agilent Technologies
Job Description
We are seeking a Senior Front-End Software Engineer to build web and desktop user interfaces for scientific, laboratory, and instrument-related software. This front-end-focused individual contributor will own architecture and delivery using Angular, TypeScript, RxJS, and Electron. The role combines hands-on development, automated testing, and production-quality engineering in a complex enterprise environment, with Python as a supporting skill for automation and tooling.
Key Responsibilities
· Design, develop, and maintain Angular/TypeScript web applications and Electron desktop applications for data-driven and workflow-oriented scenarios.
· Own front-end architecture, component boundaries, state management, and reusable components, services, and shared libraries; apply SOLID principles and clear separation of concerns.
· Integrate REST APIs and back-end/native services with authentication, asynchronous requests, error handling, and data transformation; implement secure Electron main/renderer communication.
· Build responsive, accessible, and usable interfaces; diagnose performance, reliability, browser/runtime compatibility, API, and desktop integration issues.
· Own automated quality through unit, component, integration, API, and end-to-end tests; contribute to CI/CD pipelines and automated quality gates.
· Lead technical design and code reviews, establish engineering practices, explain trade-offs, and mentor engineers; collaborate with back-end, UX, quality, product, application science, and distributed teams.
· Own features from design through implementation, testing, delivery, and support; identify and resolve maintainability, scalability, security, and reliability risks.
Qualifications
Required Qualifications
- Strong production experience with modern Angular and TypeScript, including components, directives, services, dependency injection, routing, route guards, Reactive Forms, and HttpClient.
- Strong RxJS and reactive programming skills, including Observables, operators, and error handling; practical knowledge of Angular lifecycle, change detection, lazy loading, modularization, and performance optimization.
- Strong TypeScript, JavaScript, HTML5, CSS/SCSS, DOM, and browser fundamentals, including interfaces, generics, advanced types, modules, async/await, and Promises.
- Hands-on production Electron experience, including main/renderer processes, IPC, preload scripts, contextBridge, back-end/native integration, security boundaries, and safe exposure of desktop capabilities.
- Experience designing reusable UI components or libraries and medium-to-large, multi-module applications across teams; sound understanding of component-based architecture, SOLID, design patterns, dependency management, RESTful APIs, responsive design, accessibility, usability, and browser compatibility.
- Hands-on automated testing across unit, component, integration, API, and end-to-end levels using frameworks such as Playwright, Cypress, Jest, Jasmine/Karma, or equivalent browser/desktop tools. Experience with maintainable test architecture, Page Object Model or equivalent abstractions, isolation, repeatability, mocking/stubbing, CI execution, and flaky-test troubleshooting is required; Playwright is preferred.
- Basic to intermediate Python for reading code, writing automation/test/utility scripts, processing JSON, CSV, files, and structured data, and using virtual environments and package management. Dedicated Python development expertise is not required.
- Ability to independently architect a moderately complex Angular/Electron application or major subsystem, explain trade-offs, and own production delivery and support; collaborate across functions, review complex changes, establish coding standards, and mentor developers.
Preferred Experience
- Electron packaging, distribution, auto-update strategies, installers, or Windows desktop integration.
- Storybook, Web Components, reusable component libraries, or Angular animations.
- Scientific, laboratory, medical-device, industrial automation, or instrument-control software; C#/.NET back-end or desktop integration.
- OAuth 2.0, OpenID Connect (OIDC), JWT, authentication, and authorization.
- Docker, Nginx, CI/CD, or containerized services; Git-based workflows, pull requests, code reviews, and Agile/Scrum development.
Additional Details
This job has a full time weekly schedule.Our pay ranges are determined by role, level, and location. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. During the hiring process, a recruiter can share more about the specific pay range for a preferred location. Pay and benefit information by country are available at: https://careers.agilent.com/locationsAgilent Technologies Inc. is an equal opportunity employer. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, protected veteran status, disability or any other protected categories under all applicable laws.