In the first post in this series, I talked a bit about different indicators of job satisfaction and how you can rank your own job for each of those criteria. In this post I’ll list simple steps anyone can take to improve personal job satisfaction in each of these areas: quality of projects, work-life balance, bureaucracy & politics, recognition & respect, compensation, and teamwork.

Before diving into steps for improving job satisfaction, its worth mentioning the most obvious way to improve job satisfaction – switch jobs. Switching jobs is definitely something to consider if you aren’t very happy with your current position, and according to TechRepublic’s article on 10 signs you aren’t cut out to be a programmer, if you prefer regular raises to job hopping, you aren’t even cut out to be a programmer. So it seems that job hopping is a part of the culture and in many cases the only way to move forward in a programming career. A job change may be the optimal path, but it usually takes time.

Whether or not you are actively looking for a new job, it makes sense to always be looking for opportunities to become more satisfied with your current position. Right. Now. Why? Work is a big part of life. If you show up every day, you might as well do whatever you can to enjoy it. If you aren’t happy it will show in your work. This means lack of motivation, poor job performance, and bad references in the future.

Quality of Projects

  1. Spend time working on projects you enjoy in your free time. Learn a new language. Contribute to an open source project. Read a book. Attend a conference. Start a blog. This has the added benefit of keeping your skills up to date and making you more employable.
  2. Create side projects that are worthwhile and fun. Write some utility scripts to automate the deployment process. Improve the source control system with email notification of check-ins.
  3. Ask to be transferred to another project. Given a choice sane management would rather transfer a star hacker than loose them altogether.

Work-Life Balance

  1. Many hackers do enjoy the long hours and ability to focus all their energy on one task, but if this is your style it is important to take breaks after several days of long hours. Take a day off. Don’t hoard your vacation time.
  2. Relax a bit and simplify your life.
  3. Schedule time for family, friends, personal projects, and other commitments. Stick to the schedule.
  4. Reduce your hours. Don’t be afraid to let management know that there are boundaries. They will respect you more for it. Really.

Bureaucracy & Politics

  1. Rejoice in the fact that it could be worse.
  2. Avoid gossip and rumors. Stick to your work and keep your head down.
  3. Gracefully back away from situations that will result in more bureaucracy and politics.
  4. If your manager is able to shield you from this, thank him. Profusely. Let him know that it’s appreciated.

Recognition & Respect

  1. Become a mentor. You can do this on a more informal basis by leaving your door open to junior developers, or in a more formal way by joining a mentoring program.
  2. Become a project lead. Don’t wait around for your company to promote you – start an open source project, or help out on an existing project.
  3. Pick a niche and become an authority on it. Give talks at conferences. Blog about it.


  1. Ask for a raise. A nice way of doing this is asking for a performance review. Be prepared to highlight your achievements and specific ways you have contributed to the company’s success. Do some research on current salaries in your area and inflation rates and be prepared to quote them.
  2. Barter for better health benefits, tools that will increase your productivity, longer vacations, more telecommute time, free M&Ms with the green ones picked out, or whatever floats your boat.
  3. Get a certification, go back to school, or take a few classes online. Employers often increase compensation as education level goes up.


  1. Get involved in the hiring process so that you can have a hand in building a powerful team. Hire those 5 star people and do anything you can to keep them happy.
  2. Be glad you don’t work with Paula.
  3. Extend your network outside of your current job to connect with like-minded developers. Join a LUG, programming association, or alumni group. Use LinkedIn.

Everyone goes though periods of dissatisfaction with their job. It’s normal. I’m no expert in employee motivation, but I have found that the above steps work for me. Hopefully you will be able to get some use out of them as well.

Photo by Massics