Skip To Content
    This post has not been vetted or endorsed by BuzzFeed's editorial staff. BuzzFeed Community is a place where anyone can create a post or quiz. Try making your own!

    11 Signs Of A Frustrated Programmer

    What makes programmers tick? What really grinds their gears? Researchers at NC State University performed a study and asked programmers about their experiences and found 11 main causes of frustration.

    1. Mapping Behavior to Cause

    Responses in this category refer to identifying what portion of the code was causing an issue in the code. Not having a good mental model of the code resulted in frustration of misinterpretation of the code.

    "I was frustrated when I couldn't figure out why a random gap of space was on my website...."

    2. Programming Tools

    Learning curves exist when getting acclimated to a new tool: learning new features, shortcuts, etc.

    This learning curve is warped when the tool is broken.

    Respondents in this category acknowledged both of these frustrating occurrences with programming tools.

    "An in-house tool used to automate process kept throwing errors, resulting in a very tedious, time consuming process...''

    3. Size

    Respondents acknowledged three issues when working with programming tasks:

    a. High cognitive complexity: "Where do I begin?"

    b. Large goal spaces: "I'm almost done but there is a little thing in my way"

    c. Large code bases: "So much to understand"

    "There were some logical errors in a big code base..''

    4. New Project Adjustment

    Adjusting to a new project climate takes time. During this time the developer is unfamiliar with how to accomplish tasks, appropriate questions to ask, as well as configuration issues.

    "I expected some configuration obstacles, but I became frustrated when the fixes I tried...didn't fix the problem..''

    5. Unavailability of Resources

    Though documenting code during programming is a highly recommended practice, it is not done often and creates issues for codebase reviewers. In addition to documentation, this category acknowledges services that are suppose to be available to users but were at their disposal. For example, waiting for someone to come help you.

    "API/documentation issues are ALWAYS frustrating.''

    6. Programming Experience

    Respondents mentioned issues that arose with programming languages.

    These issues came from confusion with syntax of various languages and experience with new frameworks.

    "I had to code something in Perl and I didn't know the language syntax''

    7. Simple Problem

    Peers and management assign `simple' tasks to individuals not fully comprehending the depth of the truly complex issue.

    Frustration arises when the expectation is not met and the `simple' task is not as easy as recommended by others.

    "Inability to code something that I know should be simple.''

    8. Fear of Failure

    This category holds responses relating to the fear of not succeeding and failure.

    The obsession over the fear of failure sets back individuals and overcomes them in the form of frustration.

    "It builds a strong sense of anxiety. I feel like I may not solve the issue...''

    9. Internal Hurdles

    Some respondents acknowledged that they were the result of their own frustration.

    These respondents knew they have been putting this pressure on themselves; some pressures even leading to fatigue.

    "The problem that I faced with frustration is I tend to procrastinate…"

    10. Limited Time

    Respondents described a limited amount of time allotted to work on projects.

    In the short amount of time given it seems unreasonable to make significant progress and make lasting impressions to others on a team.

    "I had to deal with an ambitious project in a limited time frame...''

    11. Peers

    Respondents referred to peers as a source of distraction from the task at hand.

    In addition, some respondents mentioned their peers as incompetent and not being on their level.

    "Peers were terrible programmers, less experienced, and refused to use libraries/patterns to make things easier... ''

    It turns out that these 11 causes relate to those in other fields too! To follow more of this research follow the principal investigator Denae Ford on twitter @DenaeFord.