Every junior dev thinks microservices will fix their spaghetti. It won't. It'll be distributed spaghetti. Congratulations.
developer / builder
Michele Pin
Backend-focused Software Engineer. Building warehouses, side projects, and occasional opinions.
About
// background and philosophy
I came to software through thirteen years of hospitality — restaurants, hotels, high-pressure floors where systems either worked or they failed in real time.
That background isn’t a side note. It’s why I build for operations, not demos.
I care about what happens at 05:30 AM when nobody technical is around and things still need to work.
Reliability isn’t a feature. It’s the baseline.
For the past two years, I’ve worked inside a production warehouse management system — taking it from an undocumented demo to software running live operations across multiple warehouses.
Before that, I walked into a 5-star hotel in Granada without a job and stayed until they hired me.
I build software the same way I ran operations: simple, predictable, and hard to break.
The goal is a system that does its job so consistently nobody has to think about it.
The rants are where I think out loud.
The projects are where I prove it.
Projects
// things i've built or am building
Lemon WMS
Full WMS rewrite as a portfolio-grade reference implementation. Append-only inventory ledger, multi-tenant RBAC, and integration testing.
WSpace WMS
Production warehouse management system. Bin-to-bin movement, FIFO erosion, OCR document capture, and ERP integrations.
SeedCraft Backend
A REST API built with Java and Spring Boot providing realistic mock product and category data with hierarchical category tree support.
Rants
// opinions, observations, occasional wisdom
Why legacy codebases are actually good for you
Nobody wants to hear this, but two years inside a 400k-line .NET Framework monorepo taught me more about systems design than any greenfield project ever could. When everything is connected to everything, when changing one thing breaks something three modules away, you develop instincts. You start to understand why isolation matters, why contracts between components are worth the ceremony, why the boring solution usually wins. Greenfield projects let you pretend. Legacy codebases make you reckon.
"We'll refactor it later" is a lie you tell yourself at 4pm on a Friday. The code is permanent. The deadline was temporary.
On switching from hospitality to tech
Thirteen years in hospitality before I wrote a line of production code. People always frame this as a disadvantage. Here's what hospitality actually taught me: how to read a room, how to stay calm when systems fail in real time, how to communicate with people who have zero patience and high expectations. Sound familiar? The hardest part of software isn't the code. It's the people, the deadlines, the misaligned expectations. Turns out I'd been training for that my whole career.
All Rants
// a collection
Every junior dev thinks microservices will fix their spaghetti. It won't. It'll be distributed spaghetti. Congratulations.
Why legacy codebases are actually good for you
Nobody wants to hear this, but two years inside a 400k-line .NET Framework monorepo taught me more about systems design than any greenfield project ever could. When everything is connected to everything, when changing one thing breaks something three modules away, you develop instincts. You start to understand why isolation matters, why contracts between components are worth the ceremony, why the boring solution usually wins. Greenfield projects let you pretend. Legacy codebases make you reckon.
"We'll refactor it later" is a lie you tell yourself at 4pm on a Friday. The code is permanent. The deadline was temporary.
On switching from hospitality to tech
Thirteen years in hospitality before I wrote a line of production code. People always frame this as a disadvantage. Here's what hospitality actually taught me: how to read a room, how to stay calm when systems fail in real time, how to communicate with people who have zero patience and high expectations. Sound familiar? The hardest part of software isn't the code. It's the people, the deadlines, the misaligned expectations. Turns out I'd been training for that my whole career.
The best code review comment is silence. Your code didn't need explaining.
Building for production from day one
There's a myth that you can always optimize later. That technical debt is a tool, not a liability. I've spent months untangling this philosophy from systems I inherited. The cost of fixing logging, adding monitoring, refactoring transaction handling "when there's time" is exponentially higher than doing it right from the start. The constraints of production are features, not bugs. Design with them in mind.
CV
// résumé
Full curriculum vitae with detailed work experience, technical skills, and education.
Skills
// technical toolkit