People Matter

Senior Frontend Engineer

Netspring

Netspring

Software Engineering
Hanoi, Vietnam
Posted on Feb 9, 2026

Introduction

This role is part of the engineering team behind Optimizely Campaign, a large-scale customer engagement and messaging platform that enables global brands to design, automate, and deliver personalized cross-channel communications at scale. The team works on high-volume, real-time systems where reliability, performance, and data-driven experiences are critical.

We are looking for a Senior Frontend Engineer to join the Campaign engineering team and help evolve the user interface of a complex enterprise SaaS product. In this role, you will play a key role in modernizing the frontend architecture, collaborating closely with Product, UX, and Backend teams, and delivering scalable, high-quality user experiences for international customers. This position is ideal for engineers who enjoy ownership, technical depth, and shaping the direction of large web applications.

Job Responsibilities

· Collaborate with an agile, cross-functional team to develop new user-facing features and enhance existing ones, adhering to clean code principles and test-driven development

· Work with the UI/UX designer and bridge the gap between UI design and technical implementation, take an active role on both sides and define how the application looks as well as how it works

· Write reusable code and libraries for future use

· Review pull requests from colleagues, offering constructive feedback

· Contribute to the modernization of an existing monolithic frontend, including transitioning from a classical technology stack (e.g. JSP, jQuery) towards a modern, component-based and micro-frontend architecture

· Collaborate closely with Product, UX/UI, and Backend engineers to implement customer-centric solutions

· Take ownership of frontend features from design through implementation and iteration

· Contribute to and follow test-driven development and frontend quality best practices

· Leverage AI-assisted development tools to improve code quality, productivity, and experimentation

Knowledge and Experience

· You count with strong general expertise in software engineering

· You have at least 5 years of professional experience developing large-scale web applications using JavaScript, React, Typescript, HTML, CSS, and various persistence technologies

· You are fluent in English (verbal and written), and have good collaboration and communication skills

· You understand the value of modern software engineering practices such as Agile, pair programming, TDD, and principles of clean code

· You are a team player with a profound practical experience in implementing large web applications in an agile, cross-functional environment

· You are able of taking ownership of complex initiatives, and drive them even from the early phases when uncertainty and risks have to tackled

· You are always thinking about the end product and how to improve the experience for users

· You like to contribute to team discussions on everything from ideation through architecture and design to implementation and support of the products and services

· You have experience configuring or maintaining CI/CD tools

· You proactively anticipate, investigate and resolve problems

· You know how to write semantic and accessible HTML, how to maintain CSS at scale, and are well-versed in JavaScript (including concepts like asynchronous programming, closures and prototypal inheritance)

· You strive to write clean and well-tested code

· You feel comfortable leveraging the type system in TypeScript or another statically-typed language

· You are proficient with React and enjoy crafting delightful and performant UIs

· You are used to working with design systems and implementing reusable components

· You have experience consuming RESTful APIs

· You demonstrate an AI-first mindset, using AI tools responsibly to support development, debugging, testing, and learning

· Ideally, you are also familiar with the Java programming language and can understand and navigate existing code

· Nice if you also have prior exposure to Piral or similar micro-frontend frameworks