As a software developer, which tasks do you find most annoying in your daily work? Which part of your job would you like to outsource to someone else if you could?
- Before committing, clean things up by removing a debugging statement and some whitespace
- Bug reappears
- Undo the cleanup
- Bug remains
It's amazing how often this happens. It usually takes a good half hour to find what's actually wrong. A good indication that you're close is that your development environment will mysteriously hang or your house wifi will go down. That's the universe putting in its one last shot at wasting a little more of your time before giving up and letting you win.
I don't think that has ever happened to me. There can be stuff like caching or hot reloads working/not working in your favour but if the bug is fixed, it's fixed.
> As a software developer, which tasks do you find most annoying in your daily work?
Having to tell others (contractors, collaborating 3rd parties, etc.) what they shall do and how to do it. We've got an issue tracker and a TODO list and tons of TODO/FIXME/XXX comments in our code base. How about working on those? Pick an issue in the tracker (or if you've found some TODO/FIXME/XXX that hasn't assigned a tracking ID, create a new own) and work on it! Oh, and please don't ask me for a pinned down specification for each and every detail; it takes me more time and work to write down such micromanaging specs, than it'd take me, to write the code myself.
You think meetings are productivity killers? At least you can zone out in those and mentally work problems. People asking to be micromanaged, that's what really grinds my gears.
If you work on or manage Windows machines, then waiting for Windows Updates can really suck. This may not seem directly related to programming, but it can be when you have sandbox virtual machines that are perpetually non-updated after being reverted to previous snapshots, or when you often break operating systems. Virtual machines make for an IT Groundhog Day.
Fighting to get my estimates accepted. I try as often as possible to give good estimates. This seems to always mean mine are a little longer as I don't give optimistic timelines. I get pushed back to shorten timelines and I'll sit on my head refusing to do so. This is almost always when it comes to dealing with obscure bugs. It's very difficult to give a timeline for those, so after digging around and trying to find the root of the problem (or at least a general direction) I give an estimate of a few days (3-5, sometimes 7) for that. Fighting to have these estimates accepted is painful. It's especially annoying because one is made to feel like long estimates are an indication of slacking off. Everywhere I've been it's the same thing. It feels like a bargaining exercise at your local street bazaar. Not fun. Also, mildly demotivating for a short period of time.
Ugh, you need a new product team if doing that is the norm. It's gonna happen sometimes, but shouldn't all the time. Maybe you can push back on them before getting too far into the builds, force them to think through things a little deeper?
Oh how many things there are that annoy me. Here are just two:
Number one has to be the idea that software development can be outsourced to save time. It takes the same amount of man-hours to develop the software plus about 40% more to manage the relationship with the outsourcing firm. Then another round of contracts/specifications/budgets/bs to fix the things that weren't in the original spec.
Number two is the idea that some people are just too important to get involved in specifying a product but they'll certainly tell you that you have done it all wrong two days before release. I may be a little bitter about that.
Some things here (meetings, bad managers, etc.) are all too true, but not unique to software development/developers!
The most frustrating is when I am completely convinced a change I make is going to resolve some failed tests, and then I run the tests, and something still doesn't work. Or I fix something and cause another problem. I enjoy the challenge of getting everything right, but just feel betrayed when I'm convinced I do it right and I'm wrong.
Can't outsource that, though. What I would love to outsource is the actual writing of the testware. I like thinking up all the test scenarios, but wish I could do a brain dump and have someone else write the testware.
The other thing I wish I could outsource is any documentation creation or review. Probably because I can think a lot faster than I can write, and then also feel like I have to take extra time to document things precisely because I might not be able to have a dialog with whoever is reading the docs.
This tends to include many of the things listed by others here, like not having estimates accepted at face value (because they don't understand development), lack of communication of business goals (because they believe developers just implement, they don't understand "product"), lack of consideration of developers' ideas (see last), deadlines without input from development (because developers will inflate their estimates)... But for some reason, developers can't just learn management, they have to find someone "skilled" from the outside, technical understanding be damned.
Content development, Small bug, yeahh something like those things that required some time. And also, image fixation requires more time than it should be lol
As a developer it seems I am subordinate and I am not privy to any business decisions or direction which is information that is not communicated, and we are often not consulted.
Never do I here, oh we are thinking of going in this direction. What do you think?
Rather it is "We ARE doing this, and we need to get it done in 2 months, how can you make it happen?"
> As a developer it seems I am subordinate and I am not privy to any business decisions or direction which is information that is not communicated, and we are often not consulted.
Either your company has a bad culture, or your Product Manager doesn't believe in a collaborative process or you are not working for a small enough company. :-)
[+] [-] jasonkester|10 years ago|reply
- Before committing, clean things up by removing a debugging statement and some whitespace
- Bug reappears
- Undo the cleanup
- Bug remains
It's amazing how often this happens. It usually takes a good half hour to find what's actually wrong. A good indication that you're close is that your development environment will mysteriously hang or your house wifi will go down. That's the universe putting in its one last shot at wasting a little more of your time before giving up and letting you win.
[+] [-] eecks|10 years ago|reply
[+] [-] datenwolf|10 years ago|reply
Having to tell others (contractors, collaborating 3rd parties, etc.) what they shall do and how to do it. We've got an issue tracker and a TODO list and tons of TODO/FIXME/XXX comments in our code base. How about working on those? Pick an issue in the tracker (or if you've found some TODO/FIXME/XXX that hasn't assigned a tracking ID, create a new own) and work on it! Oh, and please don't ask me for a pinned down specification for each and every detail; it takes me more time and work to write down such micromanaging specs, than it'd take me, to write the code myself.
You think meetings are productivity killers? At least you can zone out in those and mentally work problems. People asking to be micromanaged, that's what really grinds my gears.
[+] [-] MalcolmDiggs|10 years ago|reply
...Waiting for tests to run
...Waiting for code to compile
...Waiting for someone to return an email / message / text / whatever
...etc
I probably don't actually spend that much time waiting everyday. But when I do have to sit and wait for something, I go nuts.
[+] [-] insoluble|10 years ago|reply
[+] [-] nstart|10 years ago|reply
[+] [-] what-no-tests|10 years ago|reply
Over and over again.
[+] [-] AnotherMarc|10 years ago|reply
[+] [-] andymurd|10 years ago|reply
Number one has to be the idea that software development can be outsourced to save time. It takes the same amount of man-hours to develop the software plus about 40% more to manage the relationship with the outsourcing firm. Then another round of contracts/specifications/budgets/bs to fix the things that weren't in the original spec.
Number two is the idea that some people are just too important to get involved in specifying a product but they'll certainly tell you that you have done it all wrong two days before release. I may be a little bitter about that.
[+] [-] jnpatel|10 years ago|reply
[+] [-] muzmath|10 years ago|reply
[+] [-] hanniabu|10 years ago|reply
[+] [-] taprun|10 years ago|reply
[+] [-] onedev|10 years ago|reply
[+] [-] infamouscow|10 years ago|reply
[+] [-] onedev|10 years ago|reply
[+] [-] ljw1001|10 years ago|reply
[+] [-] AnotherMarc|10 years ago|reply
The most frustrating is when I am completely convinced a change I make is going to resolve some failed tests, and then I run the tests, and something still doesn't work. Or I fix something and cause another problem. I enjoy the challenge of getting everything right, but just feel betrayed when I'm convinced I do it right and I'm wrong.
Can't outsource that, though. What I would love to outsource is the actual writing of the testware. I like thinking up all the test scenarios, but wish I could do a brain dump and have someone else write the testware.
The other thing I wish I could outsource is any documentation creation or review. Probably because I can think a lot faster than I can write, and then also feel like I have to take extra time to document things precisely because I might not be able to have a dialog with whoever is reading the docs.
[+] [-] unknown|10 years ago|reply
[deleted]
[+] [-] awaythrow101|10 years ago|reply
This tends to include many of the things listed by others here, like not having estimates accepted at face value (because they don't understand development), lack of communication of business goals (because they believe developers just implement, they don't understand "product"), lack of consideration of developers' ideas (see last), deadlines without input from development (because developers will inflate their estimates)... But for some reason, developers can't just learn management, they have to find someone "skilled" from the outside, technical understanding be damned.
[+] [-] bambang150|10 years ago|reply
[+] [-] velikos|10 years ago|reply
[+] [-] ThePhysicist|10 years ago|reply
[+] [-] tonyedgecombe|10 years ago|reply
[+] [-] lgieron|10 years ago|reply
[+] [-] camhenlin|10 years ago|reply
[+] [-] Aeolun|10 years ago|reply
[+] [-] bbcbasic|10 years ago|reply
Never do I here, oh we are thinking of going in this direction. What do you think?
Rather it is "We ARE doing this, and we need to get it done in 2 months, how can you make it happen?"
[+] [-] eshvk|10 years ago|reply
Either your company has a bad culture, or your Product Manager doesn't believe in a collaborative process or you are not working for a small enough company. :-)
[+] [-] hga|10 years ago|reply