5 ms·
How do you deal with frustration during software development
I have this so much, whenever I'm developing something, and I encounter the smallest frustrating issues like typo errors that occur every 10 minutes but take half an hour to debug, or doing any kind of css. It heavily frustrates me, and destroys my motivation so quickly that I want to give up on the project, because there are always more frustrating bugs and problems, it never ends.
No matter what I'm working on, school projects, my own projects, helping others with their projects.
Really small things like this make me feel very down and quickly destroy whatever motivation I have. What do you do to deal with this?
- dukedylan 11y agoI keep track of all my projects using task management apps like Asana, use Git to backtrack what I have been doing on each project, and switch projects really often. This way I can make sure I am organized and can pick up where I left off and if I am at a roadblock with one project I can blow off steam by doing something really great on another. Another helpful thing is to use code linters to prevent simple typos and other easy-to-miss errors. Atom editor, for example, has tons of linter plug-ins, as well as other helpful things, to ease creating code.
- stephengillie 11y agoI lost motivation and went back to system administration. It's so much easier to build Windows VMs.
- Maultasche 11y agoI've found that as I've gained more experience, I learn from my previous mistakes, and over time it slowly improves so that I'm making fewer mistakes and debugging the mistakes I do make more quickly. I remember that when I started learning software development, there were a lot of roadblocks to progress that were caused by my lack of experience. Such roadblocks have mostly disappeared for me. My code still has bugs, of course, but I can usually identify and squash them a lot more easily now. I still encounter the occasional frustrating issue, but it's a lot better overall. My mistake rate spikes when I'm learning a new technology or language of course, but that subsides once I get used to it. Attention to detail helps a great deal, but I know that this can sometimes get tiring. Of course it also helps to work with compiled languages rather than interpreted languages. :) More of those mistakes get caught by the compiler. For interpreted languages, I find that linters are good for finding issues and some IDEs have integrated linting and possible mistakes are highlighted right there in the editor. I like the WebStorm IDE for Javascript development (node.js or client side) and it wouldn't surprise me if SublimeText had something to help spot code issues. So if you stick with it, it'll likely get better and less frustrating. In the near term, my suggestion is to use tools that assist you in avoiding simple mistakes like typos. Another suggestion would be to walk away from something that is causing you frustration and come back later. I sometimes find that a particularly infuriating problem is more easily solved if I take a break from it for a while.
- daly 11y agoAh, the thing they never tell you when you learn to program... computers are the source of all frustration. I have spent all day editing a backup copy of a file, wondering why nothing I changed fixed the bug. I've spent a whole day chasing a missing character. I've spent a week, under deadline pressure, only to discover a bug in the compiler. I've lost the source code for a whole project because I nuked the directory by accident. I have to reboot my MacBook every two weeks because it starts paging and is so lagged I can out-type it. I did a self-study and found out that I have a 3% error rate in everything I do... and found out that 1/2 of those errors are caused by copy/paste (which I stopped doing). Errors at every level, from typing to syntax to semantics to design to thinking...and every one of them is a source of frustration. I have to laugh when I hear people suggest that we require students to learn to program. Learning to program is the easy part. Dealing with the continuous, painful, and ever-present frustration is the hard part. All day, every day, every year of my 44 years of programming have included creating, fixing, and bleeding over programming and its frustrations. You ask "What do you do to deal with this?"... I guess it is like trying to be a really good musician, you just study, work, and bleed at it. Most people give up on music; most programmers "retire into management". Some of us program because, like a musician, "it is not what we do, it is who we are". We program because we must. Frustration just makes that rare success that much sweeter.