Low Frustration Tolerance: Curse and Blessing
secretGeek .:dot Nuts about dot Net:.
home .: about .: sign up .: sitemap .: secretGeek RSS

Low Frustration Tolerance: Curse and Blessing

There's a psychicologicalous condition known as 'Low Frustration Tolerance', (LFT for short... abbreviations, btw, are helpful for those with LFT ;-))

Low. Frustration. Tolerance. I am writing slowly. Just to frustrate the Living Hell out of those who have LFT.

Every day you will see examples of people with Low Frustration Tolerance. You know these people.

You're in your car, stopped at the lights. Light turns green, and before you've put your foot on the accelerator, the guy behind you blares on his horn. Hard. He's got LFT. Bet on it.

To be a programmer REQUIRES a ^^high^^ level of frustration tolerance. Most people with LFT, on the other hand (OTOH ;->) end up as drunks, hobos, drop outs, early-deaths, burn-outs.

(But stick around -- there is a twist.)

So, the only way to be a decent programmer, able to produce good output every single day is to have a high-frustration-tolerance.

The amount of frustration we encounter in the computing world, every single day, is just astounding. Many days our job consists of leaping one hurdle after another.

Sometimes, just for fun, I keep a little log of the hurdles I encounter in a day. They are numerous.

I want to get from A to B. Step A: Something goes wrong. I investigate. Dead end. I google it. Dead end. I check logs. Dead end. I increase logging. More evidence. I google that. Dead end. I download a tool that will get more info. Tool fails to install. I google the installation failure. Dead end. I look for another tool, install that, run it: crashes. I investigate the crash. Dead end. I find a different tool, install that. Get more info. Investigate that. Dead end. Google it. Dead end. Stack overflow it: dead end. Drink coffee, consider taking up smoking. Dead end. Wait two weeks, increase bounty at stack overflow. Dead end. Reboot, check patch level, look for random hints from astrological tables, listen to reggae... dread end. Sometime later, randomly: breakthrough. And on step B.

Annnyway, I've established the first point: a good career in programming requires High Frustration Tolerance.

And yet... I am utterly convinced, that the only way to succeed as a programmer is to have really LOW frustration tolerance.

You have to get fired up by tiny little things. You have to care, dammit, and care deeply, about tiny little points.

You have to pour your heart and your soul into accepting nothing but perfection from that damn regular expression, that damn CSS selector, that damn SQL case statement, that bloody mother f***ing a*****e of a *** **** son of a ******* ugly ***** ***** **** of a **** installation package, so the lucky ******* **** of an end user gets all the joy of a working system.

It's a catch 22.

And sometimes we forget that *both* skills are needed. We fall into the trap of being one or the other.

So here's my latest plea:

Stopping being so easily frustrated. And please, stop settling for second best.

And then: tell me how it's done.





'Steven Nagy' on Fri, 27 Feb 2009 10:04:20 GMT, sez:

This blog has reached my frustration limit. I'm unsubscribing.



'lb' on Fri, 27 Feb 2009 10:08:20 GMT, sez:

wait a second -- that was you behind me at the lights, snagy?



'Mike Fitzsimon' on Fri, 27 Feb 2009 10:11:44 GMT, sez:

I'm thinking the correct combo should be a "High" frustration tolerance with just enough OCD (Obsessive Compulsive Disorder) to get the little stuff right, er, Perfect!



'Matthew Talbert' on Fri, 27 Feb 2009 10:21:15 GMT, sez:

I've never commented before, but I just had to for this. This article describes my life!! Thanks for the laugh; I just stayed up a whole day and night troubleshooting a problem, so I needed it.



'GlenG' on Fri, 27 Feb 2009 10:22:39 GMT, sez:

I'm frustrated with having to type meatbag to post a comment.

And I look a lot like the programmer pictured in the top right of this post.

Help me.



'Matt Casto' on Fri, 27 Feb 2009 10:41:56 GMT, sez:

Once again, a very insightful article.

My current project has my frustration level very high, but I have to switch into high tolerance mode in order to get things done by a hard deadline.

This makes me think that while a good programmer requires both HFT and LFT ... a _really_ good programmer needs to be able to switch between the two at will.



'lb' on Fri, 27 Feb 2009 10:43:50 GMT, sez:

@Matt et al
I think Mike hit the nail on the head (above):

>"High" frustration tolerance with just
>enough OCD to get the little stuff right



'Gulli' on Fri, 27 Feb 2009 10:57:09 GMT, sez:

Really amusing and spot on.

One resolution à la Postel's Law: high tolerance for the frustration one encounters (at the hands of oneself and others), low tolerance for the frustration one engenders (unto oneself and others).

Another resolution: high tolerance is good insofar as it causes you to keep going (and not going postal), low tolerance is good insofar as it causes you to make things better.

In either guise, HFT and LFT are eminently compatible.



'Helen' on Fri, 27 Feb 2009 11:18:52 GMT, sez:

It also helps if you can tell what matters. Some things aren't worth getting all perfectionist over, some are. :)



'John' on Fri, 27 Feb 2009 12:09:56 GMT, sez:

You neglected to mention the endless frustration of having to strongly rely on tools which crash or freeze or otherwise bug out on you multiple times a day. Like, say, Visual Studio 2008.



'Sam Moreira' on Fri, 27 Feb 2009 12:54:37 GMT, sez:

That explains a lot. Ah! Do me a favor and... when someone tells you how it's done, forward the solution to me... My FT is getting L :)



'Joel Bushart' on Fri, 27 Feb 2009 17:33:30 GMT, sez:

The ideal programmer has a LFT with a very low FRL (Frustration Reset Level) and a LER (Low Escalation Rate).

Basically you encounter a problem. You're instantly frustrated and look for a solution.
You find a hint at a solution (You reset your frustration level to Zero or your FRL has been hit). Then your hint reveals it's not a solution (Dead End). You get instantly frustrated again.

You hit a dead end trying for alternative with no further hints. You get more Frustrated. (Normal people start getting irritated then angry). Ideal programmers however barely increase their frustration level. Due to LER, road blocks and increasing difficulty stopping the frustration doesn't really get you more frustrated at a actively observable rate. (not that you don't get more frustrated and would definitely be seen to be so after a week or two of continuously increased frustrations.)



'OJ' on Sat, 28 Feb 2009 08:34:00 GMT, sez:

Another great post lb.

HFT and LFT go hand in hand every single day of my programming life.

Knowing when and where to apply each is where most plebians fail. The good coders have the ability to pick it, the bad ones dont.



'Dominic Cronin' on Sat, 28 Feb 2009 09:21:35 GMT, sez:

You need to have a LFT. Definitely. Surely, the geek thing is more about how you express that frustration. We get frustrated, and start pushing stack until we get to a root cause that doesn't frustrate us. Then we pop our way back all the way down to the original frustration point, and kick it's sorry ass all the way down the street.

Frustration? What frustration?



'yanky' on Sun, 01 Mar 2009 01:20:55 GMT, sez:

LFT is just what we need, not only for regular person, but especially for programmers. Thanks for making a burst of laugh:-)



'AC' on Sun, 01 Mar 2009 06:02:04 GMT, sez:

Maybe your frustrations have something to do with programming .not



'drhodes' on Tue, 14 Apr 2009 20:41:40 GMT, sez:

writing a log about the divide and conquer process. That's good, I'm stealing it.



'yankee' on Tue, 27 Oct 2009 18:50:33 GMT, sez:

consider those who must say "may i help you?" more than 999 times per 8 hour shift. that's what i do. talk about repetitive motion problems. this is no exaggeration on the amount of people i handle each shift. of course, i must also be a multi-tasker too. thank your great binary gods that you don't have the people problem too.

my monitor has what i perceive to be a short, chubby 'neck' i have often placed my two hands around the neck while talking sweetly to a customer.




name


website (optional)


enter the word:
 

comment (HTML not allowed)


All viewpoints welcome. But the right to delete any post for any reason is reserved. Don't make me do it. Comments may be republished, emailed to your loved ones or printed and used as toilet paper. Who reads this legal bit anyhow?

TimeSnapper is a life analysis system that stores and plays-back your computer use. It makes timesheet recording a breeze, helps you recover lost work and shows you how to sharpen your act.

TimeSnapper won last year's Developer Competition at Larkware.com, and is used by over 10,000 people.

Articles

SQL Style Extensions for C# SQL Style Extensions for C#
The Movie Hollywood (And My Wife) Doesn't Want You To See: Weekend at Jacko's The Movie Hollywood (And My Wife) Doesn't Want You To See: Weekend at Jacko's
Sysi: the ultimate administrators toolkit Sysi: the ultimate administrators toolkit
Movie: Priest Academy Movie: Priest Academy
Inspirational Rat Story Inspirational Rat Story
A face-melting DSL that allows programming ON the iPhone (and iPad) A face-melting DSL that allows programming ON the iPhone (and iPad)
The secretGeek Disaster Recovery plan The secretGeek Disaster Recovery plan
Save KNVTn! Before it's too late Save KNVTn! Before it's too late
The Ultimate Agent of WERF Destruction The Ultimate Agent of WERF Destruction
The new prisoner's dilemma The new prisoner's dilemma
Original Premise for a road movie Original Premise for a road movie
What's a better game than Devshop? What's a better game than Devshop?
DevShop: The Cool Game that Makes Development Look Fun DevShop: The Cool Game that Makes Development Look Fun
Should be purple Should be purple
Kitchen Agile Kitchen Agile
Perhaps Perhaps "Go" is the new Visual Basic
zen-coding: turn those CSS selectors upside down zen-coding: turn those CSS selectors upside down
Debugging: It's all about finding Albuquerque. Debugging: It's all about finding Albuquerque.
The Real-Time online JQuery Editor The Real-Time online JQuery Editor
HTML5, a 3 minute guide HTML5, a 3 minute guide
Developer Codpieces Developer Codpieces
Agile for one: The Personal Story 'Wall' In Action Agile for one: The Personal Story 'Wall' In Action
Never work with thick people. Never work with thick people.
Cosmo: project status panel Cosmo: project status panel
Windows Search in Japan Windows Search in Japan
Project Management Zen Project Management Zen
Continuous Integration, Plugins and Going Too Far Continuous Integration, Plugins and Going Too Far
The Rules of Stand Up The Rules of Stand Up
Sydney International Airport: Stupid, Criminal, or Criminally Stupid? Sydney International Airport: Stupid, Criminal, or Criminally Stupid?
God No! ...The ReBuilder God No! ...The ReBuilder
Matt, The Office Mortar Matt, The Office Mortar
'Outlook style' rules for Subversion 'Outlook style' rules for Subversion
Really deep linking: Url + regex Really deep linking: Url + regex
hExcel -- A Hexagonal Spreadsheet hExcel -- A Hexagonal Spreadsheet
Is the remote control a thing of the past? Is the remote control a thing of the past?
The Utterly Thorough Guide To Awesome Application Compatibility on Windows 7. The Utterly Thorough Guide To Awesome Application Compatibility on Windows 7.
Astounding Hyperlinked Noticeboard Astounding Hyperlinked Noticeboard
Three Questions About Each Bug You Find Three Questions About Each Bug You Find
Recursing over the Pareto Principle... Recursing over the Pareto Principle...
Sometimes, The Better You Program, The Worse You Communicate. Sometimes, The Better You Program, The Worse You Communicate.

Archives .: secretGeek :: Complete Archives
TimeSnapper -- Automated Screenshot Journal TimeSnapper.com    
Version 3.3: true productivity boost

Next Action NextAction
Managing the top of your mind

World's Simplest Code Generator (html edition) World's Simplest Code Generator

25 steps for building a Micro-ISV 25 steps for building a Micro-ISV
3 minute guides -- babysteps in new technologies: powershell, JSON, watir, F# 3 Minute Guide Series
Universal Troubleshooting checklist Universal Troubleshooting Checklist
Top 10 SecretGeek articles Top 10 SecretGeek articles
ShinyPower (help with Powershell) ShinyPower
Now at CodePlex

Realtime CSS Editor, in a browser RealTime Online CSS Editor
Gradient Maker -- a tool for making background images that blend from one colour to another. Forget photoshop, this is the bomb. Gradient Maker


[powered by Google] 


How to be depressed How to be depressed
You are not inadequate.



Recommended Reading

The Best Software Writing I
The Business Of Software (Eric Sink)

Recommended blogs

Jeff Atwood
Reginald Braithwaite
Joseph Cooney
Phil Haack
Scott Hanselman
Julia Lerman
Rhys Parry
Joel Pobar
OJ Reeves
Eric Sink
Joel Spolsky
Des Traynor

Aggregated Links

programming.reddit.com
dzone
dot net kicks

Human Link Machines

interesting finds
a continuous learner's weblog
arjan's world
n links today
new and notable
morning coffee
learning .net
weekly link post
(my del.icio.us account)

LinkedIn profile
 
home .: about .: sign up .: sitemap .: secretGeek RSS .: © Leon Bambrick 2006 .: privacy

home .: about .: sign up .: sitemap .: RSS .: © Leon Bambrick 2006 .: privacy