9 Subjects I've Changed My Mind About as a Software Engineer
19 Mar 2025 #careerMany things have changed over the past 10+ years in my career—technologies, mindsets, and even what I value most from my career.
I switched from Java to C#. I switched from JavaScript to Xamarin to ASP.NET to ASP.NET Core. From being the “new guy” in my first job to sitting in meetings with the CEO in one of my last jobs. It was a small company, maybe not that impressive.
Apart from those, here are 9 subjects I’ve changed my mind about:
1. Databases
I used to hate working with databases.
I hated them so much that I traded tasks with a coworker at a past job. He did my database tasks in exchange for his API-related tasks.
Avoiding learning about databases made me take down a server. I wrote a query with a function around a column in a WHERE clause. Ooops! Don’t do that!
Everything changed when I decided to learn about databases from scratch, with a beginner’s mindset. My googling took me to Brent Ozar and his courses.
Databases and SQL Server aren’t my kryptonite anymore.
2. Clean Code
I read Clean Code back in ~2013.
After that, I became a Clean Code police officer. I looked for Clean Code infractions everywhere around me. I was following and preaching the book.
Eventually, I learned that not all code is created equal and worth the same. Everything is a tradeoff. And we shouldn’t blindly follow best practices.
3. Certifications
“Azure Blah Blah Blah Associate” or “Google Blah Blah Blah Developer.” That sounds impressive.
When I started coding, I wanted to pile up all those certifications. Until I learned these certifications are often a marketing strategy from the certifying company. Every once in a while, they change the certification tracks and you have to start again. And of course, pay again.
Instead of certifications to prove my “knowledge,” I opted for just-in-time learning in the context of real projects.
And if you’re chasing certifications to make your CV look good, if your CV is in a pile (physically or virtually), you already lost.
4. Optimizing everything
I went from finding small improvements on a random line of code to finding the biggest improvement I could gain with minimal effort, after gathering the right metrics, of course. That’s one of the lessons I learned from Brent Ozar. See #1 again.
5. Climbing the corporate ladder
I used to believe I could climb all the way up to the top of the corporate world.
I was wrong! Anyone can add new steps to that virtual ladder. Anyone can change the entire ladder and you’ll have to start climbing all over again. At any point, someone can say “you’re not ready yet. Keep working hard. Next year.”
I’ve seen only one successful climb in over 10 years. She joined as an intern and yeeeears later, she became VP of something. It was at my first job. When I joined, she was already VP. Somebody told me the legend.
Instead of climbing somebody else’s ladder, I decided to build my own and define my own success metrics.
6. Working hard
“You only do your job and clock out on time,” he said.
I was on a 1-on-1 with an ex-boss. I don’t remember if he brought up the names of coworkers who worked harder than me. Maybe he implied that in his feedback.
Funny thing is months later, when the Hunger Games of layoffs began, all those who worked harder were the ones leaving first.
Apart from working hard, there are other ways to stand out, of course while being in the right place. Do a good job and clock out on time.
7. Being passionate
I hate seeing “passionate” anywhere online. On job listings, CVs, and personal blogs.
What does passionate even mean? Working extra hours, arguing about code style on code reviews, or contributing to open source? I’m not sure anymore.
For me? All that passion faded away. I learned to diversify my sources of joy and stopped trying to only find fulfillment from a job.
I’m not passionate anymore.
8. Being a full-stack developer
I started writing WebForm apps, then web apps with Bootstrap and Knockout.js, then mobile apps with Xamarin.
Until I wrote my first REST API with ASP.NET Web API. I didn’t like the “pace” of the front-end ecosystem. Too many frameworks and “something.js” libraries. And too many issues about colors and alignment. It wasn’t my type of thing.
I stopped trying to become a “full-stack” developer. Often, that’s an excuse to hire fewer people and overwork others and pay low salaries. Sorry, but not sorry.
Mmmm…Well, now that AI is “taking” our jobs, maybe we all have to become full-stack developers. And maybe I’ll change my mind about this and write anoter post.
9. Being the best coder
I don’t want to be the best coder on a team anymore.
I believed cracking symbols on a page was the way to go. I’ve learned that the best coders stay coding. And there’s more than symbols on a file. The hardest part of software engineering isn’t the code, but “people and interactions.” And that’s where the real growth happens.