Servier Oncology
Lead Frontend Developer / UI Kit Maintainer
Oct 2024 – Present
Suresnes, France
Lead Frontend Developer and UI Kit Maintainer responsible for maintaining the DNA Design System UI kit and all sub-packages in a monorepo architecture. Working on the comprehensive design system that includes reusable React components, icons, templates, and documentation for building modern web applications.
Responsibilities
- Maintain and develop the DNA Design System UI kit (
@servier/dna)
- Maintain icon library package (
@servier/dna-icons)
- Maintain template components package (
@servier/dna-templates)
- Ensure consistency and quality across all design system packages.
- Manage monorepo architecture using Turborepo and PNPM workspaces.
- Maintain documentation sites (Storybook, Docusaurus, UI Lab: a demo app)
- Participate in products using design system packages through:
- Code reviews to ensure proper usage of design system components
- Direct issue resolution and PR creation to assist other developers
- Develop and maintain tooling for design system analytics and monitoring
Key Achievements
- Maintained comprehensive design system monorepo with multiple packages
- Ensured cross-package compatibility and consistency
- Managed versioning and releases across multiple packages
- Maintained high-quality documentation and component examples
- Created DNA Scanner (
servier/dna-scanner): A command-line tool written in Go that integrates into CI/CD pipelines across all products using the design system. The scanner collects usage analytics and insights about@servier/dnapackage adoption, published as a universal library within Servier's artifact repository
- Built Analytics Dashboard: Developed a Next.js application that ingests data from the DNA Scanner and provides:
- Product adoption metrics showing how many products use design system packages
- KPIs and statistics about component usage across the organization
- Component-level impact analysis with detailed import tracking per product, enabling data-driven decisions on component changes and deprecations