Pages

Friday, September 16, 2016

What are some things non-programmers say that frustrate programmers?



What are some things non-programmers say that frustrate programmers?


Non-programmers say 19 things that frustrate programmers the most.
#16 is probably the worst of them all.

1. “Are we on track?” I never know how exactly to respond to this. Maybe we’re “on track” right now to hit the deadline, but what if something happens? We could easily be off track any minute. I don’t want to commit to something that I’m not completely confident in.
2. “Sorry, but we committed to this deadline.” All programmers hate deadlines. The problems that we deal with can be very complex, so it’s often not helpful to commit to an arbitrary date.
3. “You can cut corners if it’s necessary.” Thanks for giving me permission to move faster. But as you know, I wouldn’t be in this position if you hadn’t made us agree to such an unrealistic and arbitrary deadline.
4. “There are bugs in the code.” There are bugs because you asked me to cut corners.
5. “I know I’m not supposed to do this, but could you quickly help out with X?” People who aren’t product managers sometimes try to go around the system to get one thing done. I’m a nice guy and like to help out, but this just adds more work to my plate and makes everyone else less happy.
6. “Sorry to interrupt you, just had a quick question.” It takes programmers about 30 minutes to get in the groove, so breaking for 1 minute to help someone else get what they need can actually set me back a half hour.
7. *Taps me on the shoulder* If you sneak up behind a programmer who is in the zone and tap them on the shoulder, you could initiate a flight or fight response. It’s physically jarring and dangerous for all parties involved.
8. “Not sure if I fully understand the problem, but how about we do this…”It’s impossible to propose a credible solution to a problem that you don’t understand. Programmers are problem-solvers, so they appreciate it if you take the time to dive into the problem before offering a potential solve.
9. “My heart tells me that we should…” It’s a programmer’s job to make rational, fact-based decisions. So it’s upsetting when emotion becomes part of the decision-making process.
10. “This should be easy.” Fixing problems with code is never as easy as it seems.
11. “I need a status update” If the client’s site is down, and it’s my job to pull it up, I’m clearly in a high-stress situation and doing everything I can to fix the problem. I understand the need to keep the client updated, but if a PM interrupts me to ask about the status, they’re actively preventing the problem from being solved.
12. “Please A/B test the size of this button.” I’m all about testing stuff so that we can learn. But is it really worth a day’s work to test an 80 pixel button vs an 85 pixel button?
13. “But it’s just a checkbox!” Oh man. One time, this PM decided that we needed to add a checkbox during the last stage of a project. He framed it up as an “easy add-on” and clearly didn’t have much respect for the complexity involved. This was frustrating.
14. “What happened? I thought we were ready to launch.” Often, you think you’re ready to go, only to realize that there is a show-stopping bug (like having 1-2 characters off) that will set you back a few days. It happens, and when it does it shouldn’t be treated as a huge surprise.
15. “I know it’s late in the game, but we need to change X, Y and Z.” There’s nothing more demoralizing than requirements that constantly change.
16. “I have this great idea. If you build it, I’ll give you X% in my company.”Programmers are not “idea people.” We’re executors. We tend to see far more value in the execution than the idea, so the best way to gain our respect is to build the MVP of your idea yourself. If you do that, then I’m interested.
17. “This isn’t what I wanted.” General, negative feedback doesn’t help solve the problem. As a programmer, I need specific points in order to make the necessary changes to give you what you want.
18. “C’mon man. It’s Friday. Let’s play some ping pong.” Sometimes, programmers love this. But other times, I’d rather just finish shipping the feature that you’re asking me ship.
19. “We need you to work the weekend.” I only have to work the weekend because I spent hours playing ping pong with you instead of actually working.
Programmers aren’t all that different from anyone else. We appreciate it when people do 3 key things:
  • Respect the complexity of our work
  • Provide us enough time to get it done
  • Give us the space we need to do our best
Most non-programmers understand all of this, and I’ve enjoyed working with the majority of the non-technical people that I’ve come across during my career.
So, what’s the best way to make sure that you don’t frustrate a programmer? Just be a reasonable, respectful human being. It’s usually that simple.
I recently learned one key piece of programming advice from a 13-year-old hacker, and I wrote about it here: 8 Minutes of Programming Advice From a 13-year-old Hacker
If you liked my answer, I’d really appreciate it if you upvoted it by pressing the light blue button below.

There’s so many…
“That’s wrong”, “it’s broken”, “I don’t like it” :
I can’t stand this. These are all subjective terms; they don’t communicate actionable issues.
  • I don’t know what, “wrong” means,
  • nor do I know what “it” is if it’s broken,
  • and if you don’t “like it” then… what do you want me to do about it?
Programmers need specifics, because we fix specifics. Try saying, “that’s the wrong font size”, “the form doesn’t submit when I click submit”, or “I don’t like the colors.”
“This should be easy”
relevant XKCDs have already been shared, I’ll just elaborate:
  • The easier it is for you to do, the harder it is for a computer: speaking, listening, understanding humans, comparing images, recognizing voices. Were you able to do it at birth? Then grab a snickers, this algorithm’s going to take a while.
  • “easy” compared to what? Throwing a tennis ball? Learning Mandarin? You don’t code, you don’t get to decide what’s easy in my profession.
  • Do you always insult someone’s intelligence/profession? Do you go to the doctor and say, “this should be an easy triple bypass?”
One time I was asked to take color data pulled from a camera, put a circle on a web page, and make that circle’s color the dominant color that the person was wearing… but it had to be one of the company’s 6 branded colors. That’s right; I get any one color of 16,777,216, and I have to match it to one of 6. The company told me this was “easy”. I quoted 60 hours for the color matching, 10 hours for putting circles on a page.
“Can’t you just [obviously simple thing] ”
Nope. I can’t just [].
  • It’s not me who does it; it’s the computer
  • My job is telling the computer what to do
  • Computers speak terrible English
But, this is because people foolishly think…
“Computers are so smart”
No.

Top Lines you would hear as a programmer from non programmers :
1) "Its not working. Please fix it."
2) "It stopped working. Please fix it."
.........
and various similar terms related to something not working. This is one of the most irritating aspect of being a programmer when one says something is not working without any additional details.
One day one of my clients said, "The Website is not working", I asked them what happened and was panicking as I had just completed the project and all the testing process and it was working fine. They said the page didnt open up. I hit the URL myself and well it did open up for me. After an hour of debugging into CNAMES, DNS stuff and also calling their domain name and hosting provider, we came to the conclusion that the client had typed in the url wrong. Needless to say I never took projects from them again.


No comments:

Post a Comment