It is an interesting screed. I was thinking when I wrote up the comment about how VP's might feel about leaving a position that there is an interesting dividing line which doesn't get talked about a lot, Matt touches on it but didn't really call it out, its this, "What are you trying to get done?"<p>Early in my career Steve Bourne gave me useful advice, he said the difference between junior engineers and senior engineers was that senior engineers had an agenda. More specifically they had an execution goal (like write a new file system, or create a product that solves problem 'X') and they worked toward it.<p>This is a both a hugely motivating and hugely scary thing, its motivating because you don't have to ask "what do I do now?" the direction just falls out of where you are vs where you are trying to go. It is scary because you can find you're goal isn't compatible with any of the company's goals. When you discover that what you want to do can't be done at the company you are working at, you either have to change goals or leave. But its not a 'feel bad about it' leaving it is 'hmm, this isn't going to work out here so lets go somewhere that it could'.<p>The alternative to having an agenda is "Goofing off and waiting for someone to give you a task." There are a lot of engineers who operate in that mode, do their assigned tasks at an acceptable quality level and without too much schedule slip. They are great to have around because people with agendas and use them to move the agenda forward, but they don't make for very good 'senior' people because they really don't care what they work on, its not their main focus.<p>It is important to note that you can't "fail" if you're just goofing off, as one of my kids put it, "It isn't procrastination if you don't have anything you need to do." You can however rationalize your low work output by the fact that your management really hasn't given you all that much to do, so whose fault is that? Whereas if you have an agenda, a goal, a destination, you can fail to make it to that destination. "You said you were going to build a game that could crush Farmville, you failed." Reading the blog post from Speck about Glitch shutting down, "we failed to develop an audience." They had a goal, they didn't get there.<p>Matt's advice that if you don't know what you want, you can't choose reasonably is solid. Start by deciding what you want to do, and pick something that will take a while as early goal achievement has its own problems.