One of the worst traps we can fall into as software developers is discontentment.
It’s really easy to become discontented with our current situation and to want to seek greener pastures elsewhere. I’m not saying that there aren't necessarily better situations you could seek out, but finding a better job may not be your problem.
Learn to be content with what you have first…
It may seem strange, coming from me, especially when I actually sell a product to help programmers find better jobs, that I am telling you to be content with your current job. But, I've found, in life, that it is impossible to be happy with something new or better until you have learned to be happy with what you already have.
It almost seems paradoxical. If you can be happy with your current job or situation, why would you seek out a new one? You are obviously discontent with your current situation, because a new situation would be better, right?
In order to answer this question, we have to go back a bit into the past and look at where we are now from the perspective of where we were.
Chances are the job you have now was a job that you were excited and enthusiastic about when you first got it. Chances are you left some other situation that was worse than the situation you are in now, searching for greener pastures.
I made many transitions in my early career, from company to company, from job to job, always trying to find a better opportunity. But, each time I drove my little dune buggy over the next sand dune, I found the oasis I had seen from afar was a mirage.
I spent a good deal of my career never really being happy with my current situation and always looking for a better opportunity that would finally give me the rewarding, fulling, job that I desired.
I always had some reason why my current job was not good enough.
Perhaps it was the technology I was working with–I want to use that latest and greatest framework, not this crufty crap.
Sometimes it was the code base itself–if only I could work on a greenfield project, then I wouldn't have to maintain this stupid legacy code.
Once or twice it was the coworkers–these idiots are doing things all wrong. I need to work on a team that appreciates writing good code.
The list goes on and on and on…
If only I could work from home…
If only I could use ASP.NET MVC instead of Web Forms…
If only I could follow a Kanban process…
Even when I started working for myself, I started coming up with my own “if onlys.” No matter how good our present situation is, we can easily become accustomed to it and take it for granted.
If you can't ever be content with your present situation or job, you'll just find that when you find something “better”, you are eventually discontent with that as well. It is really easy to trick yourself into thinking that a parallel or downward movement is an upward one, because you've grown so discontent with your current situation.
I'm not saying don't find a better job or don't improve your situation, but I am saying that before you do, find a way to be content with what you already have so that you don't ruin the next endeavor you set out on.
How to be content
The first step towards contentment is realizing that being content is a choice–just like happiness is. Your present situation doesn't determine your contentment–you do.
Contentment comes from a positive mind that is thankful for what it has. If you want to start being more content with what you have, start “counting your blessings.”
I know this sounds a bit silly and trite, but truly recognizing what you have that is already good and being sincerely thankful for it, goes a long way towards cranking that internal happiness gear a few rotations.
Happiness and contentment are very relative things. You are happy with your car until you see your neighbor buy a new one. You are happy with your current salary, until your brother tells you about the new job he got where he is making twice what you make.
If you are constantly looking at outward comparisons to define the worth of what you have, the value of what you have will decrease in your mind. Instead, focus on what is good about your present situation.
Chances are, if you are reading this blog post, you are already in a better situation than more than 90% of the world. If you have access to a computer and an internet connection, you are “blessed” compared to the millions of people who are living well below what we would consider poverty and working much harder for a living than you are.
There are hundreds of things to be thankful for. You just have to be willing to start recognizing them and truly appreciate them. If you want to be a happier, more content person, make it a daily habit to go over everything in your life that you are thankful for each and every day. Not only will you be happier, but so will the people around you how have to deal with you each day.
(If you are looking for a good book to help you come up with things to be thankful for, check out 14,000 things to be happy about.)
Another way to be content is to work hard
One of the most rewarding things in life is a job well done.
Your present job might not be the one you want. You may be working on a completely crappy code-base. You may not be using the technologies or frameworks that you are excited about. But, if you put your head down and start working hard at your current job, you'll find it to be much more rewarding.
I've found in life that the biggest satisfaction is not what you do, but how you do it. Painting a fence can be just as rewarding as building a skyscraper, if you work hard at it and put your full energies into the task.
If you aren't happy with your present job, try shutting down Facebook, closing down Twitter and focus on doing the best possible job you can do, each and every day.
Sure, you can still look for a better job. Sure, you can still dream of starting your own consulting business or getting out there on your own. But, in the meantime, you might as well be content with the situation you are in now. Then, when you are ready, and the next opportunity presents itself, you'll have the ability to truly appreciate it.
The grass may look greener on the other side of the cubical wall, but that doesn't mean it is. Be content with what you have, but always strive for more and you'll live a much happier life and make fewer stupid mistakes.