An ode to .NET
For the past decade, I've been working primarily within the .NET ecosystem. I cut my teeth on large enterprise systems from insurance claim management applications, industrial manufacturing order systems, payroll providers, wellness SaaS, etc. The lesson I learned from .NET were valuable and I'm forever a better developer working on code darn near as old as I am from classic ASP and WebForms, all the way to .NET 8.
While I work mostly in Laravel these days, .NET will always hold a special place in my heart because it's where I started (alongside a few year stint in Java) and instilled in me, for better or worse, how to design software that should stand the test of time.
Moving on to greener pastures
While .NET has many things going for it, being isolated to the Microsoft ecosystem of tools and packages is like living in a glass house. As long as you stay within the confines of it and resist the urge to throw blunt objects forcefully through the walls, you'll be nurtured by the APIs and DX many developers much smarter than myself thoughtfully designed to reduce development friction and get things done. At the same time, being confined to doing things the "enterprise way" gave me a sense of Stockholm Syndrome (.NET Syndrome?) where thinking overly complex abstractions and being so far removed from the primitives was the norm. It wasn't until a few years into my career and spinning up new projects as a freshly christened mid-level developer that I began to question some of the ideology I had blindly taken as gospel while learning the proverbial ropes of designing such systems for the enterprise.
It's easy to get lost in the stack frame sauce, grokking through abstract factory builders, deciphering archaic homegrown dependency injection systems before first-party support existed, cursing god objects to the high heavens, arm wrestling spaghetti code, and feeling a sense of relief moving tickets across Jira boards. But as I looked outward, I felt an urgency to move on.
I want to build things. I'm a developer, it's what I do. It feels fundamentally wrong to spend more time in meetings discussing things that could have been a Teams/Slack conversation.