Web Engineer
Role details
Job location
Tech stack
Job description
Banco Santander SA is seeking a skilled Senior Web Engineer based in Madrid to create advanced web solutions utilizing React and TypeScript. You'll develop production web apps and reusable packages, adhering to best practices in software architecture and CI/CD.
Requirements
With a minimum of 4 years in frontend development, you should possess a strong command of modern JavaScript, TypeScript, and solid experience in accessibility requirements. The position offers a hybrid working model and competitive rewards., * At least 4 years of experience in web frontend development.
- Experience with accessibility requirements.
- Mastery of TypeScript and JavaScript.
Responsabilidades
- Build advanced web solutions using React and TypeScript.
- Deliver production web apps and reusable packages.
- Implement solid software architecture and CI/CD practices.
Conocimientos
React TypeScript JavaScript CI/CD Git
Herramientas
GitHub Actions, 170 million people worldwide, through one of the largest banks in the world. We are undergoing one of the biggest transformations in our history and technology is at the heart of our strategy. Join our team to play a part in one of the most important technological projects for the financial sector in the world.THE DIFFERENCE YOU MAKE****CDAIO/ AI TECH is looking for a Senior Web Engineer based in Madrid.We are seeking a Senior Web Engineer to build advanced web solutions using React and TypeScript. You will deliver concrete products - production web apps and reusable, published packages/SDKs (npm) - within the Grupo Santander platform ecosystem, applying solid software architecture and CI/CD practices to ensure quality, maintainability, and scalability.This role works on product SDKs (e.g. an AI chatbot React component) that sit on top of the shared Santander web platform, so the ability to read, integrate with, and reason about platform building blocks is essential.WHAT YOU'LL BRINGOur people are our greatest strength. Every individual contributes unique perspectives that make us stronger as a team and as an organization. We're enabling teams to go beyond by valuing who they are and empowering what they bring.The following requirements represent the knowledge, skills, and abilities essential for success in this role. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.Professional Experience A proven track record of at least 4 years of dedicated experience in web frontend development (React). (Required). Experience on projects composed of libraries or that publish packages/SDKs as a product. (Required). Demonstrable experience on projects with accessibility requirements. (Required). Experience limited to hybrid/mobile wrappers (React Native, Ionic, Cordova) will not be considered as web experience. (Required).* Backend-heavy full-stack roles where the specific dedication to frontend cannot be determined will not be considered. (Required).* Personal or freelance projects will not be considered unless carried out in a collaborative team environment. (Required).Languages* Native level in Spanish. (Required).* English - minimum B2 (B2-C1 strongly preferred). This is a strict requirement: all code, JSDoc/TSDoc, commits, PRs, changelogs, and platform documentation are written in English, and the SDK/platform is shared across international teams. (Required).Hard SkillsGlobal: Mastery of TypeScript (strict mode, generics, discriminated unions, utility types, type-safe public API surfaces). (Required). Strong command of modern JavaScript (ES2022+, ES modules, async/await). (Required). Knowledge of visibility and extensibility / API-surface control (internal vs public boundaries, barrel exports, package.json exports map). (Required). Asynchronous and reactive models: Promises, async/await, AbortController, event streams (RxJS or signals a plus). (Required).* Version control systems, preferably Git. (Required).* CI/CD tooling: GitHub Actions (or similar: Bitrise, GitLab CI, Jenkins...).(Required).* Agile development methodologies. (Required).* PR creation/review workflow and QA quality-control practices. (Required).Architecture:* Solid knowledge of component architecture patterns: container/presentational, custom hooks, unidirectional data flow, and finite state machines (XState a plus). (Required).* State management: Redux Toolkit, Zustand, or Jotai for client state and TanStack Query for server state. (Required).* Solid grasp of best practices: SOLID principles, design patterns, Clean Architecture, and clear separation of concerns. (Required).* Development, deployment, and version control of internal or public libraries (publishing to npm / JFrog Artifactory; semantic versioning; awareness of public-API/type compatibility validation). (Required).* Build & dependency management (library management)* Build tooling: Vite for applications and library bundlers such as Rollup, tsup, or esbuild for packages. (Required).* Package managers: pnpm (workspaces), npm, or yarn - including lockfile discipline. (Required).* Monorepo tooling: Turborepo, Nx, or pnpm workspaces. (Required).* Module formats (ESM/CJS dual output), the exports field, type-declaration (.d.ts) generation and API extraction (API Extractor), and tree-shaking / bundle-size budgets. (Required).* Dependency governance: peer dependencies, automated updates (Renovate/Dependabot), version catalogs, and supply-chain security (npm audit). (Required).Data Access:* Remote data: fetch / axios and TanStack Query. Experience with REST and streaming over SSE (EventSource / fetch streams) is a strong plus. (Required).* Real-time data: WebSockets. (Required).* JSON (de)serialization and runtime validation with Zod (typed DTOs). (Required).React:* Advanced mastery of React 18/19, with demonstrable experience defining and building complex components and complete screens in production apps (hooks, composition, Suspense, concurrent features). (Required).* Strong knowledge of performance optimization (memoization, render control, code splitting / lazy loading, virtualization of long, dynamic lists). (Required).* Creation of components or libraries for React (custom hooks, headless components, controlled/uncontrolled state modeling). (Required).* Styling: CSS Modules, design tokens (CSS custom properties), with awareness of Tailwind and CSS-in-JS. (Required).* Visual/component testing with Storybook + visual-regression tools (Chromatic, Playwright) to guarantee visual and functional UI quality. (Required).Accessibility:* Deep knowledge of WCAG 2.1 AA, semantic HTML, and the ARIA specification (roles, states, properties). (Required).* Ability to manage focus order, keyboard navigation, and structure the DOM so it is navigable by screen readers. (Required).* Accessibility testing with screen readers: VoiceOver, NVDA, or JAWS.* Accessibility tooling: axe, Lighthouse, and eslint-plugin-jsx-a11y. (Required).* Ability to identify and fix accessibility issues detected through screen-reader and keyboard-only testing. (Required).Testing:* Solid knowledge defining unit/integration tests with Vitest or Jest and React Testing Library. (Required).* Creating and managing mocks and stubs (e.g. MSW - Mock Service Worker, vi.mock), simulating behaviors and responses for different test scenarios. (Required).* End-to-end testing with Playwright or Cypress. (Required).* Code coverage tools (e.g. c8 / istanbul) to measure and ensure tests cover as much code as possible. (Required).Code analysis* Static analysis and formatting tools: ESLint and Prettier, plus strict type-checking (tsc). Quality gates with SonarQube. (Required).Platform ecosystem familiarity (ability to understand "platform pieces")* Comfort working within an internal build platform (GS Platform / Gluon): dependency resolution and publishing via JFrog Artifactory, and consumption of shared platform packages. (Required).* Understanding of a multi-brand, token-based Design System - themeable, namespaced/prefixed components, automated previews via Storybook, and Figma Code Connect. (Required).* Awareness of public-API surface validation (type and bundle compatibility) and SemVer / year-based release governance (MAJOR/MINOR/PATCH PR conventions). (Required).* Awareness of platform-driven concerns: routing/deep links (React Router), networking (HTTP/WebSockets/SSE), analytics/reporting, authorization and anti-fraud modules, and internationalization (i18n). (Required).* Experience developing applications that comply with security standards (CSP, XSS/CSRF mitigation, secure OAuth 2.0 / OIDC auth flows). (Preferred).* Experience with micro-frontends (Module Federation) and/or SSR/SSG frameworks (Next.js, Remix). (Preferred).* Use of web performance analysis/improvement tools: Web Vitals, Lighthouse CI, and bundle analysis. (Preferred).* Familiarity with code-generation tooling: OpenAPI * TypeScript clients, GraphQL Codegen. (Preferred).* Experience with internationalization libraries (i18next) and Lottie animations. (Preferred).* Experience with PWA / service workers and offline strategies. (Preferred).* Design-tooling integration: Figma Code Connect, Tokens Studio. (Preferred).WE VALUE YOUR IMPACT****Your contribution matters, and it's recognized. You can expect a fair, competitive reward package that reflects
Benefits & conditions
the impact you create and the value you deliver. But we know rewards go beyond numbers.* We're enable our teams to go beyond through global opportunities and broad career paths.* Flexibility that works. Enjoy a hybrid working models-some days remote, some days onsite with your team-along with flexible hours.* Learning for life. Access hundreds of courses on our platforms, including exclusive access to our global learning space: Santander Open Academy (www.santanderopenacademy.com)* Competitive rewards. Receive a highly competitive salary with performance-based bonuses, motivating you to keep growing with us.* Financial advantages. Benefit from preferential banking terms, special interest rates on loans, life insurance, and more.* Your health is our priority. Through BeHealthy, our global wellness programme, we promote Holistic wellbeing.* We know family is everything. That's why we offer childcare support and family-friendly