Agile Zone is brought to you in partnership with:

I am a software engineer, database developer, web developer, social media user, programming geek, avid reader, sports fan, data geek, and statistics geek. I do not care if something is new and shiny. I want to know if it works, if it is better than what I use now, and whether it makes my job or my life easier. I am also the author of and Founder of, a social media monitoring and tracking tool. Robert is a DZone MVB and is not an employee of DZone and has posted 109 posts at DZone. You can read more from them at their website. View Full User Profile

As A Software Engineer, Do You Really Like Your Job?

  • submit to reddit

I love how things happen. First, I ask for feedback on the blog Facebook page about what types of posts people would like to see. Someone asks for more career advice for senior level people, and then two other blog posts appear that make my job a lot easier. There are a lot of topics to talk about when you look at career advice for seasoned veterans of industry. Today, I wanted to focus on making sure you, as a software engineer, were doing the right thing for you. Basically, software engineering is difficult work and typically high stress. So, if you don’t really like your job, you need to do the right thing and find one that you can like or even love. The real question is how do you know it is time for a change?

Erik Petterson has a really interesting post where he compares job satisfaction to a coffee table. It is a very good post that gives you a nice overview of how to check if you still like your job:

My advice to those disenfranchised with their jobs.  Inventory their job satisfaction coffee table.   Ask yourself, “Am I getting paid reasonably? Do I like what I’m doing, who I’m doing it with, and whether the good times seem like they’re gonna continue or not?”

There are plenty of websites where you can check the average compensation for a software engineer in your geographic location. So, you should make sure you are at least near the average or above it.

The team that you work with is also very important, because they can make a job much more enjoyable. I have had some jobs where I had no interest in going to happy hour after work with a large group of coworkers. On the other hand, I have had teams where the people are almost like family and working with them became enjoyable even if it was stressful. Ask yourself, do you really like the people that you work with? You spend at least 40 hours per week with them, and probably another 10 hours per week thinking about them when you are home. Not liking them will just make your home life more difficult.

Job stability is a bit of a misnomer in our current industry. Even the giants like IBM, Microsoft and even Google have laid off people in the past two years. If you work for a smaller company, stability is always a question. The problem is that you have bills to pay, so a steady paycheck is required. What you want to do is figure out if the company itself is somewhat stable. Have they had a lot of people leave for other jobs in the area? Does the company have an increasing customer base? Are they cutting little perks like free coffee or bottled water? Also, how happy are the employees on average? All of these point to the general health of the company, and can tell you whether you should be looking for a new job in order to protect your financial well-being.

Lastly, and probably most important for software engineering is, do you really like what you are doing? For some people, love of their work can override any deficiencies in the other areas. That is not always a good thing, unless you are already wealthy and the paycheck does not matter to you. At some companies, the work will always be really interesting and a lot of fun to work on. However, there are not a lot of those types of jobs, but there are plenty that you can like. How do you know if you do not like your current job? Merlin Mann wrote a fantastic post about cranking. His descriptions of cranking are probably all too familiar to some of you:

I didn’t have time to think about my family. Not now, right? No, I had to keep working… So, I’d type and type. I’d crank and crank. I’d try and try… I would do my job until I hadn’t the slightest idea what time it was or what bullshit I was typing or what my crank was ever meant to be attached to in the first place. But, even when my shitty little crank was not attached to anything, I did keep cranking. Because, Dads do their job. It’s what they do. They crank. They crank and crank and crank and crank.

Have you ever been in that type of position? No matter how much work you do, you have that much more to do. If the work is not interesting, then it really is just like turning a crank on a bed. Eventually, you go to work, do whatever is needed and collect a paycheck. There is no joy in this life, and enjoying your job is very important to your overall happiness. If you have found that you dread going to work, without even knowing if there are problems, then you are probably just cranking. Merlin has an excellent quote in that same post on what you need to do:

It’s now become unavoidably clear to me that I’ve been doing each of these things poorly. The job, the making, the pleasing, and, yeah, the being at home. And I can’t live with that for another day. So, I’ve chosen which one has to go.

You have to remember that you can change a lot of things. You can change how you do your job, and maybe make your company a better place to work. If that is not possible, what else can you change? Maybe it is time for you to change your job, unless you really like that crank.

Enhanced by Zemanta
Published at DZone with permission of Robert Diana, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Javin Paul replied on Tue, 2011/05/03 - 7:01am

Interesting article , Thanks for all those related links , I really like Erik Petterson post . I think until you find your job interesting it would be hard to spend time, most of the developer I met they spent countless hours on learning and exploring technologies , reading blogs , reading articles etc. those are kind of interest you need in yourself to keep the passion going .

10 example of using find command in Unix

Jon Davis replied on Tue, 2011/05/03 - 8:54am

I have found that my job satisfaction is very much dependent upon the background, role, and trust of my superiors. If my superior has a technical lead role, I need him to be the shiznat when it comes to understanding technology and how to properly engineer software, and I need him to communicate technical guidance to the team elequently. If my superior has a non-technical lead role, then I expect him to stay out of the kitchen, stay out of our way, let us do our job, do not micromanage, and never, ever stifle development team communications or social interactions because there is a culture that comes with the territory and it must be allowed to thrive.

That said, I recently got so burned out on employment that I quit my job and then I went six months without a regular salary. I started out during that time doing contract work, then I just decided to take a very long vacation (about two months, plus almost a month job searching) and reexamined my priorities. I am now working full-time again, working for a company that I chose because I'd be working under someone who knew his stuff and a clear leader in important technical matters, and yet he seemed flexible about unimportant things. I'm working with co-workers I respect, who are properly led.

The job I had quit before my six-month self-exploration was tainted by having a lead developer with significantly less experience than myself and offering no technical leadership, eventually replaced by another developer with less experience than myself (fortunately he did communicate eloquently, but he had absolutely no respect for experience). Above this role was a director who seemed to do absolutely nothing except he would refuse to respond to questions in the defect tracking system, frequently inject new "omigosh this must be fixed now" hotfixes into the hotfixes queue, prohibit the resolution of technical debt, regularly step in and tell us to stop conversing about critical technical matters and to take a conference room if we must discuss anything, and usually deny us the satisfaction of company-sponsored team outings that every team was supposed to have been granted every month.

Robert Diana replied on Tue, 2011/05/03 - 9:48am in response to: Javin Paul

I had avoided the passion discussion, because it does not apply to some people. Some people want to like their job and what they do, they do not need real passion for it. That is "acceptable" to them, but to some of us, I agree that the passion is required.

Robert Diana replied on Tue, 2011/05/03 - 9:57am in response to: Jon Davis

Team dynamics and organization are always an interesting topic mainly because so many different personalities are involved. Your explanation of tech vs non-tech leads is an issue that I found to be a highly personal preference. Some people expect them to be experts in a specific technology that you are using, others expect a generalist, and others prefer the non-tech in order to "manage" the process. The productivity of the lead is also heavily affected by the company itself. As you mentioned, having a director affect team productivity in a negative way means the lead really has limited power. That is probably a bad situation for almost anyone.
Also, it is rare for people to go on self-exploration, even without quitting a job. So, congratulations to you on making it happen. I have reflected on what I wanted in the recent past, so that I am now in an opportunity that I am happy in. Sometimes, you just need to realize how much you dislike your job, not the work you are doing.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.