When a developer first begins to consider moving jobs, most of us start by firing up some job boards and checking out the options. The thing is, most of us don’t actually know what we’re looking for. When I looked for my first job, I thought, “Hey, I’m just looking to see what’s out there.” Eventually I took one of the offers, but I was soon disappointed with my situation. My needs were not being fulfilled, and my most effective work style was not an option at that company. I loved the people that I worked with there and still keep in touch with a few, but outside of that it was basically a waste of my time and ability. That’s why I believe it’s really important to take a few basic steps before charging ahead into the job hunt. A little planning will always bring better results in the long run, especially if you’re looking for a role that you can grow in and enjoy for years to come. It’s well worth taking a little time upfront to prepare. I’ll be writing a four-part series starting this week about what steps all developers should take before applying for a new job. Today we’re going to look at what I see as Step 1: Know Yourself.
Understanding your needs is the real first step in finding a job. I know this sounds obvious, but the reality is that you’re probably not thinking about all of your needs; you’re probably just thinking about the ones that most desperately need to change. If you hate your boss, that can cloud everything else until all you care about is finding a new boss. But ignoring other needs will typically lead you right back down that same path, making one thing better but still leaving you in a situation in need of major improvement. There are lots of kinds of needs: emotional needs, security needs, respect/acknowledgement needs, autonomy needs, etc. Many of these overlap, but when you’re looking for a job there are basically two buckets you need to evaluate: Will you be satisfied with the work you will be doing, and will you be satisfied with the benefits you’ll receive? If either of these is unsatisfied, you can expect to find yourself dissatisfied in short order.
Will the work satisfy my needs?
The following are questions you should be able to answer about yourself at any point in time, in priority order, so that you can determine whether or not a prospective company fulfills your needs.
- What tools am I confident in using?
- What kinds of problems do I want to work on?
- What kinds of problems are challenging to me?
- How much responsibility do I want in the full product chain for my features?
- What size team do I work best with?
- What kind of environment do I work best in? (e.g. open floor or private office)
- How much time do I need to explore new stuff?
- How often do I need feedback?
Will the benefits satisfy my needs?
You should also be able to answer and prioritize the following questions.
- How much money do I need (not want) to make?
- What kind of health benefits do I need?
- How do I learn new things effectively?
- How much time do I need to myself?
- What’s the furthest I can be separated from my spouse/kids/dog/etc and for how long?
- What kinds of tools do I need to get things done efficiently?
- What am I comfortable wearing when I work?
- What time of day do I work most effectively?
- How many side projects do I need to maintain?
Write it down
Note that all of these questions are introspective. You should answer these questions before you start your search, not mold your answers to your available options. When you’re looking to fix one thing about your current job — working for literally anybody but your current boss — you might not take care of the core issue. Perhaps there are other, institutional and cultural problems that have led you to feel this way that you’re overlooking. Or you might give up a previously satisfied need in the process. You might miss out on the bigger picture. Changing jobs is a life changing decision and life changing decisions should get extra attention. It might not be easy, but perhaps changing cities, for example, is the best thing for you.
[Photo via Visual hunt] As you read through these lists, I hope you find a thing or two you would not have previously thought about, and I hope that you thought about a thing or two that’s not on these lists. The way to go about developing your own list is straightforward. Start by writing down specific events that either boosted your satisfaction greatly or reduced your satisfaction greatly. Actually write them down in a notebook that you keep somewhere safe and readily available. Write down these experiences when they happen. Occasionally, say every month when you’re just getting started and every six months once you have a good baseline, go through your experiences and use them to update your answers to these questions. When one of your experiences makes you think of a new question to answer, just add it to the list and answer it. Your answers to these questions are going to change over time, and that’s good because it means you’re developing a greater understanding of your needs, and your life is probably changing as well. Getting older might mean finding a partner, adding kids or other dependents to your life, needing more space to store all the stuff you accumulate, changing priorities in terms of what you want to accomplish in this world and whatever else; you do you. After you answer these questions, let us know in the comments: Did you learn anything about yourself and your needs that you hadn’t considered before? Update: Read Parts II, III, and IV of this series now.