By no stretch of the imagination am I the most experienced or the most adept developer out there. You’re probably right, most software shops (or at least a very significant portion of them) are like that. Again, a quick glance at the codebase should give some idea as to how highly the team values quality, because a quality team will use sound engineering practices. 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). Though startup probably breaks the whole idea of getting SW dev-related job just for money , P.S. – Sorry for the reminiscing – but I do miss those days! Sometimes I question myself whether it is too late for software professionals to learn good management. Web Development Vs. Software Development: How To Choose? Do it early, before you develop an emotional investment in the project. t2 = time wasted bring the developer up to speed, When Negotiating a Contract, Get This One Thing Out in The Air First, In search of meaningful work: I went from $105,000/year to $15/hour minimum wage, What really lies behind a productive workplace, The Waffle House Waitress Who Won't Stop Dancing, How to build honesty and candour in your business, Ideas are Screwing Up Your Product Roadmap, Big Techs are no longer offering job stability, Gives the team a better chance to offer help or solutions, Allows the team to learn from the problem, Provides a better picture of the task progress. The blame game. 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. Becoming better at our trade increases our level of contentment with what we produce. Software development projects are notorious for being late. 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! Talking about solutions is what we do. Instead, some of them become telepaths, who expect you to know what they need without actually telling you; others become micromanagers, who expect to be able to do all the actual development themselves, using your eyes and hands and brain; still others become arguers, the worst of both worlds, who instead of letting you do your job, take great pride in pointing out everything they think you did wrong. What you describe is quite accurate for most big corporations. Better Agility Because no-code web application development is built visually using pre-built modules, it’s faster to build apps. Yet, I have worked with enough software developers to recognize that I enjoy working with certain developers much more than with others. However, more and more I’ve found myself getting increasingly depressed and frustrated with the business of software development. On many occasions, colleagues argue technical topics based on their opinions. Fail. Engineers solve problems. I really hate being an engineer honestly I really don't even want an office job. […] 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 […]. 11.01.11 Posted by Pierre Mengal + in career 0 Comments Tags: consultant, entrepreneur, start-up. Like the blame game, I don’t know any sure-fire way to discover this problem early on, because no one wants to admit to a new recruit that he’s walking into the lion’s den. Marketeers don’t have to go through that !! a blog by Jeff Atwood on programming and human factors. (Or at least I know how to fix it, with a bit of measurement, in my own estimates.) (Which might be evident in the above post.). I have more than 10 years of industry experience as a software developer. I get a surprising number of emails from career programmers who … This makes me want to get into Hulk mode and flip my standing desk. I’ve worked with a number of developers that I’ve admired and respected (and I trust for whom the converse was also true). In a perfectly healthy organization, no matter how bad the error was, no one will have gotten yelled at; rather, it will just be accepted that everyone makes mistakes, because we’re all human, and the whole team will have looked at the process (rather than any particular person) to see how to avoid an analogous oops in the future. To think that software development is merely about coding is like saying you can drive because you know where the gas pedal is. Unless your boss is really a bad guy, you should reconsider the feeling. Diese Icons verlinken auf Bookmark Dienste bei denen […]. Nothing is perfect means there is job to be done . There was a standing joke at Microsoft that nobody should use an even-numbered software … Peopleware (2nd ed. It largely involves the study of "best practices" to ensure software development doesn't end in disaster. -TimK, […] 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. Naik believes that a lack of code documentation impedes the development of sustainable software. Granted, we cannot be experts in all fields. It should be pretty easy, because they identified 7 of those 9 back in 1987. Choy: I guess I’m just weary of being the odd man out. They better not; learning is no substitute for professional experience! Then there’s people like me. great article and i agree with all the points here.. Polarized, black-and-white thinking is actually a sign of depression, of hopelessness, of having given up. Wir freuen uns über Bookmarks ! We do sometimes have to work with legacy code from the dark ages or with tools that have the performance of a sloth. Bugs cost money and time to fix down the line. You know the obvious benefit of taking some weight off your chest by letting other teams create applications without knowing how to code. I came on as a consultant, along with a couple others, to help them out with a short-term project. There’s only one sure-fire remedy I know of for this problem, and that is to insist on a higher rate of pay. Did anyone get yelled at? Even if they do learn new things, they can’t claim that experience on their resumes. It means the chances are higher that we give a damn about delivering our work on time, too. Anything to get them to stop talking. [translated] We don't know what we are doing at the moment and are a little confused because our key clients changed the requirements yesterday. Finally, I have to apologize for misinterpreting your post; programmers certainly need hope. Nobody hates software more than software developers… I must confess to going through a snotty phase myself. @David Kramer. The credit taking statements are cleverly implied. Wise up and get out before it is too late. There are times that I hear a developer say “The UI I built is ugly because I am not a designer”. In code reviews, other developers have to waste time commenting on glaring issues that should have been removed during coding. Negativity is infectious. It wastes time at best. According to IBM Research: “Software development refers to a set of computer science activities dedicated to the process of creating, designing, deploying and supporting software.”. We can thank the colleague via email and copy their manager. Quick! One of the (many) unfortunate side effects of choosing a career in software development is that, over time, you learn to hate software. Well may be Jihadis. When I engage in discussions with designers, I make it a habit to learn how design decisions are made. I fell in love with computers way back in Junior High School. I made the list to learn from it for my own personal development. Managing a team requires a different set of skills, and you have to study and work to develop management skills if you want to be a good manager. But I’ve seen too many engineers become managers and then still act like they’re just engineers. John: Re shining shoes for a living. But that’s easily enough fixed. You don't get along well with others. It's one thing to be an introverted person or to prefer to work by … It also inadvertently helps us derive more satisfaction from our work. 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. “Without craftsmanship, inspiration is a mere reed shaken in the wind”, — Johannes Brahms, German pianist and composer. Eventually and inevitably, this controversy spread to another essay online, arguing back with an equally provocative title: “Developers who hate on OOP don’t know how to use it.” It was written by Gary Willoughby, a UK-based software engineer whose profile says he indulges “in the craft of software development … Failure is vilified, it’s judged, sometimes it’s punished… Failure is a good thing, and how confidence without … The following is a list of annoying things software developers do. 7:04. A professional software developer who's been doing the shtick long enough to know that real programming is not all kittens and roses—or rather, that the roses have thorns and the kittens have claws. Other team members will evolve their communication to highlight their contributions better. Even worse, the lackadaisical attitude increases the chances of having bugs in the software. Just the thought sends me back into depression: not healthy. And I’m not just talking about antisocial shutins. Non-technical issues are resolved by reading the documentation, asking subject experts, or googling. “My life isn’t perfect; therefore, I have no reason to live.” Sounds silly when put that way. They would write an email to management advertising the feature or talk about a task as if they had done it alone. The best manager I ever had was not a particularly good or experienced software developer. It is not fine when a developer constantly produces excuses instead of results. Software developers (building embedded software, server infrastructure, DevOps engineers) may occasionally undermine the importance of web development. If so, the team is probably using good engineering practices. Great list! Understanding how to motivate people and understanding people takes time and experience and I don’t see a lot of that with a ‘promoted’ title from developer. I’m definitely snotty when it comes to my own work, because I don’t want anyone telling me how it should be done, as long as I achieve the intended results. 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. Cut that out! Motive is to stop the stereotyping against Front-end development affecting the mindset of new Engineers coming into the field. Of course, it is not all roses in software development. It is our responsibility as software developers to educate ourselves in all aspects. 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. My advice to software developers: Go back to school and find another career. Because this gives one a sense of purpose. It would make much more sense to give credit to others when it is due. 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. Everyone is late once in a while. Usually, doing what you love leads to success. In the long run, such developers will be alienated. Even if your experiment fails, they should not make you feel like a failure for having tried it. The PDP-series is a little before my time, but indeed, I could plug my own ancient technologies in there. After all, we are engineers. The I-Hate-Documentation. We should also consider aspects like user experience, architecture, and business strategy. That that can only change if that sloppy developer decides to take pride in their work. Something like: “Tell me about the last, big mistake someone made that cost the company money.” What was the fallout? I must confess to going through a snotty phase myself. However, more and more I’ve found myself getting increasingly depressed and frustrated with the business of software development. When faced with such a situation, there are only 4 things you can do: Deliver less functionality. And wanted to update the comments on the timeless classic manifesto .. this thread shouldn’t die , Notify me of followup comments via e-mail. Not development work. reactions. Why don’t you tell us how you really feely Tim!!! Instead, they ought to be looking for solutions to specific problems or for people to fill specific roles within the organization. 11.01.11 Posted by Pierre Mengal + in career 0 Comments Tags: consultant, entrepreneur, start-up. I agree, you have to love what you’re doing. Now, I’m freelancing and couldn’t be happier. Once upon a time, a former coworker had left software engineering entirely and was having money problems. Bulldog Mindset 152,083 views. I so agree with the first point; bad managers are everywhere but more so in the development business. 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! Red Build. Yes, my career worked out differently than Tim’s, and a lot of other people. But you could also look at the finished product, and especially customer comments on the product and its support. But you might try asking about the team’s last overconstrained project or iteration, with a knowing, Columbo-esque gaze, and see if it prompts any reaction at all. But in some companies, these tendencies can become dysfunctionally pervasive. But I’m talking here about something different: Management wants such-and-such at such-and-such a date, and they won’t accept your promise that it simply can’t be done. But software engineering is like gravity: you may not believe in it, but the result is the same when you step off that cliff. Software development managers in general graduated from being software developers. Outage. Using this freedom to hone our skills is hard work. Enjoyed the post. You need a creative mind for development. Developers Should Abandon Agile. My company is full of people like that, because they’re a better long-term investment. When I wrote that “what I hate about software development” post, I intended it as a criticism of the software industry—the way software development is typically practiced—not a criticism of software development … 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. Aw, this was a really nice post. ... to ask what you don't like about engineering but the last part of your detail makes that clear and I think going to software development is totally the wrong thing because that kind of detail including sitting in an office is a major requirement of software … If you continue to do only what you’ve always done, only what everyone else is doing, you’ll always be safe from blame. Graceful processes, elegant design, beautiful code, and other stuff, "10 Things I Hate About Software Development", Software Development: A Love-Hate Relationship, LimeSpace – IT » Die beliebten Links der Woche, » Blog Archiv » The Path to Software Security Is Littered With Obstacles (and they’re not technical),, Musings about Version Control (and other development tools), Software Development: a Love-Hate Relationship. Just last night I was up til 11:30pm learning more about Apache Maven so I can make myself more valuable at work. Software engineering, for example, isn't just programming. I’ve burnt plenty of PROMs (though by my day, we were generally using EPROMs). Nothing encourages creative thinking like diversity of opinions. Quality is important, because it gives a team of engineers a sense of accomplishment, of pride, a healthy morale. … Ya know, at some level, these diseases are endemic to human nature. At first I thought the link was wrong – the design changed really much - Duration: 7:04. Oh, I am sorry for your bad experience, Tim. This blog post is intended to sabotage any chance that I’ll get a “normal” software-engineering job, because I don’t think I could ever go back to a “normal” job. With a passion. They are professional yet pleasant. Now, if you happen across this blog post because you’re considering me for a job position, and if you think that I’m being abusive and unreasonable here, well, that might be a hint that I don’t want to work at your company. Sometimes, common sense is not common. One aspect of software engineering is quality assurance which involves making sure technological devices and/or software … !” Ow! 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. To be good at software development means that we adopt a holistic approach to our work. This is totally fine. That would probably make a neat topic: exploring that question. But whatever profession you may have, you will face similar circumstances in different mask. The path to becoming a better developer is a never-ending process. Facebook. This is a weird thing for me to say because I love programming, I love creating software; I even enjoy solving bugs and fixing crappy code. Why do some software engineers hate their jobs? One communication pet peeve of mine is when a developer talks to non-coders using jargon. Quality can never be achieved overnight come what may. So I’m trying to come to terms with the idea, find some way to turn it into a positive experience. Often, good developers complain about the code, but it’s really not that bad, because they’ve already fixed the worst parts of it, and the problems that are left just stick in their craws. This improves my basic understanding of design principles. Well-designed? What I mean is, simply, software that works, that satisfies the customer’s needs, makes the customer swoon, has no bugs, does not constantly poke you in the eye—”See that? Developers build code; QA breaks code. It’s not hard to see where the conflict originates. Difference is: approaching retirement I just shine shoes now for a living…. The team will either have to wait for the developer or have to spend time bringing them up to speed on what they have missed. Tim, your post really struck me today – I’m sorry I didn’t see it earlier. If you get a lot of hemming and hawing and ignoring and naysaying, think about whether you should split. Linkedin. Once in a while, I will see a developer stealing credit for the work produced by a team effort. Reduce the quality (leading to delays because of unexpected bugs, and see #5 above—better yet, forget about sacrificing quality). Regression. The total time loss would be 6x(10+5) minutes. Do I dare suggest that is not the best example of social sophistication? And there are developers that annoy the heck out of me. Everyone has a bad patch at some point. “See that? The developers that I enjoy working with are the ones that collaborate well with me. Thanks for all your support, you guys. Dedicating all my time to writing and being an author has helped me feel better, to lift my depression, because it’s something I really enjoy. Once upon a time, a former coworker had left software … Allows the manager to have a more accurate impression of the colleague. Ignorance of modern research. 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. It is easier to just coast as a software developer than many other professions. Unfortunately, staffers don’t usually like to talk about the blame game, but a pointed interview question might reveal something. Sign up to join this community. Maybe that is why working with negative developers bugs me so much. That’s probably why I’d also not make it in a “normal” job in any other industry, either. I love working with customers and helping them make better decisions with their business … But as someone who’s been doing this shtick for 20-something years, I’ve grown weary of junior colleagues telling me I don’t know what I’m talking about. 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! Tim, Snotty developers. Along with them, I list the antiviruses that I hope will help me avoid these diseases, if I need to go back into software development, even temporarily. Good managers are hard to find but oh so easy to work with and so are collegues. Fail. I might do something like that, with a friend and colleague of mine—we’ve been informally batting some ideas around. I hate to break it to you, but you are not special enough for your personal experiences to define "Agile" for the rest of the world. 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. Any disputes can be resolved by trying out code in a sandbox or running a piece of software to check what it does. 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. “Truth is ever to be found in simplicity, and not in the multiplicity and confusion of things.”. I think the problem is developers by nature are full of it (hubris). Darryl, David: I posted a follow-up to your comments here: Then you proceed to contrast their disenchantment to your own delight and success, which you attribute to true love and dedication for your profession. The best way is to concentrate on your job not only for the sake of your team but also be a little bit selfish. I visited it on the web to post this comment. That last paragraph gave me a healthy chuckle. In meetings, I see eyes rolling back when “that developer” rambles on and on. But the dysfunctional company focuses on establishment, rather than on results. The team takes five minutes to bring them up to speed. -TimK, […] Highlight diese Woche. Artem: Actually, the last bad experience I had (which I haven’t posted about yet—still too close to it) was with a 4-person startup. !” Hey! Software development is an engineering / an art and it needs time to shape up. Tim, Thank you for writing this -It really helps. I’ve become used to extraordinary jobs, not “normal” jobs. So many people are able to completely ignore these issues, others rail against them, most seem oblivious… Neglect of quality. 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. 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). Oddly enough, all 10 are true there as well, especially number 9, the blame game. They often learn one skill (one language and/or one application type) and try to find work within that specialty. And the most important ingredient is that you have to LOVE what you are doing. Rather, she treated management as a profession, read books on how to be an effective manager, attended seminars, took classes, and as a result, she was good at her job. The team has a better picture of the skill sets of individuals. Software development may not be my cup of tea, but that doesn’t mean it is not for everyone. That allows your organization to be that much agiler. You are responding to an article titled “Why I Hate Software Development” attributing career frustration to insufficient professional preparation and lack of motivation. Sometimes, it takes longer to produce the results we want. 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. Red Build. I get it now. I meant becoming one of those guys who start a company and therefore establish the rules. I wonder if it is the personality or the endemic problems in ‘systems’ in general that cause these issues. Frankly, I hate having my good ideas shot down with dismissive comments like: “Unit tests don’t catch every bug.” Yeah, but they catch more bugs sooner and cheaper than any other method of testing. Because it’s not coding 24/7. We can mention the colleague’s contributions during Daily Scrum. 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.
2020 i hate software development