Training Preparation -- What 100 Attendees Dislike About Software Development

Least favorite thing about dev
You are never done. There is always something to improve.
Show
The ambiguity behind certain frameworks and processes
Show
updating the documentation
Show
Tendency for everyone to want to test software as a whole application instead of building confidence through testing parts and integrating. We don't do this when we build cars (and for good reasons). Why software?
Show
Legacy and 3rd party code that hinders new features, maintenance, and product quality
Show
sitting in one place all day long
Show
The unknowns you can run into can throw your time estimates off.
Show
System testing (running through our test procedure - manual process).
Show
The tediously slow process of performing code reviews over e-mail.
Show
The unnecessary stress and pressure from over zealous managers and stakeholders. When reuse gets more complicated than necessary.
Show
I hate documentation. It is a necessary evil, however.
Show
Most of the time I hate debugging. I initially hated writing tests but I've come to enjoy the way they force me to reexamine my code structure -- otherwise I tend to go down an implementation rabbit hole and end up wasting effort.
Show
When working in environments where release cycles are slow due to lots of manual testing
Show
Sometimes, build system
Show
Its intangibility
Show
The tingle when a new release goes into serial production - bear in mind that software is always faulty.
Show
I dislike having to fix other people's poorly written and poorly documented code.
Show
Choosing the right data structure or approach to a problem.
Show
That I don't do it enough now that I'm in management.
Show
maintaining and fixing messy code
Show
bugs when it does not work
Show
solving problems
Show
Waterfall development is tedious. The use of third party tool can be cumbersome when there licensing is involve.
Show
reading undocumented code
Show
- Having to go back and fix issues in code that was written by myself or someone else after a long period.
Show
not figuring out the solution of something, and debugging.
Show
errors
Show
Picking up someone elses poorly written/structured code in order to fix a bug.
Show
I do not like the fact that sometimes programming involves spending incredibly large amounts of time debugging code.
Show
Trying to remember one thousand details that are only needed for this one little bit of code that will be forgotten as soon as I can get it to work right.
Show
Re-working many times on the same code (for big changes). This often break the code (now developed without TDD) and the bugs can appear in the worst moments.
Show
n/a
Show
I don't like to convince people about TDD.
Show
I don't like the opaqueness of testing, where it can become increasingly difficult to accurately determine where things are going wrong.
Show
1. Hectic schedule/Long hours of work 2. Unrealistic requirement 3. Stress
Show
As project size increases, new requirements are brought in - things can start becoming quite complex due to the hidden dependencies they have on each other.
Show
When code doesn't work, debugging
Show
Having to deal with old legacy systems that I do not fully understand.
Show
- Legacy code and maintenance - When new to a complex system in place it is difficult to balance between requirements and efficiency and understand big picture (however it feels good to overcome these and understand the system) - Effort estimation
Show
-
Show
-
Show
Trying to figure out the root cause of a software bug that is intermittent can be frustrating.
Show
.
Show
sitting in front of the computer all day :)
Show
too much context switching
Show
Gumption traps are acutely painful.
Show
Feeling there is not enough time / resourcing.
Show
Documentation/Commenting. Setting up an environment.
Show
Working with legacy code.
Show
It's open-ended, and the number of techniques, design patterns etc can be overwhelming! It's hard to estimate time. It's hard to estimate how powerful the target CPU needs to be!
Show
Not knowing how to approach something or wrestling with errors once I've written code and can sometimes spend hours trying to fix it.
Show
there's too much variety and churn in development systems, languages, tools and methods
Show
When requirements are unclear. Dealing with finicky hardware.
Show
If you're not proficient with pointers, you're in for some headaches. My last job, the software was large, it took up to 30 minutes to build from scratch. Once built, changes normally took 30 seconds to a minute.
Show
Sometimes (often), work takes more time than anticipated.
Show
Many devices have poor documentation.
Show
lack of social interaction
Show
Flaky tools and dependencies
Show
The number of hoops it seems we have to jump through just to develop code. It could be compilers or debugging software there are just too many additional things needed to even run basic code (outside of Linux)
Show
paperwork, schedule crunches, sometimes poor communication
Show
The contant tool changing
Show
People's opinions that they way they did it 20 years ago is the only way to do it or that their experience is automatically more valuable and more correct than a younger developer. Also the C/C++ development ecosystem w/r/t dependency management
Show
Developing software can be stressful, if you don't how implement a function or method, or if you don't know what the cause of a particular error is.
Show
In day job the work is bogged down by organizational red tape, but that not specific to software in general.
Show
Working around hardware issues
Show
Time consuming and rigid procedures and processes.
Show
Time consuming and rigid procedures and processes.
Show
Time consuming and rigid procedures and processes.
Show
I dislike dealing with confusing/broken development tools that slow down actual development.
Show
When I spend a lot of time fixing bugs on production environment, which could be avoided with proper tests
Show
To much adhoc techniques involved and guesswork as per how long things take. Testing can be tedious !
Show
-
Show
Can be frustrating sometimes when you don't have all the knowledge about certain tool, system, library, etc.
Show
Testing can be tedious and maintainablity of tests is sometimes difficult.
Show
The development enviroment may not always be ideal(particularly for c) which can result in a lot of complexity and difficutly to acheive a very simple task.
Show
writing tests unfortunately
Show
idk :|
Show
learning curve
Show
Debugging someone else's code
Show
Constant feature creep.
Show
no value software
Show
Finding hidden bugs and edge cases.
Show
Being stuck with legacy code with a bug I can't find.
Show
When I have to fight the development environment, debugger, etc. I also don't like when I have a vague requirement on what I'm being told to do and have to guess at what the customer or product owner want
Show
The errors I inject. Some embedded debugging tools can be a pain to get actually working - but they are also needed due to errors I inject.
Show
Pointers and having to debug. lol
Show
Setting up development environments.
Show
debugging intermittent/hard-to-reproduce problems that only show up after firmware runs for days on target platform
Show
documenting it.
Show
I wish customers always knew exactly what they wanted and what is within reason. Changing requirements/priorities and the entire area of customer management is the worst.
Show
when it never does work at first
Show
tough question, pass!
Show
It's time consuming and can be somewhat tedious.
Show
Hunting down really obscure (rare) memory corruption bugs.
Show
Tight schedules / rush resulting in product with questionable quality / reliability
Show
I work in science and engineering software, so I don't have anything to complain about. If I had to work on web sites, then that would be another story.
Show
Tool issues, differing coding style (beyond just what standards cover), dealing with legacy code
Show
NA
Show
Changing requirements. Creating documentation. Most meetings. Poorly written code. Diagnosing bugs, especially in unfamiliar and poorly written code.
Show
long cycles for small change
Show

Make this into a word cloud

Select text below (triple click), copy, then try one of these tag cloud generators
jasondavies word cloud generator - colorful
tagcrowd - lets you show counts