Click here to monitor SSC

Tony Davis is an Editor with Red Gate Software, based in Cambridge (UK), specializing in databases, and especially SQL Server. He edits articles and writes editorials for both the Simple-talk.com and SQLServerCentral.com websites and newsletters, with a combined audience of over 1.5 million subscribers. You can sample his short-form writing at either his Simple-Talk.com blog or his SQLServerCentral.com author page. As the editor behind most of the SQL Server books published by Red Gate, he spends much of his time helping others express what they know about SQL Server. He is also the lead author of the book, SQL Server Transaction Log Management. In his spare time, he enjoys running, football, contemporary fiction and real ale.

Developer Burnout

Published 17 March 2009 11:15 am

One of the sure signs of a dedicated and passionate programmer, sys admin or DBA, is that their passion inevitably invades their private life. Writing code, monitoring server-based systems or looking after databases, is not something they think about only during office hours. They probably have an elaborate IT setup in their basement at home, where they spend some of their spare time secretly working on a new programming language, virtualizing servers, or testing out new database design theories.

 

It’s common, when recruiting, for interviewers to seek out evidence of this passion; tales of writing their first identity transformation pipeline in Pascal, aged 15, or how they were a stone’s throw away from inventing a markup language for the internet, when Tim Berners-Lee beat them to it.

 

However, occasionally, when I read advice about what to look out for when hiring a developer, I feel that a line is being crossed. Looking for evidence of youthful passion is one thing, but it seems that these days, on top of having acquired the obligatory 7+ years experiences in C#, 5+ years experience in SQL Server, and so on, we expect our programmers to have spent all of their “free time” selflessly contributing to numerous open source projects, blogging tirelessly about domain-driven design and ruby-on-rails, and answering forum questions on MSDN. It seems to me that we’re reaching the stage where, in order to demonstrate their skill and dedication, a developer must have done more or less nothing else in their life except sit in darkened rooms, staring feverishly at a computer screen.

 

I don’t think this is attitude is good for the long term health of the industry. No wonder many developers “burn out” at such a young age! Where is the work-life balance in all of this? Just as you wouldn’t, or shouldn’t, discriminate against a developer on grounds of age, so I don’t think you should discriminate on the grounds that they don’t choose to spend all their free time bashing out open source projects.

 

I’ve met many highly-talented developers and DBAs who have a completely different set of interests outside of work. On the whole, they are able to learn what they need to do their jobs within their work hours and, quite rightly in my opinion, expect the company they work for to support most of their training needs.

 

In my experience, the best and most productive developers bring life experiences to their programming. The programmer with artistic leanings can teach your team a lot about the subtleties of UI design. The programmer who spends his free time managing the accounts for a local charity probably has better insight into how to write an effective accounting application than the one who spends his time researching Persistence Ignorance, the Agile mindset, JRuby, Mockist TDD, object neighborhoods, or polymorphic aggregate roots.

 

As our current Geek of the Week Gail Shaw noted, we need to stop this cult of overwork. It is harmful and unsustainable. Yes, it is important in an interview to test out a programmer’s mettle, seek out evidence of their passion for what they do. But equally it’s important to find out what life experience they bring with them and maybe, as Phil Factor suggests, challenge them to a game of table tennis.

 

As always, we’d all love to hear what you think. The best contribution to the debate, added as a comment to this blog, will receive a $50 Amazon voucher.

 

Cheers,

 

Tony.

16 Responses to “Developer Burnout”

  1. jerryhung says:

    Well said, and a sad funny fact is, when you look at the managers or leaders in a company, they are almost not the “dedicated 24/7″ IT type

    Instead, they draw from their personal experiences, combined with the business skills, to better manage/lead the team/company

    Some would say, they get burned with meetings and phone calls instead though

    I am a SQL DBA, and I admit I do think about database at times, in my sleep too. But for the most part I try to not think DB outside work, until the phone rings

  2. HankFay says:

    Stubborn persistence, yes. And so long as spelling and the ability to articulate are differentiated, then yes to the ability to articulate.

    I would add the ability to read well. It’s possible to be a good programmer without being a good reader; I’ve not met a great programmer who was not a good reader.

  3. markatrombley says:

    We must work for companies with very different cultures. I am not allowed to blog about my work, participate in any sort of forum in which I might actually answer a question, or do any DBA type work outside of work itself. In fact every company I have ever worked for has claimed ownership of any idea I come up with either at work or in my spare time. If they ever found out I was participating in any sort of open source development I would be fired.

    But I agree with you on people needing some other interest beyond work. A developer of any sort needs real life experiences to enhance their working capabilities.

  4. Daniel Penrod says:

    A well rounded individual tends to find answers to problems quicker because of their ability to communicate as opposed to those who isolate themselves and hack out home grown solutions. If your only life is work, then you become, as the saying goes – “All work and no play makes Jack a dull boy.” Introverted is another word that comes to mind when thinking of this type of programmer. While keeping to yourself isn’t always bad, in some instances it could hinder a persons ability to work as a team. I believe in balance. A truly good programmer has many passions in life. The ability to balance and put everything in perspective makes a well round individual who can truly contribute to team environments.

  5. DrTechnical says:

    I’ve been involved in IT work for over 30 years, and in all that time, I can’t say that my management has ever really appreciated the time and dedication I’ve put in to see that systems are running well, or that problems are fixed in a timely and correct manner. I’m reminded of the old axiom that “No one ever died wishing they had worked more.”
    I think most of us would agree that there are times when we must work long hours to accomplish an important short term goal. But working overtime ALL the time is frustrating, discouraging and tiring on us, and rarely acknowledged by managers who have come to expect these long hours as part of our job. I love my job, but I also love things outside my job, and I want to have time to pursue those other things too.

  6. AlexButtery says:

    I’ve been working in IT for over 30 years and finally transitioned to management and database administration 3 years ago when I realized that I was no longer able to pick up new languages and technologies at the breakneck speed that I had been able to in the past.

    Yes, I’m one of the geeks that has a data center in my home “office” where I have an old rack and some old servers that were on their way to the dumpster because they were so old we could not even get someone to take them off our hands for free. They get fired up when I’m trying to test out new technologies or just “play” with something. I remember working incredibly long hours on projects that had to get done and having absolutely no family life because of it. I finally realized that my kids were growing up and I was missing too many things so I changed jobs so I could work more normal hours and do things with them before they got too old and no longer wanted me around (teenage years). I try to encourage other employees and those that work directly for me to work a “reasonable” number of hours to get a job done but still spend time with their families, who will still be there for them long after the current project is done or they move on to a position in another company or another division in their current company.
    I have seen a lot of programmers burn out over my career, mostly in larger companies where management does not want to hear that a project will be delayed because they just laid off half the development team and those remaining have to do “more with less”. I’ve never bought into that management attitude and will do my best to disallow it to ever affect me or anyone working for me. I can’t say never because you should “never say never” as the old saying goes. Most of those that I have seen burn out end up leaving the industry and going into some other line of work that has as little to do with computers as possible; like auto repair (well, computers are still there only they are tools to be used rather than programmed), gardening, interior design (painting/wallpaper).
    I fully understand the necessity of getting the job done, but if we continue to make IT workers put in insane numbers of hours because there is a lack of planning or lack of staff to do it correctly the first time, then we are going to have fewer and fewer college bound people entering programs to learn the skill we have all learned, love and in some cases forgotten as grow older. It is extremely difficult in good conscience to tell a high school senior that they should go into the IT field where they will be required to work long hours for low to mediocre pay so that a company can make money and provide them with very little other than a paycheck and if they are truly lucky, a manager that appreciates them and treats them well.

  7. Rockstar says:

    Tony,

    The real question must be asked: “why”? why do developers (or DBAs) feel the need to be working all the time? in some cases, it may just be OCD. In otehrs it may be the fact that you are so good at what you do that everyone needs your help, all the time (like a good doctor, or dentist).

    Then there is anotehr factor, and that is the drive to be better than others. You want a better job, a nicer car, more certifications and letters after your name. Whatever the motivation, it is a need to compete.

    I wrote briefly about this previously (http://sqlbatman.com/2009/02/the-broken-american-dba/) and feel that it is also one of the reasons for the burnout you are mentioning here.

  8. JJEugene says:

    I do development as well as DBA-type work. Of course, the people in the activities/groups I participate in know this about me. It is not uncommon for one of those groups (religious, community service, etc.) to ask me to create some program for them. Of course, they usually have no clue how much they are asking for. One organization I used to belong to (the 20-30 club which does wonderful fund raising for various child assistance programs) once asked me to put together a “little” program to help them organize their financial activities. Oh and could it also include…

    I would LOVE to help each and every one of these organizations. I belong to them because I believe in the work and want to help. And what better way to contribute than to donate time to create a product that would cost them so much more if they were to purchase elsewhere and would not even really meet their needs anyway?

    I did it once. I developed a custom database and front-end application that allows our religious school to manage their program. It was so gratifying to make such a big difference for them. They have happily used that program for years now.

    But the hit to my time was huge. Of course, the whole point is to spend my time for these organizations. But I was spending this time mostly alone at home and doing what I do every day at work. It does not take a genius to realize that this is not a healthy and sustainable practice. If I get burnt out, my work quality would suffer. To be able to serve my work agency best, I MUST have a balanced life.

    So, now when someone asks me to donate my time for computer stuff, I tell them that I’d love to help, but I want to donate my time doing things that are different from work. It is this way that I not only serve my office the best, but I serve myself the best. It is a win-win for everyone – except perhaps the social organization not getting my time. But even that social organization really ends up winning, because they get a refreshed and energized me. Not a burnt out me.

  9. ScottD says:

    The late British Zen Philosopher Allan Watts passed down some wonderful insights into the separation of work and play. The basic idea is that individuals should not recognize sharp divisions between work and play. An individual who is content in the works they perform and those who elevate their craft to that of an artisan will dance through life without looking at the tasks they are performing as work or play, but simply part of the many actions that make up the life long flow of ones existence.

    In recent years I have really tried to put this Philosophy into practice. I see no real separation between my work life and home life – they are one and the same. The hours I dedicate to my career outside of the office no longer seem a loathsome task that that will cut into my leisure time, but simply a another part of a life in perpetual motion. Perhaps I am just lucky enough to work within an industry that I love.

    It’s a difficult Philosophy to follow and it helps greatly if one is able to make a living doing what one is passionate about, but once it is mastered every action one performs will be in line with ones purpose and burn out a non possibility.

    Check back with me though could be wrong = )

  10. BuggyFunBunny says:

    “No wonder many developers ‘burn out’ at such a young age” — From the point of view of the PMs of the previous editorial, that is a Good Thing. In American football, the rule of thumb is that a running back has a 5 year career, based on decades of data. Done by 27. So, burn ‘em up. Who cares? There’s millions of them in the pipeline. Young and cheap. Institutional memory? Who needs it. There will be a new Flavour of the Month development framework next week anyway, so what difference does it make?

    “In my experience, the best and most productive developers bring life experiences to their programming.” — There was a time when most software folk didn’t have Computer Science degrees; the curriculum hadn’t been invented yet, and even when it was, it took some years for it to become widely available. The technical degree one would have was electrical engineering. But in the 1970′s and 1980′s it was legend that the best software folks had liberal arts degrees instead; they had the most facile brains. Way too few employers (for those who work directly, clients don’t care or even think about it) express such an idea.

    On the other hand… When I was an undergraduate, my ultimate major was economics. My department head opined one day that being an economist was something of a curse; it was something one would do anyway, whether they paid you or not. He found that the field becomes a calling, not a job. I eventually left the field, and found that the relational model was my calling. It’s something I do regardless; perhaps not a Good Thing. But it is still not all that I do.

    In some eastern pursuits, yoga and tai chi notably, is the notion of openness or flow of energy. I suspect each of us has had the experience of figuring out a problem when the answer came “out of left field” without effort. That sort of thing. To cultivate such open mindedness takes practice; it can be learned. As a specific use of time not delving into database internals (they’re all pretty much alike anyway; for another editorial), I recommend them.

    Whatever it may be, each of us needs these Other Pursuits, and managers who accept the need to do so, to keep the brain agile.

  11. KarinS says:

    At 26 I’d like to think I’ve got a little more than a year of development left in me! Especially since I haven’t yet come close to paying off the debt I owe the Government for getting me through uni.

    As a young programmer in a fairly young team I’d say the biggest challenge we face is lack of experience. Our prowess in the particular language of the day is almost a moot point when it comes to understanding the mysteries of business processes, human nature, and why the hell those pesky users persist in pressing *that* button. There’s a feeling of reinventing the wheel and having no transfer of knowledge from an older college or mentor that leaves us trawling the internet for half baked examples of best practices. I find it frighting that I mentor the juniors that come along as I have really only begun to realise there is a path to true enlightenment and I’m certainly not anywhere near nirvana yet. I’d definitely agree that an IT industry full of young, naive, and star struck developers is one that is doomed to make the same mistakes time and time again albeit in a spanking new language every time.

    My own observation of my fellow nerds demonstrates that the best analysts and designers are the ones with a healthy non-work life. They’re the ones that are able to point out flaws in processes and interface designs with a friendly “that’s good and all but a user won’t understand why they need enter the Fibonacci sequence backwards…” Sometimes an uber-nerd is just what you need to work out a particularly complex algorithm and sometimes you just need someone that is human.

    For the record; I play table tennis. I suck, so I’m practicing when no-one’s around…

  12. meklembl2 says:

    Do your work and do what you can to exceed the expectations of what is expected at work. You actually do work for yourself. You are the most important person to satisfy with your work and your life.

    I am 59. I enjoy my job and my work. In fact for the most part, I’ve enjoyed most of my jobs. I’ve worked with some excellent people. They’ve all taught us something, even the jerks. Still, my time with my family and friends is my time. I need that respite. I constantly remind my team to be sure to use their allotted time off and not to lose those hours that should be spent away from work. The fun I have at work and the fun I have a home is a great balance. It’s not always easy to walk the line, but with practice, like good programming and overall knowledge, it becomes easier.

    I also want to say that it is very easy to get trapped into situations where you end of working almost 16-18 hours a day. I am talking about “crunch-time” periods of work that happen at project implementations, I am talking every day. Day in, Day out, weekends, etc. When you finally break the pattern, you get so relieved that it’s stunning. Then your spouse and your friends really tell you how stupid you were and you look back and agree. You vow you won’t let it happen again, but it does. But you learned how to break it before and this time it’s easier.

    I’m not saying companies are bad, but they will get from you as much as you are willing to give. You need to give them their fair piece, but remember in many cases, you are just a number to them. And as difficult as it is, you must remember that they are just a number to you.

    Regards and Best Wishes to all.

  13. DavidStein says:

    Am I the only person who finds it ironic that a frequent blogger, who presumably does so in his free time, created this post? :)

  14. randyvol says:

    I recall an interesting tale by Lee Iacocca; he relates in one of his books that whenever he encountered someone who would try to impress him on their dedication by recounting their 24×7 work life without vacations, in his mind he was wondering why it took them so long to get their work completed.

    Maybe if more managers were keeping the correct perspective on why we are all going to work every day, it might help us all keep things in perspective.

    In my experience the 18-hour workday came along with the ‘do it faster, cheper, better’ mindset of management; which is just a bafflegab-way of saying we expect developers to get a 3-month, 4-person project done in 1.5 months with 2 people.

    When one sits back and contemplates the projection of this ‘mindset curve’ , one realizes the ultimate end is that all possible work in the universe is accomplished in a nano-second with 0 resources.

  15. drsql says:

    Is something wrong? My last comment seems to have vanished….

Leave a Reply