Agile Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2576 posts at DZone. You can read more from them at their website. View Full User Profile

Do Developers Have Enough Time to Keep Their Skills Up-To-Date?

08.11.2010
| 25359 views |
  • submit to reddit
Over half of the developers polled in a recent survey by Embarcadero Technologies say "no," they don't have enough time to learn that new language, or understand that new technology.  On the other hand, developers are getting more money, but are the hidden costs really worth it?

The developer survey, posted late last month, showed that about 52% of 606 developers believed they didn't have enough time to accomplish work tasks.  As a result, they don't have time to learn new programming languages or keep their current skills up to date.  

The exact question asked was: "What are the three biggest project challenges that you face as a developer?"  'Not Enough Time' was head and shoulders above the other choices - the next highest result was "Poor Testing" at 30%.  Other common choices were 'Poor or no requirements', 'Poor planning', and 'Slow or inefficient tools and technologies'.

Here's a chart showing the results of the survey question: "In general, what aspect of your job takes up the most time in your day?"



Another question asked what developer activities respondents wished they had more time to do.  Developers could select more than one answer.  60% said they would like to learn new programming languages and technologies, and 58% said they would like to just keep current skills up to date.  Other options included unit testing/system testing, adding documentation and code comments, fixing old bugs, and keeping object models up to date.

Mobile technology was at the top of the results when developers where asked which emerging technologies they thought would have the greatest impact on the development community (56% chose it).  Developers could choose multiple answers in this question as well.  64-bit and parallel computing were both high on the list (49% and 47% respectively) with cloud computing and virtualization close behind (31% and 28%).

Learning any of these technologies well enough to develop for their domains will require a significant investment of free time - free time that many developers are not getting.  When developers loose their means to enhance their abilities and learn exciting new things, their work becomes less satisfying and they lose their drive to do good work.  Developers can also burn out if they don't have enough time to spend with family and friends.  This ends up being bad for the company as well as the developer.  

When developers lose their opportunities for mastering new technologies and have no transcendent purpose, their work suffers.  If the workplace conditions become unbearable, the most talented coders will be the firsts to leave, since they have skills that make them lucrative to other companies.  If the other employees feel like they can be easily replaced by practices like outsourcing, they will be less invested in the their work, and the company goals.  

Although the survey shows that 43% of self-employed / consultant developers are making more money than they were five years ago, sometimes developers need to ask themselves if the money is worth it when compared with their interest in the work and the workload flexibility. 

Comments

David Lee replied on Thu, 2010/08/12 - 12:37am

For java no, for all other language ecosystems - probably.

 

James Sugrue replied on Thu, 2010/08/12 - 1:05am

It's worrying that taken together design and test are not even half the amount of time spent on coding. Throw in analysis, and all three activities still seem to be given less priority than code. I know that developers need to get stuff out there, but it's a struggle without proper quality measures around coding. Maybe test driven development doesn't really happen. 

Most developers would find it difficult to keep their skills up to date in their day job, unless they are lucky enough to be working on a project with varying technologies. To really keep up to date with this industry, developers have to sacrifice some of their spare time.

Fabrizio Giudici replied on Thu, 2010/08/12 - 5:16am

It's worrying indeed. BTW, I think that "we don't have enough time" is related to "we do poor testing". If you don't test, you'll be doomed to catch and fix bugs in the extra hours. I'm not saying that with tests everything will be just fine and issueless, but in the end you'll be much more efficient (also considering that tests make more efficient and error-prone even the communication customer-developer about issues).

Dave Sharp replied on Fri, 2010/08/13 - 10:48am

James Sugrue;
I wouldn't say that the 3 activities (ADT - Analysis, Design, and Testing) are being "given less priority". The concepts of ADT haven't changed dramatically. Development technologies have changed dramatically over the last 10-15 years, however.

With developers finding it hard to keep their skills up to date, the speed at which they can develop is going down, forcing them to spend more time on development, while still spending the same amount of time in ADT. This is why the percentage of time spent in Development is higher than the other 3 activities.

The problem with this scenario is that the benefits of "faster development time" touted by the software development tools companies are being offset by the developers having to learn on the job and develop at a slower pace. I know my productivity hasn't improved much with the new stuff.

Stephen Britton replied on Fri, 2010/08/13 - 8:28pm

In my experience, high profile projects within the company you work for can put tremendous pressure on developers to simply produce results. This takes away from time to thoroughly test, take more time to design more intelligently, and especially refactor to optimize; if its done and working, functionally the goal accomplished. Ultimately all this pressure also attributes to not having time to keep up with the times and stay sharp.

Comment viewing options

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