@geoffreywiseman
Software Consultant
Nothing here yet.
Nothing here yet.
No blogs yet.
Not trying to understand a problem. When something goes wrong with the software you're developing or the tools you're using, your first instinct should be to figure out what went wrong and why it went wrong. Some junior developers have a tendency to jump to possible solutions without trying to understand the problem. This is a common tendency when the problem is too complicated to be understand -- it's why we tell people having trouble with a computer or electronics to power it off and on, or reinstall -- because these are solutions that fix lots of problems, and they can be a cost-effective use of time. But what they don't do is tell you what the problem is. And when your job is the creation and maintenance of software and there's a problem with the software or a problem with the tooling, it's valuable to you to understand the problem with the software or the tools, and jumping to solutions won't tell you that. Of course, sometimes it's hard, extremely hard to find the problem, and I understand that sometimes you need to make decisions about whether it's cost-effective to continue to diagnose the problem. It's ok to make those decisions, but they should be conscious decisions.
I've lost passion for projects, companies and teams, even languages and tools, but never for programming. YMMV of course -- you might have lost your passion for programming itself. If you're not sure, maybe try switching it up. Work on a new project, a new technology stack, or find a new employer, see if that helps you regain your passion?
You can't be great at everything, but there's value both in general knowledge and specific knowledge. Try and know a little about most things, and a lot about a few areas that are most valuable to you -- either because you enjoy them, or because you get paid well because of it. I do both native mobile and full-stack web development, and I consider myself good at both, but obviously someone who has been living and breathing iOS development for the last ten years should be better at iOS development than I am, and someone focuses intensely on front-end development may know more about CSS FlexBox and ServiceWorkers and Angular / React than I do. That's ok. Incidentally, that's true of more than technology -- having generalized knowledge of business and specific knowledge of a few industries is also valuable.