A recent survey of how developers spend their time found that programmers spend the majority of their time not writing code. A company named Electric Cloud surveyed 443 software developers and found that, on average, they spent just under half the hours in their week on “design and coding.” The majority of their time was spent on a combination of non-programming tasks, such as brainstorming, administrative tasks, environment management and testing.
If you find this surprising, you’ve never worked as a programmer. Even to the non-developer, this shouldn’t be Earth-shattering news, though, since, after all, how many professionals really spend all of their time doing one thing? Other surveys have found, for example, that:
Design engineers only spend 60% of their time on technical tasks
Wedding photographers only spend 40% of their time taking or editing photos
High school teachers in Denmark only spend 20% of their time teaching
As a former programmer, though, I find the results about how developers spend their time a bit deceiving. While there were plenty of days where I spent less than half my time coding, there were also lots of days - or weeks - where I spent way more than half my time pecking out Perl or PL/SQL or shell scripts. The one sure thing about being a developer was that my day-to-day activities could vary greatly. Generally, what I spent my time doing depended on where we were in the development cycle of whatever it is we were building.
If we were in the early stages of building, say, a new content management system, I would be doing very little coding; most of my time would be spent sitting in meetings gathering requirements, researching solutions or tools, writing functional specifications, creating time and work estimates, etc. Once we got into the actual build, most of my time would be spent at the keyboard coding, which could be 90 or 100% of my work day. Closer to launch, time would be more evenly spread between coding (finishing new features, testing, fixing bugs), writing final documentation, training end users, developing launch plans, etc. After an application launch, but before the next big project ramped up, my programming time would be devoted to code maintenance, but I was also freer to spend time on non-coding things like reading and learning about new developments in the languages and platforms I was using, going to training or conferences.
So, no, being a programmer doesn’t mean you write code all day, or even most of the day, though days full of coding do happen. I found it to be a job with lots of variety in my day-to-day activities, many of them away from a computer screen. Other programmers working in different kinds of development environments (e.g., pair programming) may have different experiences but that’s the point: there really is no way to define an “average” work week or day for a software developer.
There was one important task, though, that took up a portion of every work day no matter what was going on because it was critical to my ability to function as a developer: obtaining and consuming coffee. Too bad the Electric Cloud folks didn’t break that out as a separate task in the developer survey. Maybe next time.
Read more of Phil Johnson's #Tech blog and follow the latest IT news at ITworld. Follow Phil on Twitter at @itwphiljohnson. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.