I was (kind of still am) a big fan of the ABC (Always Be Coding) mantra. I remember that I've read about it a few years ago, and resonated with me.
It made complete sense. I wanted to become the best engineer I could. Practice makes perfect. So spending all my available free time on coding projects would make me a super-engineer if I kept doing it, right?
That would be the case if the relation between coding and engineering skills was linear.
But from my observations, it's more like a curve. You indeed get better over time. But after you get to a decent level, you would need an unequal amount of time for the improvement you would get back.
After starting doing it professionally, I noticed an even stronger argument against ABC. Everybody was a good enough engineer. And to climb the ladder, non-engineering skills are what made the difference. Yes, I am talking about those underrated "soft-skills" that every engineer that respects themself underestimates :) More than that, I noticed that in general, a well-rounded person had more chances of succeeding. Being more likable and able to have something to talk with everybody, requires a well-rounded person.
Even in personal projects, I noticed that ABC is not the right approach. I was able to complete the technical part of a project quite quickly, due to ABC and the fluency with the tech stuff. But what about afterward? I would find myself struggling to promote or get traction for any of my projects. And the solution was quite easy: move to the next one, always be coding anyway! The result is a bunch of (finished) technical projects but with no real usage. Just jumping from coding project to project.
Don't get me wrong. I love to code and have personal projects. My problem has more to do with the "always" part of ABC. I believe that a lot more than coding is needed to either become an accomplished engineer or a successful entrepreneur. Coding is the first chain link in the long chain of success. But there are many more chain links. And for a chain to work, it needs all the links, not just one. If any chain link breaks, the chain does not work. All the chain links are equally important.
Sometimes I think that Steve Jobs was so successful because of his diverse interests. When the rest of the people in tech were interested only in engineering, he focused on underdeveloped things in tech, such as design. I am not a big fan of design myself, but the point is having a well-rounded personality might even give you the competitive advantage that might make the difference.
So my new mantra is Mostly Be Coding. I will spend enough time exploring concepts outside of my comfort zone. Whether that's writing, learning an instrument, or skiing. Having an active non-coding endeavor at a time is my new resolution.