4 ms·
I think I became a significantly better programmer when I began to understand the value of programming from the perspective of others in a business. I still run
by SeanAnderson 3y ago
I think I became a significantly better programmer when I began to understand the value of programming from the perspective of others in a business. I still run into engineers who are technically stronger than me - why wouldn't I? There's finite time in the world and infinite depth to study. It seems a lot of engineers have a penchant for going deeper and deeper and, from my perspective, it can result in a desire to overengineer solutions. It's fun and interesting to play to one's strengths and, as the technical expert in the room, others have to listen to your guidance. If you say the technical thing needs to be built then it's hard to argue against it.
But... I dunno. It's possible I am just getting lazier as I get older, but I've found that improving my communication skills, helping stakeholders understand the costs of what they're asking, verifying the value that expected cost is expected to generate, and getting alignment on delivering 80% of the solution with 50% of the effort is what others truly value and reward.
That said, it likely depends on your domain, too. The technical difficulty of engineering jobs likely varies wildly between fields.
Anyway, to answer the question more directly, I became a better developer when I became passionate about a project I had a vested interest in seeing succeed. Only then did I find the motivation to research problems to the depth necessary to have "ah hah!" moments. I found myself in this position by working on a personal project until it became popular. The popularity then fueled my desire for increased status, I poured myself deeply into the project, and levelled up my technical abilities significantly as a result. Once I had that experience, though, it seemed like there was diminishing returns on difficulty/knowledge acquisition, as you seem to be noting, so I focused on becoming a more well-rounded technical person rather than pursuing depth.