I’ve shared this advice with a couple of people in the last few days and thought it worth writing down.

It is very easy to identify the things you don’t want from your job. These things tend to be obvious. You probably don’t want to work with assholes, for example. You probably wish there was less chaos, and more order. And when you begin thinking this way, it is very easy to start believing that the grass is greener and a job change will solve all of your problems.

I think this is a mistake.

It has very difficult to identify the things you do want from your job. These things are rarely obvious. But you have to identify those things before you can know if 1) your current job isn’t going to work for you, and/or 2) if any particular job is going to work for you.

You have to put a fair amount of energy into thinking about the things you want! Some things are easy. You want to get paid, of course, and maybe you have geographic limitations. It gets trickier. Maybe you want to work with a particular set of technologies, or programming paradigms. Maybe you have opinions about the sort of product(s) you are willing to work on.

Once you know what you want, then–and only then–can you know if you are making the right decision.

Put another way, someone told me once that you should never quit your job after you’ve had a bad day. If you have a good–or even a normal–day, and you still want to leave, you know you are making the right decision.