Training Preparation -- What 100 Attendees Dislike About Software Development

Least favorite thing about dev
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
testing
Show
Debugging semi-reproducible (or not reproducible) bugs. If I can consistently reproduce the bug, I'm 90% of the way to fixing it.
Show
Doing same functions for many products without reusing it over and over again so that reduce test/debug time
Show
I always seem to struggle with getting third party libraries and tools to work. I'm also not crazy about bad code.
Show
Invisible problems. Hard faults. Memory allocation. Test (sometimes). Communication protocols.
Show
Having to re-write code
Show
GDB debugging (in c it was fine but in c++ it's tedious)
Show
Debbuging hard to reproduce event which are reported with only few information by tester / customer.
Show
Working with remote teams can make communication challenging. Maintaining legacy code can be challenging when there are no automated tests set up.
Show
debugging close to a deadline.
Show
The manual testing process and vague bug reports that are hard to track down to root causes.
Show
The time required to debug nested issues.
Show
Managing changing API for releases in public open source software/firmware
Show
Debugging.
Show
When things get non-deterministic. I don't mind a good challenge, I hate looking at the same line of code until I realize that the previous programmer forgot to use one more set of parenthesis.
Show
Setting up tool chains, build environments, etc.
Show
Hard to reproduce bugs.
Show
I dislike working overtime trying to finish multiple projects with the same deadline. Especially when there is never time to consolidate/refactor an old codebase, but always time patch systems that have not been properly maintained.
Show
Finding bugs, repeating coding erros, finding errors made by others
Show
It takes to much to debug the code. Especially when there is no hardware available to test on.
Show
When the code is too long and not optimized
Show
wrangling side effects from tough-to-completely-understand APIs
Show
Debugging and Maintaining documentation
Show
Sometimes you are forced to create solutions that you are not proud of.
Show
Maintenance of old code is not as fun as device new functionality.
Show
Organizing project files, compiler/linker include management, breaking changes
Show
When code is time dependent so you can't put in breakpoints.
Show
Library indeterminism
Show
Testing
Show
It's easy to overthink things and spend too much time and energy on something just for the fun of it.
Show
Coding it and seeing it not work and don't know what's wrong. Have to read thousand lines of code without a single comment
Show
It can be tedious to navigate and test large code base, and to also figure out how the code that other people developed works
Show
It can take a lot of time to develop "good" code. Many times the extra effort taken to make code better is not appreciated by decision makers, etc.
Show
When it break or need to take ownership of other people's code
Show
We currently don't implement good software tests
Show
It can be written in such a way that it is unreadable.
Show
Crashing and buggy code
Show
I don't like it when it gets repetitive.
Show
Sometimes you cannot understand everything. I don't like to have blind points... Because, usually those points turn out into serious problems.
Show
When you get stuck with long/boring repetitive task. (Sometimes you can turn this into an entertaining task, making a program to do those repetitive and boring tasks ;) )
Show

Show
Working with slow develpment tools.
Show
Work with slow/wrong tools/build systems.
Show
Dealing with frustration when bugs appear
Show
It can be a bit frustrating
Show
The learning curve, sometimes to steep and frustrating
Show
get old firmware and dive into it to find bugs
Show
Sometimes it consumes a lot of time to solve a problem that at the beginning didn't look such a problem.
Show
I hate the changes in the requirements.
Show
Debugging issues sometimes, merging code with other areas of code, version mismatch issues.
Show
Understanding a design that isn't there, left by an engineer who has poor communication skills.
Show
Tight deadlines. I want to be able to "do things right", but I'm often forced to move onto the next thing quickly.
Show
Long build times.
Show
Determining how long a task will take. Finding/fixing large bugs on short deadlines.
Show
debugging and testing can be tedious
Show
Repetitive Tasks of defining the system over and over
Show
Getting the software environment up and running
Show
It's very time-consuming, and often times testing and debugging can be stressful.
Show
Poorly defined requirements that change during the project. Hardware that is not suitable for the task. Unrealistic deadlines. Delivery of test code to a customer. Working with difficult people...
Show
Working with legacy code that was not written efficiently or flexibly enough for it's applied use. Dealing with bugs while working against deadlines when they should have been identified earlier in the process.
Show
All the paper cuts and difficulties that come with writing software that works well and consistently. It's exhausting having to go through 20 searches and try 8 different solutions before finding the vaguely documented solution for your problem.
Show
Re-using code from other projects.
Show
Testing
Show
-
Show
N/A
Show
Some jobs can be quite tedious.
Show
Poor tool support
Show
As above
Show
Trying to understand poorly written code
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