Is your job fun?
Most people, especially outside the software industry, would answer “No, but it’s just a job. It’s something I need to do in order to pay the bills.” It’s perfectly normal for a job to not be intrinsically satisfying, not especially extrinsically rewarding, and just around for the purely utilitarian exchange of goods and services for money. Just look at the service industry, retail, fast food, etc.; these are jobs which people hate.
Some (even within our profession) would answer “Well, there are aspects of it which are rewarding, but I don’t know if I’d call it fun.” These are the people who either (a) find value in the work they do, even if the work environment itself isn’t rewarding or fun, or (b) find value in some aspect of their work environment, but don’t especially like or understand the value of the work they do.
The first is by far a more common situation, due to the social value of taking pride in one’s work; you could be a construction worker or a janitor, a nurse or a graphic designer, and love the work you do intrinsically, but hate the extrinsic aspects of your workplace (bad pay, long hours, bad management, rough customers, etc.) Who else would deal with mud, hot sun, tar, bodily fluids, rapidly-changing ideas that get in YOUR way as THE DESIGNER, and so on, but people who absolutely love making things clean, building new things, helping sick people get better, or making beautiful, meaningful graphic design? The problem is that most jobs that people get passionate about come saddled with their own extrinsic issues to overcome: Not everyone can have their cake and eat it, too.
The latter is a bit more rare, because extrinsic factors (pay, location, management, hours, upward mobility, etc.) are far worse motivators than intrinsic factors, but it happens nonetheless. An immigrant dishwasher at a 5-star restaurant may hate getting his hands rubbed raw from dealing with hot, soapy water every day, but may like the large amount of money he’s getting because it helps him take care of his family, and he may like the opportunity to eventually work his way to being a chef and cook like his abuelita taught him in his home country. A personal assistant to a vile corporate executive may appreciate the career boost and high pay grade that comes from working in a large corporation so close to the boss, but may feel like the work she does is worthless because the boss disregards her opinions and her efforts to help. Most people who are in their jobs by purely extrinsic motivators perform poorly, and many leave eventually when the stresses of doing something they hate overcome their need for, or appreciation of, the other aspects of the job.
The software industry is a bit of an odd duck; due to the highly intellectual and puzzle-like nature of software development, combined with the fact that software gets disseminated and used by a drastically large amount of people in high-profile situations (Microsoft, Google, Nintendo, Facebook, etc.), oftentimes improving their quality of life in one way or another, software developers are preternaturally intrinsically motivated. We’re hard workers, and we want what we create to be useful, popular, fun, or successful. While there are still exceptions to this rule, it’s often assumed that anyone who sets off to actually take on the wicked problem of making software is going to work hard enough to make that happen, overcoming obstacles as they are encountered by applying intelligence, wisdom, and willpower.
That being said, it should be trivial for software development to be a “fun” job, right? We have the whole intrinsic factor thing down, after all. Why doesn’t everyone make software, if everyone in the software field loves what they do?
Software development is hard. Some types, like the extremely intrinsically-rewarding field of video game development, are very hard. Even doing your best, and encountering no issues along the way to a finished product, isn’t anywhere near enough to be successful, and many game developers get burnt out by a combination of the long hours, hard work, necessity to know your nebulous userbase well enough to market a game they’ll buy, and eventual fallout of a vicious, vindictive, and sometimes violent community. These are all extrinsic factors that get in the way of success of games specifically, but they echo similar concerns across the whole software industry. Yet still, thousands of developers venture into the gaming industry and the software industry every year, hoping to be able to make a living doing what they love.
The best software jobs, the ones for which their employees are the happiest (and the most productive), know this aspect of the field very well. Historically at Microsoft, for example, the goal of management has been to get “furniture” (extrinsic factors, up to and including the management itself) out of the way, and let the developers do their jobs. They acknowledge and work with the intrinsic motivation that Microsoft developers have, focusing that motivation to allow them to create better software, work with less frustration, and generally be happier. When you can do what you love, and don’t have to do what you hate, you’re going to have more fun.
As a software developer, you may have to eventually ask yourself (or future employers), “Is this job fun?”
If you are a software developer, consider yourself lucky to work in an industry where many jobs are fun; if you can’t say (or an interviewer can’t convince you) that a company is a fun place to work, then you should strongly consider looking for somewhere else to work, or carefully consider the other benefits of working there. If you’re a manager, and you start hearing that your reports aren’t having fun at work, then it’s time to make some changes.