Lacoste

Modernising a ten-year-old e-commerce codebase without closing the shop

Role
Lead Fullstack Developer
Since
April 2024, ongoing
Team
Up to 6 developers
  • Salesforce Commerce Cloud
  • SiteGenesis
  • TypeScript
  • ISML
  • React

I have been working at Lacoste since April 2024. The brand runs its online commerce on Salesforce Commerce Cloud, on the SiteGenesis architecture. The codebase is over ten years old: plain JavaScript and TypeScript, ISML templates for rendering, React islands added over the years, and the accumulated decisions of successive teams.

It is legacy in the exact sense of the word: code that works, that generates revenue, and that nobody can stop to rebuild.

What I do there

I run the technical architecture workshops that set the modernisation path for the back end and the front end. The chosen route is not a rewrite but progressive clean-up: decouple what can be decoupled, isolate the risky areas, and set conventions that hold when several teams work in parallel.

That choice is more demanding than a rewrite. It forces you to find, with every decision, the balance between what would be technically desirable and what can ship without interrupting sales.

I handle developer onboarding and ramp-up. The team has counted up to six developers and counts three today, through successive reorganisations. I provide the technical continuity across them.

That is where most of the value sits: on a proprietary platform and a codebase of that age, documentation is incomplete by nature and part of the behaviour is known only to those who wrote it. When a team is reshuffled, knowledge of the code is the first thing to disappear and the most expensive to rebuild.

Before I arrived, a developer took three weeks on average to become autonomous on the codebase. With the onboarding I put in place, it now takes a few days. It is the most measurable result of my role, and on a team that has been reshuffled twice, it is also the most decisive.

I act as the technical counterpart to the Product Owners. Turning a business need into a technical decision, estimating honestly, and explaining a refusal with its reason rather than with a deadline. That is where trust and the quality of trade-offs are decided.

The constraints that make it a particular exercise

A proprietary platform. Salesforce Commerce Cloud imposes its cartridge system, its deployment cycles and its limits. You do not freely choose your tooling; you have to get the result within the vendor’s frame.

A commercial calendar that governs the technical one. On a store of that size, change windows close during high-traffic periods. Modernisation is planned around sales peaks, not the other way round.

A superseded reference architecture. SiteGenesis has been replaced by SFRA in the Salesforce ecosystem. Continuing to evolve a codebase built on it means working with a foundation the vendor no longer moves forward.

What the engagement demonstrates

Software architecture
Running back-end and front-end redesign workshops, progressive modernisation path on a constrained codebase
E-commerce at scale
Salesforce Commerce Cloud, SiteGenesis, proprietary platform and deployment cycle constraints
Legacy
Taking over and evolving a ten-year-old codebase, plain JavaScript and TypeScript, ISML, React islands
Technical leadership
Team ramp-up, reduced time to autonomy on a dense codebase
Product interface
Feasibility versus business need, estimation, arguing a refusal
Change management
Modernisation without service interruption, planning around the commercial calendar