Without the slightest idea what I’d do on any day, without a plan, I found myself unhappy because I didn’t feel like I accomplished anything. I may very well have done and shipped things during any particular day, but it was usually so busy that I forgot what it was by the end of the day.
What executives understand, almost intuitively, is reciprocity. They give favors to earn favors, but avoid self-sacrifice. They won’t fall into “love of the craft” delusions when “the craft” doesn’t love them back.
The dilemma of speed versus elegance is an interesting one. You can see it as a kind of continuum between human-friendliness and machine-friendliness. Almost any program can be made faster by making it bigger and more convoluted. The programmer must decide on an appropriate balance.
A good programming language helps the programmer by allowing them to talk about the actions that the computer has to perform on a higher level. It helps omit uninteresting details, provides convenient building blocks (such as while and console.log), allows you to define your own building blocks (such as sum and range), and makes it easy to compose these blocks.
Wouldn’t it be great to have a mentor that slaps your hand when you reach into the cookie jar or someone to say, “Hey, I’ve been in this situation before, here’s what you should do?” Truth is, you may never get this kind of mentorship, and waiting for someone to pick you is the same as waiting for something great to happen.