At Lucid Modules I was a year into remote work and already deep inside other people's stores. Shopify, Magento 2, WordPress, WooCommerce - different stacks, same pressure. The merchant needs a feature now. The platform will release a security patch next month. Both things are true at once.
Extensions are not free forever
A custom module can solve Tuesday's problem beautifully. It can also become the reason nobody wants to touch the upgrade in November. Good ecommerce work means knowing what belongs in an extension, what belongs in configuration, and what should stay out of core files entirely.
I learned to ask: will the store owner still understand this after I'm off the project? If the answer is no, we simplify before we ship.
Performance is a feature merchants feel
Store owners do not wake up wanting "Core Web Vitals." They wake up because checkout feels slow on a phone, or Google stopped sending traffic, or a Lighthouse report scared their agency.
The work is concrete: image weight, script order, caching behavior, the extension that loads on every page but only helps one. Fixes like that are unglamorous. They also keep revenue from leaking.
Remote merchants need proof, not promises
When your client is six time zones away, you cannot point at a whiteboard after lunch. You send a staging link. You record a short walkthrough. You write what changed and what to watch after deploy.
That habit carried over to every project since. Distance does not change the rule: show the work, document the risk, ship in pieces when the store cannot afford a big bang.
What I still carry from that work
Ecommerce taught me to respect platforms I do not own. You are a guest in someone else's business-critical system. Move carefully, test on real catalog data when you can, and leave the store in a state the owner can maintain.
If you run a store and the custom code feels fragile, that is usually fixable. The first step is naming what breaks when you upgrade - not pretending the last developer left perfect notes.