What was your biggest ideological shift, and what lead you to it?

Posted by GolangLinuxGuru1979@reddit | ExperiencedDevs | View on Reddit | 243 comments

I've been in tech for 25 years, and at least 20 of those years I've been a dev. I will definitely say early in my career as a Java dev, I definitely fell for the "thought leader koolaid". I would see all of these clever patterns, feel that designing with heavy abstractions was the way to go, and I judged maturity by patterns. It almost got to the point where I would have to see code that looked way too simple. I would ask:

"What if we got another domain"

"Yeah that works today, but what about the future"

"We definitely need an interface just in case"

And I was big on one thing DRY. I thought DRY was the undeniably design idea, and as long as you adhered to it, you were probably going to be ok

My big ideological shift was when I moved to Go. It was a struggle the first few years as I was like "where muh abstractions". But Go helped me build and architect systems by just looking at data. I picked up a very data centric mindset. I stopped looking at objects and started thinking in terms of data and data transformation. I saw the beauty in minimalis, and stopped trying to future proof my program.

Now when I talk to younger engineers, I really to to jump in and tell them to solve the problem in front of you. And not abstract for abstraction sake. That sometimes DRY is a huge trap. And patterns are useful, but lots of times aren't needed before a code base reaches maturity.

What huge mindset shift did you have in your career? What was the catalyst for it? What shifted your mindset?