39 responses to “10 Things I Hate About Software Development”

  1. David Kramer

    /me reads last paragraph
    “Glad to see you got over your snotty phase!”

    But I get your point. It’s like “If you think Dilbert is funny because it’s true, then I don’t want to work for you. If you think Dilbert is depressing because it’s true, then we understand each other”.

  2. Choy

    “Always being the victim” is a habit that is hard to shake off. You can take almost all of these “hates” and turn them around to highlight your skill and expertise which is somewhat evident between the lines of this rant.

  3. Artem Marchenko

    What you describe is quite accurate for most big corporations. However, it isn’t always true for small companies and is never true for 2-5 people start-ups 😉

    So it these are the only reasons you hate SW dev and you like SW dev itself, why not think about a startup? You could, for example, base on your new experience and e.g. help with some IT/web problem the new book writers have (I bet you’ve got some).

    Though startup probably breaks the whole idea of getting SW dev-related job just for money 🙂

    P.S.
    I am all the time reading your blog in RSS reader and today was the first time in weeks (or months?) I visited it on the web to post this comment. At first I thought the link was wrong – the design changed really much 🙂
    The current design is quite nice and I think is a bit easier to read

  4. Artem Marchenko

    Oh, I am sorry for your bad experience, Tim. I meant becoming one of those guys who start a company and therefore establish the rules.

  5. Rick

    Oh man, this sounds so much like me it’s scary. Choy is right about “always the victim” mentality, but the only alternative seems to be to stop caring.

    And I’ve worked for startups and small shops a lot, but I’ve encountered exactly the same issues there as TimK describes. I’m working for one now, and I’m seriously considering moving on before I get as depressed as TimK (been there too, and not going back).

  6. LimeSpace – IT » Die beliebten Links der Woche

    […] Highlight diese Woche. Ein sehr gelungener Beitrag (leider in Englisch) mit dem Titel “10 Things I Hate About Software Development“. Wir freuen uns über Bookmarks ! Diese Icons verlinken auf Bookmark Dienste bei denen […]

  7. John

    I tried to do an anacrostic but gave up. These ten, I relate to. Difference is: approaching retirement I just shine shoes now for a living….

  8. Nine Teamwork Killers « Fearless Bit

    […] Teamwork Killers While reading 10 Things I Hate About Software Development, I came across a list of nine things that kill teamwork that TomDeMarco and Tim Lister in their […]

  9. Jerry

    Tim,
    I felt much the same as you did and when laid off after my last software gig, I decided to get into education. Went back to school, got my BA, finished my MEd in a year and have been teaching for 4 years now.
    Oddly enough, all 10 are true there as well, especially number 9, the blame game. I wonder if it is the personality or the endemic problems in ‘systems’ in general that cause these issues. So many people are able to completely ignore these issues, others rail against them, most seem oblivious…
    Good luck to you, and I hope you find and answer that works for you!
    Jerry

  10. octopusgrabbus

    Were we separated at birth? 🙂 Enjoyed the post.

  11. Roger

    Tim, your post really struck me today – I’m sorry I didn’t see it earlier. But in all reality I’ve been in your shoes many times – some would call me a dinosaur because of some of my hardened but flexible ways. When I was just a Jr. Programmer in the late 70’s and early 80’s I was very cocky and one of my favorite reads was the “real programmers” (use Fortran) – during that time F-66 was my second choice of languages, and assembler was of course the primary. Throughout the years though, I’ve had to “change” my dinosaur ways and include the dreaded “C” compliers and other bloat ware compilers – As a side note I still have little if any use for many of the CASE type tools (Bloat ware). I still enjoy pounding out asm code in my spare time but for work purposes, I have to appear at least to tolerate the many Visual CASE tools. This being said, and now being one of the more SR. developers I have fun with some of the “right out of school” types that think they know it all with the bloat ware they love to write being torn apart to make it work faster and better – nothing like pulling out several thousand lines of code that are never used!

    Hang in there, those of us that have been around for awhile are appreciated, but as you mentioned, we really have to be “picky” as to who we transfer to or work for. Next time you have a wet behind the ear green horn ask them to blow a prom (not more than 2K min you) that can boot an LSI and input 30- 50 inputs (analog of course) that can be streamed to a DC-600 formatted and rudimentary stats that will work with RT-11 on an old PDP! – Sorry for the reminiscing – but I do miss those days!

  12. Yofie Setiawan

    agree with number 1, incompetent manager could make worse everything, not only software development, but also another kind of development such as web development…

  13. Armen Grigoryan

    For me software engineer, manager and entrepreneur are all talents (they can be revealed or trained, but you need to have one). And the most important ingredient is that you have to LOVE what you are doing. Next one is result orientation which will help to see the situation from outside and help to avoid most of the problems 🙂 The work should be a complete joy to feel good about yourself and achieve greatest results!

  14. justen

    great article and i agree with all the points here..

  15. Kuroi Kenshi

    Your points are dead on. I’ve experienced most of the things you mentioned at my old job, which drove me to leave. Now, I’m freelancing and couldn’t be happier.

  16. Weekly Round Up | Barry McGee

    […] In a similar vein to the above, I could also identity with 10 Things I hate About Software Development […]

  17. Rachel

    I agreed with some of what you said above. One thing I don’t agree with, though, is the idea that competent engineers often don’t make good managers. Of course, management is a skill in and of itself, and a percentage of engineers will not have that skill, regardless of how good a technical person they may be. However, in my experience, I’d say it’s more often been the case that good technical managers that have once been in the shoes of the people they’re managing will happen to have the skills needed to manage technical people, than people who are merely good managers in theory will have the technical aptitude needed to absorb and react to the feedback received from the technical teams they are managing. Some of my least fulfilling jobs have been working under know-nothing Prince II and ITIL -certified management types, who, though they may have been knowledgeable about abstract management theory, unfortunately had precisely zero flying hours in actually creating software and therefore knew squat about how to plan and build reliable systems. Worse, I’ve found such people are all too often too dumb to make up for their lack of acumen by actually listening to their direct reports, unlike managers with a technical background who will at least be able to discuss *why* they disagree with the people they are managing if they decide not to follow their advice. The public sector in the UK seems to be particularly afflicted by such ‘all theory, no skills’ people, which is what leads to 70%+ of the public sector IT initiatives in this country failing abysmally.

  18. SaaS

    Why don’t you tell us how you really feely Tim!!! Great post, I learned alot. I have also ran into some of these management problems. Good managers are hard to find but oh so easy to work with and so are collegues. I liked #2, this is the worst part of any job, the guy that knows everything and knows he does.

  19. un-excogitate.org » Blog Archiv » The Path to Software Security Is Littered With Obstacles (and they’re not technical)

    […] of software development, in fact, on the very same day J. Timothy King was also writing about the 10 things he hates about software development, including: “2. Snotty developers. I must confess to going through a snotty phase myself. […]

  20. Prashanth

    I am not sure, if this blog post accepts anymore comments.

    Yeh!… I totally totally agree with point #2.

    The important character for any manager is to trust their developers. Often in corporate world, I am seeing this imbalance of managers not trusting their developers and try imposing their own ideas / estimates thereby screwing up developers life. @ one point of time I almost thought if quitting the job and do a decent forming. But then, I have a dependent family.. Sometimes I question myself whether it is too late for software professionals to learn good management.

    Are we running after time and money?. A good manager is one who understands what it takes to make the project success in an ethical way not through short-cuts and burnouts.

    Software development is an engineering / an art and it needs time to shape up. Quality can never be achieved overnight come what may. Engineering needs precession and & discipline not “Count the Sheep” attitude.

    Someone’s incapability is not our weakness.

    I have just completed(June 2011) 12 years in IT Industry.

  21. Darryl

    Great list! In addition, my problem with software development is that it is a dead end career. There is no glamour, no recognition; you end up living a life consumed by details. Most people starting a software engineering career now will wake up 20 years later with no job, no interpersonal skills, and a major career and personal crisis in their 40’s. Not a good deal. My advice to young people: Don’t put all of your hopes and dreams on a stupid box sitting on your desk. My advice to software developers: Go back to school and find another career.

    Seriously! The software developers of today are like the machinists of the past. You don’t see many machinist jobs today, do you? How many programmers in your 40’s do you know? Outsourcing, open software, and automated tools will kill this career path. Wise up and get out before it is too late.

    Programming will kill your soul.

  22. David Kramer

    @Darryl: I hear you, but that’s not the path for everyone. I have both a management degree and a computer degree, so I look at not just the geeky side of things, but the business side of things.

    What I see are a lot of people who get into software to make big money that don’t have a great love for it. For those people you’re right in that most of them will never make it big. They often learn one skill (one language and/or one application type) and try to find work within that specialty. I once had a developer work for me that did not even own a home computer.

    Then there’s people like me. I fell in love with computers way back in Junior High School. Two decades later, I am still learning and expanding my skill set and being hounded by recruiters. And spending a few more hours on my computer every night after work. Just last night I was up til 11:30pm learning more about Apache Maven so I can make myself more valuable at work. My company is full of people like that, because they’re a better long-term investment.

    I’m not trying to brag here, I’m just saying that there are a lot of us out here that love software development and keep moving forward. And I’m not just talking about antisocial shutins. I have a family, and lots of friends, and go to parties, etc.

  23. Darryl

    @David Kramer. You are responding to an article titled “Why I Hate Software Development” attributing career frustration to insufficient professional preparation and lack of motivation. Then you proceed to contrast their disenchantment to your own delight and success, which you attribute to true love and dedication for your profession.

    Do I dare suggest that is not the best example of social sophistication? I’m not saying you are an “antisocial shutting” by any means, but you may want to consider the possibility that your comment may appeal more to your technical than your business side.

  24. David Kramer

    Daryl, I don’t think it’s bad form to comment on an article by offering a dissenting opinion. What would be the point of discussions if everyone agreed? Yes, my career worked out differently than Tim’s, and a lot of other people.

    I would say that it was being aware of the business side is what made me realize that I had to keep changing and adapting my technical side, and just as important, find ways of doing it on the company’s dime.

    Another thing I think I should make clear, is that my intention was not to put down other Software Developers (past and present), but to give hope, and say that it doesn’t *have* to be like that. Like any profession, you have to be mindful of the culture and practices of the companies you join, and open to the opportunities that come your way.

  25. Darryl

    David,

    Nothing encourages creative thinking like diversity of opinions.

    Usually, doing what you love leads to success. Constantly improving your skills certainly helps a great deal. So why do I still think Software Development is not a good career choice? It is because most corporate environments make it very difficult to upgrade your skills and/or put them to use. Most programming shops are in constant crisis mode and developers are running around like chickens with their heads cut off trying to put out fires and meeting unrealistic deadlines. A job like that is like a baby so ugly that even his own mother would have a hard time loving.

    Typically, developers get pigeonholed into a job and that is what they do for many years to come. Even if they do learn new things, they can’t claim that experience on their resumes. They better not; learning is no substitute for professional experience! Now, eventually shops do switch technologies, but when that happens 80% of the team goes out the door.

    On top of that, the current trend is taking the power away from IT and putting it right into the hands of business users. The cloud, along with innovation coming from Adobe, Microsoft, Google, and Force.com among others is a clear indication of that.

    Finally, I have to apologize for misinterpreting your post; programmers certainly need hope. At the end, each person is in a different situation. Software development may not be my cup of tea, but that doesn’t mean it is not for everyone.

    Take care,
    Darryl

  26. David Kramer

    You’re probably right, most software shops (or at least a very significant portion of them) are like that. And when jobs get scare, developers pay less attention to the company culture when choosing their next employer, even though it may be a bad career choice in the longer term, because they need the money now or just don’t see things getting better soon.

    I’ve been focusing heavily on Agile practices, and looking for companies doing *real* Agile (usually Scrum, but some XP), and that filters out a lot of those kinds of companies. Agile has a balance of power that makes it harder for employers to become sweatshops, promotes meritocracy, and puts out many of the fires that occur in non-Agile shops. Not that crises don’t happen, but the overly-inflated crisis-of-the-week is harder to perpetuate when you can fold new requests into the prioritization process every few weeks.

  27. Dinesh

    Thanks Tim for putting all the things we experience out there in words and with such clarity/simplicity – does make one wonder if utopian development company could ever be found. Nothing is perfect means there is job to be done 🙂

  28. UK Software Development Company Blog

    Aw, this was a really nice post. In idea I would like to put in writing like this additionally – taking time and actual effort to make a very good article… but what can I say… I procrastinate a lot and by no means seem to get something done.

  29. Joshua Warren

    Most developers(sincere ones) have gone through similar experience faced one or more of the above aspects of being a part of a team. But whatever profession you may have, you will face similar circumstances in different mask. The best way is to concentrate on your job not only for the sake of your team but also be a little bit selfish. As you are likely to learn something in the process. But if you want to avoid all the points, then the best way is to be a solo player or choose a like minded team.

  30. emulation

    Indian companies have the talented and dedicated professional team because clients that are Outsourcing their software services with India may get exactly what they have expected. There are many reasons behind India’s popularity in the global IT market but its efficient human power is the key factor that is making software services more reliable and robust.

  31. Kristy@Racks and UPS

    I think meeting those kind of people in the real world is a major challenge than the job itself because those people are the one who will be your friends or better yet your worst enemies.