Sei sulla pagina 1di 40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

yieldthought
itsnotashardasyouthink

5StagesofProgrammerIncompetence
with169comments
EverynowandagainIseeglimpsesofmyselfinyoungerprogrammersastheystrugglewiththe
sameconceptsIdid,fallintothesamementaltrapsandgenerallymakesimilarmistakes.Writing
the4wrongwayspostmademewonderhowcommonthesephasesreallyareandwhetherwe
couldcategorizethem.
Youtoo?Wellwondernolonger,forIhavecompletedthisherculeantask!Ivefoundmyselfin
eachofthesetrapsatleastoncesomeofthemseveraltimesandhaveseentheminotherstoo.
Aretheremoreoutthere?

TheEnthusiasticNewbie
Thenewbieisfullofpassionandexcitementforheroneandonlylanguage,whichisundoubtedly
VB,PHPoractionscript.Havingfinallygottogripswiththesyntaxofsaidlanguageshefeels
shescompletelymastereditinallitsforms.Thenewbiewritesastonishinglyquickly,but
everythingendsupinonebigfilefullofglobalvariables.Thisisaveryproductivestage,iflittle
wormgamesandrandomutilities/replacementshellsarewhatyouwantproduced.
Distinguishingcodefeatures:Eachprogramisexactlyonefile,containingahundredglobal
variables,noneofwhichhasmorethanfourlettersinthename.
Mistakenbelief:Programmingsprettyeasy,really.
Mostendearingquality:HerlittleshiverofexcitementeverytimesheopensherIDEandgazesat
ablankproject,fullofpotential.
Reads:Fireflyfanfics.
Mostlikelytosay:ComeandlookatthiscoolflashgameIjustfinished!

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

1/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

TheBuddingGenius
Havingprogrammedforafewyearsandlearntasecondlanguage,thebuddinggeniusisfirmly
convincedthatheistheMessiahoftheprogrammingworld.Hereinforcesthisworldviewwith
hisconvictionthatanythinghedoesntunderstand(i.e.almosteverything)ispointless,old
fashionedandawasteoftime.
Distinguishingcodefeatures:Useshisownvectorclassimplementation.Alwaysstartsclass
nameswithhisowninitial.
Mistakenbelief:Theprogrammingworldhasmoretolearnfromhimthanhedoesfromit.
Mostendearingquality:Howeasyitistomakehimdefensiveandhuffybymentioninganything
outsidehiscabbagepatchofexperience.
Reads:Hisownblog.
Mostlikelytosay:Huh,yeahwelleveryoneknowsfunctionallanguagesarenousefor*real*
programming*anyhow*

TheAbstractionFreak
Afterawhileallnewprogrammersbeingtorealizetheystarteachnewflashgamebycopying
90%oftheoldone.Suddenlyitoccurstothemthattheycouldwriteonesupergameengineto
makewritinganewgameassimpleasfindingthespritesandwritingaconfigfilecontainingthe
rules!Flushedwiththissuccess,thewannabeabstractionfreakbeginstobelieveallprograms
shouldbegeneralized,generalized,generalizedunfortunately,holdingontothisbelieftoolong
turnsthemintotheAbstractionFreak.
Distinguishingcodefeatures:Addsfivenewclasseseverytimeheimplementsanewfeature,all
ofwhicharenamedafterdesignpatternsandgivenocluewhatsoeverastothefeaturetheyre
supposedtoimplement.Anyactualbusinesslogicishiddeninanxmlbasedconfigfile
somewhereelseintherepository.
Mistakenbelief:Writingaprogramtointerpretasetofconfigfilescontaininganawkwardly
phrased,buggydescriptionoftheprogramhewantstowriteisbetterthanwritingtheprogram
hewantstowrite.
Mostendearingquality:Theexpressionofpainfulconcentrationonhisfacewhilebattlinghis
analysisparalysisbeforestartingtoreimplementtheloginfeatureforthefourthtimethatmonth.
Reads:DesignPatterns,covertocover,duringhislunchbreakeveryday.
Mostlikelytosay:SoIthinkweshouldstartthenewtimeschedulingprojectbywritinga
genericapplicationframework
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

2/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

TheVeteran
Anyprogrammerexposedtothebitterrealitiesofworkinginasoullesscommercialsoftware
company,shufflingbitsonaharddiskforthesamesalaryeverymontheventuallydevelopsa
certainprotectiveshell.Neitherspeednorgeniusarerewarded,sooftenaprofessionaldeveloper
begintodevelopaverycareful,measuredstylethatensureshesnevercaughtoutbyeitherbugs
ormanagement,whichheconsiderstobeprettymuchthesamething.
Distinguishingcodefeatures:Thefirsttenlinesofanyfunction,evenanaccessor,areallassert
statements.Alltheerrorconditionsforeachfunctionaredutifullycheckedandhandledand
commentsareliberallyscatteredthroughout.
Mistakenbelief:Doingthingsproperlyisthesameasgettingthingsdone,butbetter.
Mostendearingquality:Hisauraofmeasured,unflappablecalmthatmakesitclearthateventhe
direstemergencywontmakehimworkanyfaster,leavingonewiththeimpressionhemightbe
bettersuitedtoacareerinthebonsaiindustry.
Reads:joelonsoftware.com(yes,eventhoughJoelsstoppedposting)
Mostlikelytosay:Well,Iwontbeabletosayuntildoingaproperestimatenextweek,butits
goingtobeatleast*sucksairinthroughpursedlips*atleastfourmanmonthstoaddaprint
preview,plustestinganddocumentationofcourse.

TheGuru
Afteradecadeorsoofbouncingfromonestereotypetothenext,ournewbieisallgrownup,yet
shefeelslikeahollowshelloftheenthusiastsheoncewas.Onemorning,shewakesupand
realizesthattheunwieldycrustofunittests,assertions,errorcheckingandclassdesignthathave
builtuparoundherprogrammingstylearejustcrutches,crutchesthataredraggingherdownand
thatshenolongerneeds!Shecaststhemoffandbeginswritingthesimplest,barestcodeshecan
thinkoftodowhatsheneeds!Freethefeatures!Freethecode!Freedom!
Distinguishingcodefeatures:Onlywritesindynamicallytypedlanguageswithastrong
functionalcomponent.Atfirstglancehercodelooksremarkablysimilartothenewbies,except
thereslessofitandthevariablenamesmakesense.
Mistakenbelief:Thatherenlightenmentmakesheraguruwithoutthequotationmarks.
Mostendearingquality:Herlittleshiverofexcitementeverytimesheseesaninterestingproblem
shecouldsolvewithjusthalfadozenlinesofcode.
Reads:news.ycombinator.com/newest
Mostlikelytosay:Youknow,polymorphicinheritanceisreallyjustapoormanssubstitutefor
firstclassfunctionsanddynamictyping
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

3/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

And
Sothereyouhaveit,mycareerasaprogrammerlaidbare.Imcurious;doeseveryonegothrough
thesephases?
Whichstagesofprogrammerincompetencehaveyoubeenthrough?
TheEnthusiasticNewbie
TheBuddingGenius
TheAbstractionFreak
TheVeteran
TheGuru
Vote
ViewResults

Polldaddy.com
IfIvemissedanygreatones,addyourowninthecommentsandIlleitherupdatethearticleor
collectthemforaPartII
Note:YieldThoughthasmovedtohttp://yieldthought.comcheckthereforthelatestposts!
Writtenbycoderoom
March19,2010at3:25pm
PostedinUncategorized

169Responses
SubscribetocommentswithRSS.
Spoton.Ijustrepliedmybosswith*sucksairin*estimateandwantedtocheckoutwhatsthe
fussabouthackernewswebsite.
kl
March19,2010at4:48pm
Reply
yep..thatprettymuchsumsitupforme.
tony
March19,2010at6:01pm
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

4/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Reply
Anyonewhohasbeeninthisbusinessover10yearsWORKING,havelived,practicedand
suffer.
Ninel
ninelconde
July6,2010at2:16am
Reply
Icheckedallthecheckboxes.Assumingyoumean,Whichstagesofprogrammer
incompetencehaveyoubeenthroughtoday?
Neebat
March19,2010at6:05pm
Reply
Imbecomingaveteran

NOMOREBUGSFORYOU

droope
March21,2010at11:14pm
Reply
Heresagreatcommentfromknight666intheredditcommentthread,itsacrimeifmore
peopledontseeit:
Atschool(gameprogramming),wehavethreeprogrammingteachers:
Jaccotheexdemoscener
Definingfeatures:Doesntlikeabstraction.Everythingshouldbecrammedinasinglefileif
possible.Codeshouldbefast.Providesaframework,butitsabsolutelybarebones(rendersa
buffertoawindow,providesavector2,vector3andmatrix4x4class)
Mayorannoyance:Lackofabstractioncausesinflexiblecode.Singlelettervariablenames.
Dinotheveteranabstractionist
Definingfeatures:Abstracteverythiiiiiiing.Memberdatashouldbeinpimps.Hatesheaders
andconsidersthemarchaic.Alwayscodesplatformagnostic.Becauseofhisabundanceof
abstraction,theprogramcodeisseparatedfromtherenderingcode.
Mayorannoyance:Putseverythingin.cppsinsteadofheaders,whichcauseslinking
nightmares.Ridiculouslyconvulatedcodingstyleandvariablenaming.Abstractionwhere
noneisrequired(ImprettysuremyVec3isalwaysgoingtouseeitherfloatsorfixedpoint,I
havenoneedforaVec3)

Nilsthechilledoutdude

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

5/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Nilsthechilledoutdude
Definingfeatures:Featuresbeforespeed.Getitrunning,thengetitfast.Abstractthingsonly
whenrequired.Getsshitdone.
Mayorannoyance:Nonereally.
Thepastyear,IvebeenagreeingwithJacco,thenwithDinoandnowwithNils.However,its
abalance.Whenyoucodeforspeed,yourshitwillbreakwhenyouwanttoaddnewstuff.
Whenyouabstracteverything,nothingwillevergetdone!
Itsaveeeeerydelicatebalance.HowmuchabstractiondoIreallyneedandhowimportantis
speedrightnow?
coderoom
March19,2010at6:11pm
Reply
smallworld,thosearemyteachers(knightbeingmysenior)
Andthatabsolutelysumsthemup!
awesomearticle
zeroZshadow
June24,2010at11:08am
Reply
Afterpoundingoutcodefor25years,Guruisthebestfit.
Jeff
March19,2010at6:23pm
Reply
Andthisiswhyyouarenotone.Itaskedyouwhichstagesyouwentthrough,notwhich
oneyouthinkyouare.
Linegod
March21,2010at11:48pm
Reply
Also,heputquotesaroundguru.
Yep
April19,2010at2:00pm

ThiswouldexplainwhysomanypeopleiconsiderGuruprogrammershavefalleninlove

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

6/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

ThiswouldexplainwhysomanypeopleiconsiderGuruprogrammershavefalleninlove
withHaskellandProlog
Dustin
March19,2010at6:33pm
Reply
Greatread,lotsoftruth,butswitchinggendersoftheprogrammereveryparagraphis
tremendouslyannoying.
Brian
March19,2010at6:35pm
Reply
Maybeyourerightaboutthat.They/their/themislessimmediate,lesspersonal.Perhaps
onesheandtheresthewouldvebeenmorerepresentative(althoughallhewouldve
beenevenmoreso).Wellsee.
coderoom
March19,2010at7:15pm
Reply
Genderdoesntmatter.Chooseheorsheandstickwithit.Idontthinkanyoneis
keepingscoreofyourpronouns,andiftheyare,thentheyreprobablyworthpissing
off.
decadeCoder
March25,2010at9:50pm
Sogenderabstractionisnowrequired?
Pete
March19,2010at9:09pm
Reply
theauthorsaidhe/shehasexperiencedallthosestages,perhapschanginggenderbetween
eachofthem?
bse
March20,2010at1:02am
Reply
Iagree.WhenIreadashemyinstinctisthatIhavemissedsomethingandIstartlooking7/40

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Iagree.WhenIreadashemyinstinctisthatIhavemissedsomethingandIstartlooking
backtofindoutwhothissheis.Pleasepeople,hecanbeusedtomeanheorshe.
Ben
March20,2010at12:58pm
Reply
Iactuallyenjoyedthegenderswitching.Madeitlessaboutthespecificperson.
zachaysan
March20,2010at2:10pm
Reply
Ofthefivetypes,theguruistheonemostlikelytobeashe.Sheprobablystartedher
careerintheearly1980s,whichwasthelasttimetherewassomethingapproaching
genderequality.
BTW,Imustbereadyforsometranscendentstageofprogrammerincompetence,
becausetheonlycodethatdoesntseemfussyandprecioustomethesedaysis
assemblylanguage.
Webar
March20,2010at8:39pm
Thatsbecausethearticlehasdynamicgendering.
Angel
March21,2010at6:23am
Reply
Greta
September20,2010at9:54pm
Firstclassfunctionsareagoodsubstituteforasinglepolymorphicfunction,untilyouneedto
pass/returnmultiplepolymorphicfunctionsandsomedataallatonceandthenyouhavean
ADTagain.
Colin
March19,2010at6:39pm
Reply
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

8/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

ThisblogpostfollowsapatternIhavebeennoticinglatelyinprogrammerblogs.Ibelievethat
onecouldabstractoutseveralpiecesofittocreatearudimentaryframework
Merritt
March19,2010at6:39pm
Reply
TherewasanexcellentpostonHNalongthoselinesamonthorsoago,somethinglike
Thisisthetitleofagenericblogpost.Itriedsearchingforitbutfoundsomanythatit
didntseemfunnyanymore
coderoom
March19,2010at7:11pm
Reply
Hitthenailontheheadandhammeredhome.
FarazAli
March19,2010at6:40pm
Reply
Thisisbrilliantitsnotonlyfunny,itssimplythetruth,andfunnybecauseitsthetruth
Thanks,itmademyday
RolandBouman
March19,2010at6:50pm
Reply
Awesome,itwasmypleasure
coderoom
March19,2010at7:10pm
Reply
Hilariousandsotrue.Bravo.
Braden
March19,2010at7:45pm
Reply
[]5StagesofProgrammerIncompetenceyieldthought[]
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

9/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

StreamingcalcioPalermoInter20/03/2010
March19,2010at7:56pm
Reply
Veteren,sigh
Veryaccurate!
bgw
March19,2010at9:46pm
Reply
gurufornewprojects,veteranwhenmaintaining.
Butgurucouldntbemoreaptmylanguagechoice,thatIcheckedHN10timestoday,my
beliefthatthemostcrucialpartofprogrammingischoosingtherightnamesforthings,whatI
wastalkingaboutlastweekendtheonlymischaracterizationisthatIthinkallmyprograms
areshit,andIdratherhaveaseizurethantrytoaddfeaturestoa10k+linepythonproject.
jhl
March19,2010at10:12pm
Reply
Yourenotacompetentprogrammeruntilyoucaremoreaboutthesolutionthanthetools.
Anyonethatproselytizesalanguageortooloutsidethecontextofaddressingaparticular
problemisnotyetacompetentprogrammer.
myarse
March19,2010at10:22pm
Reply
Ilovethem!Itsjustwell,arentthesereallytheevolutionarystagesforadeveloper?So
manyofusidentifywiththem,Imnotsureitsfairtolabelthemasstagesofincompetence.I
thinkweallgothroughthem.Theyarestagesofgrowth.
vurcease
March19,2010at10:41pm
Reply
Thisistrue,butasJeffAtwoodsays,recognizingourownincompetenceisthekeyto
growth
coderoom
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

10/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

March20,2010at7:26am
Reply
SoWhatsafterguru?
Andwhileauthoringyourmemoirsofacareerincode,youveforgottenafewfriendsalong
theway
Remember:TheTechnicalProjectManagerforwhomthereisntanycodingproblemthat
aGanttchartcouldntfix,andwhohadsomemysticalunderstandingofwhatpercent
completemeans.Thisguyleftthecodingpathsomewherebetweennewbieand
abstractionist
AndRecall:TheUI/HFEngineerforwhomtheholygrailistheultimatehuman
understandablerepresentationofsystemstate.Forwhomtheinventionofthedropdown
comboboxisamajorhistoricalmilestone
BrianMaso
March19,2010at10:48pm
Reply
Howniceforyouthatyouimagineyoureaguru.
Wontitbefunwhenyoumakethistableagain,assignyourcurrentpositiontobeinga
relativenovice,andwhereveryouarethenisnowthegurustep?
Maybeyoushouldstopfellatingyourownskilllevelinpublic.
JohnHaugeland
March19,2010at11:10pm
Reply
Heh,aguruisntaguru.Theyjustthink,actandtalkasiftheyare
coderoom
March20,2010at7:27am
Reply
Gurushouldbeindoublequotes(guru)asitisastringandnotachar,usuallyinsingle
quotes.Justthrowingthatoutthere.
Vlad
March19,2010at11:12pm
Reply
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

11/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Ah,butinpythonyoucanuseeither
coderoom
March20,2010at7:27am
Reply
AndinPHPaswell..
ThomasLukasik
March20,2010at6:55pm
WorksinC++toogivesyouanint
ReJ
June25,2010at7:12am
Whileeveryoneknowsthestepsinyour5stagesarespectrumsnotquantumjumps,they
areindeedveryfair.Anditsimportanttoremembertherearelittletidbitsofall5that
SHOULDbeanotherlevel.
Howeveronceyouworkforacompanywhosejobisittomakemoneysellingnotsupporting,
youdoindeedgetbeatendown.Timetomarket,visualappeal,marketing,alltrump(mostof
thetime),eleganceinsoftwareengineering.Stillyouhavetoadmit,itsnotabadwaytomake
alivingifyouarestillenthusiasticaboutwritingcode.Evenifhastobeyourcode,notyou
employersyouareenthusiasticabout.
Jeff
March19,2010at11:36pm
Reply
[]5StagesofProgrammerIncompetenceEverynowandagainIseeglimpsesofmyselfin
youngerprogrammersastheystrugglewiththesame[][]
TopPostsWordPress.com
March20,2010at12:06am
Reply
TheBuddingGeniusisthebest,notonlyforprogrammers
youdontknowifthoseareillusionsorpremonitions.

Youarestillatthestagewhen

StephanaNikolova
March20,2010at12:12am
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

12/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Reply
Anychanceyoucando5StagesofProgrammerCompetencynext?Ohandbtw,youcan
tradeobjectforclosure.
(youcanbut,heylol)
gml
March20,2010at12:48am
Reply
IfIeverreachalevelofcompetencyinprogrammingIsurelyshall!
coderoom
March20,2010at7:28am
Reply
Thepostseemstodescribefolkswhostartworkingat1820knowingonlyoneprogramming
language,asopposedtogrowinguplovingtheprogrammingexperiencewhilebeing
languageagnostic.Theabstractionstepmakessense,buteventhatcanbejustifiedfor
pragmaticreasonswhenyouhavetodothesamethingbutconfigureddifferentlyforthe2nd
or3rdtime.Idontconsideritastepinanaturalevolution.
Whatreallystandsoutfromthispostisthelackofbusinesssenseandpragmatismfromthe
personalitiesdescribed.Isitwhatworkingassoftwareengineerinalargecorporationdoesto
you?Andwhatwiththeegodrivenneedtoaccomplishorshowcase,asopposedtosimply
performthetaskathand,whetheritbeselfassignedorhandeddownmanymature(and
someimmature)programmersdonthavesomuchanegoproblemthattheyshouldprove
themselvesbettersomehowviaoneofthedescribedidiosyncrasies.
Finally,atrueprogramminginmyopinionisequallycomfortablewithassemblylanguageas
withLisporJava,hasnothingtoprovetheworldandjustenjoyswhathedoes.Hedoesnt
seemtofittheprofileslisted.Andtoboot,noneoftheseprofileshasmuchtodowith
competencecompetenceisgettingtherightthingsdoneproperlyinasturdyandscalable
way,thenbeingabletosmoothlyhanditoverandmoveon.Franklyalltheprofilesfitthe
newbieattitudetome.
DreamT
March20,2010at1:12am
Reply
Mythoughtsexactly.Greatprogrammers
*Seetheexpandedproblemspace,whichincludesorganisationalobjectives,culture,
practice,existingcode,people,materialsandbudget,aswellasstatedobjectivesand
technicalissues.

*Areusuallygeniuseswithloadsofexperience.Theyseekandfindmajortechnical

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

13/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

*Areusuallygeniuseswithloadsofexperience.Theyseekandfindmajortechnical
shortcutstodeliversolutionsacrosstheexpandedproblemlandscape.ThisistheGreat
ProgrammersXfactor.Youcantteachit.
*Improveprocesseswherepossible,butareneverprocessjunkies.Particularlythey
eschewthesemblanceofprocess.
*Areprobablyawareoftoolandlanguagetrends,butareneverfashionvictims.
Bill
March20,2010at8:25am
Reply
righton.thiscannotbesaidbetter.
c0der78
March7,2012at2:30am
YouleftoutmyprogrammingpositionTheGrunt.Theonethatisassignedtofinalizethe
geniuscodeanddesigntheGuruhascreatedandbringittoproduction.Inmyexperiencethe
Gurudoesthedesignaccordingtowhateverfancynewdesignpatternortechniquehislast
conferencegothimtobelievein.Iasamultitaskingrobotamassignedtodeliverhisgeniousto
production.WhatIgetisaproofofconceptthathasbeencarefullydemonstratedtothe
companymanagement.Thebigbossesbelievetheproductis90%readybutthetruthisthat
itsbarely20%ready.SoinmythemanagementeyesIamalwaysunderperformingandthe
Guruisoverperforming,hegetsthebigsalarycheckandIgetthescrapsforfinishinghis
constantlychangingdesignpatternsandwhimsydesignsandhavetosupportthestuffaswell
andmeanwhiletheGurumovesontodesignsomenewstuffwithWindows7features
everywherebutourcustomersarestillstickingtoWinXpandServer2000.Iagreewith
DreamTtheprofilesaredescribingnaivenewbieprogrammersandasfunasthispostingis
itwouldbegreatgetamorethoroughanalysisofprogrammers,butIknowablogisnotthe
place
Tobakstugga
March20,2010at2:48am
Reply
Ah,thisissotrue!
coderoom
March20,2010at7:31am
Reply
stopbloggingandgobacktowork!
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

14/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

zero
March20,2010at2:56am
Reply
Distinguishingcodefeatures:
Mistakenbelief:
Mostendearingquality:
Reads:
Mostlikelytosay:
Mentifex
March20,2010at3:35am
Reply
TheMetamorphizedSolutionEngineer:
Thisperson,preferablypriortoGuru,butafterAbstractionist,decidestochangecareersand
gointoEnterpriselevelSolutiondevelopment.
Thisguyremembersallhiscodekata,buthaslosttrackofmostlanguages,thinksinobjects
andERD,butalsospeakshardwareandnetwork.Hefailstorememberthepainthatgeneral
programmingcausestheheartbuthasmasteredthetaskofcommunicatingbetweenthe
regularhumanandtheprogrammingteamusuallyusingthemostdangerousand
powerfullanguageofall:pseudocode.
Heisknownforwritingthingsontheboardlike:
if(datareturnsok)then(dosecondprocess)else(throwerror)
andthenconsiderthataviablespec.
Athisbest,thismangetsthebillspaidandkeepseveryonehappyinplushiesandnerfguns,at
hisworst,hepromisesthingstocustomersthatcantexistanywherebesidesthepliable4
dimensionalfantasylandofhisownmindbutyouhavetocodeit.
Lovethisman,andfearhimheslikelyyourboss.
Distinguishingcodefeatures:completesitallindryerasemarker,andconsiderscolorcoding
theextentofhisresponsibility.
Mistakenbelief:ifhecandreamit,youwillbuildit

15/40
Mostendearingquality:willingtostandbetweenyouandthesuitsandactuallytrulygets

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Mostendearingquality:willingtostandbetweenyouandthesuitsandactuallytrulygets
iteventhoughhedoesntcodeanymore
Reads:TheRobbReport(becausehesmakingmoremoneythanyouare)
Mostlikelytosay:Yes,wecandothatnoworries.
CPUnk
March20,2010at3:54am
Reply
Thanksforthisone,itreallymademelaugh
coderoom
March20,2010at7:31am
Reply
apropos++;
nolochemical
March20,2010at4:51pm
Reply
Scriptkiddie?
davefar
March20,2010at5:39am
Reply
IhaverbeenthroughallofthemandIamnowinastateofenlightenedignorancewrtsoftware
development.
lee
March20,2010at6:07am
Reply
Youforgotoneofthemostimportantones:RealProgrammer.
http://www.pbm.com/~lindahl/real.programmers.html
http://www.pbm.com/~lindahl/mel.html
Distinguishingcodefeatures:Selfmodifyingcode.Nocommentsanywhere.Herefusesto
writecodeinanythingotherthanassembly,CorFORTRANorusethewordsweband
programminginthesamesentence.Hiscodeisimpossibleforanyotherprogrammerto
understand,afactthatensureshimjobsecurityforlife.
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

16/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Mistakenbelief:Commentsareforsissies.Ifitwashardtowrite,saystheRealProgrammer,
itshouldbehardtounderstand.
Mostendearingquality:Helikestoentertainotherprogrammersatpartiesbyrecitingthe
binaryopcodesforeverymachinehehaseverprogrammed.
Reads:Intel64andIA32ArchitecturesSoftwareDevelopersManualVolume3B:System
ProgrammingGuidePart2.,opentoaparticularlyinterestingpageaboutthesubtlenuances
ofVirtual8086Mode.
Mostlikelytosay:Ifaprogramcantrewriteitsowncode,whatgoodisit?
Alex
March20,2010at6:38am
Reply
Nicearticle,thanksforthelink!
SinceMelknewthenumericalvalueofeveryoperationcode,andassignedhisowndrum
addresses,everyinstructionhewrotecouldalsobeconsideredanumericalconstant.He
couldpickupanearlieraddinstruction,say,andmultiplybyit,ifithadtheright
numericvalue.Hiscodewasnoteasyforsomeoneelsetomodify.
Understatementmakecoderoomhappy!
coderoom
March20,2010at7:37am
Reply
HahagladyoulikeitTheStoryofMelsaclassicpieceofhackerfolklore
Kindoffascinatingtoo.MakesmewishIhadanoldmainframejusttoseewhatitwas
like
Alex
March20,2010at9:39am
DamngotmeatAbstractionFreak.Thanksfortheheadsup!
Scott
March20,2010at9:06am
Reply

IdbepossiblyanothersortofincompetentprogrammerMan(asinManual).Man

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

17/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

IdbepossiblyanothersortofincompetentprogrammerMan(asinManual).Man
makessurethateachandeveryprogrammerinhisteamcancodethewaytheywantand
produceresultsinthewaytheyprefer.
EverysingleupdateneedstogothroughMansohecanmakesureitdoesntaffectanyother
devswayoflife.Asaresultnooneeverimproves,Manistheonlyonewhoknowswhats
goingonandis*litterally*themanual.IfManeverhappenstotakeadayoff,nothingwill
happenonthatday.
Notethatnooneelseknowswhatmandoes,orhowmandoesit.Notthatitmattersmuch,
sincemancanonlywriteacouplelinesperdayduetoallthattimespentlisteningtoother
peopleandansweringquestions.
Damn,Idlooooovetofinddecentawayoutofit,helpmeplease
Tom
March20,2010at9:55am
Reply
IguessMandoesntmindbeingthecenterofattentionbutwouldliketobeabletoget
someworkdone?
Hecouldtakefourweeksoffduringabusyperiod,thencomebackandtry
https://coderoom.wordpress.com/2010/01/28/3simplerulesthatwillmakeyoua
superstardeveloper/(butdonttellanyoneIsaidthat)
coderoom
March20,2010at10:56am
Reply
4weeksoffsuperstarcomebackyou,sir,arethedevilincarnate!
Tom
March20,2010at3:33pm
AfterspendingsometimeasVETERAN,IwentbacktoABSTRACTIONFREAKandbranched
towardsmodelinginstead.
AMODELERisanABSTRACTIONFREAKinheaven!
modelpractice
March20,2010at10:30am
Reply
hellyeah,spoton.ivebeeninthefirstandsecondstages,andnowimattheveteranstage
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

18/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

althoughtheidontgiveafuckmayvaryfrompersontoperson.youveseenyourshareof
emergencies,andthisstageisaboutgettingshitdoneandcoveringyourass.also,havinga
bitofknowledgeallowsyoutoslack2daysandworkoneonathreedaydeadline
oneguy
March20,2010at10:52am
Reply
Thisisfrighteninglygood.Iwouldliketoofferanewclassofprogramming
TheDelusionalAttentionDeficitProgrammer.
DistinguishingCodefeature:Writesalotofnonreadablecodethatdoesalotstuff,butdoesnt
solvetheactualproblem.Nocomments,thinksashe/shecodes.Noconceptofknowinghow
tofocusonaspecifictaskatanyonetime.Constantlyflitteringbetweenminiprojects,leaving
ahalfdonesolutionthatarehardtopickup.
MistakenBelief:Thinksthattakingonafewproblemsatatimeisok.Falselybelievesthattheir
approachisagilinordertoquicklycodeanddesignontheflytogetresults.Butitsnot,just
buryingthemselvesunderamountainofspagehtticodethatisunmaintainable.Doesntsee
thatitsreallythePITOOMAmethodology.(Pulleditoutofmya$$).
Mostendearingquality.Whinesaboutnothavingtimetotakeontasks,butistoobusy
yabbering/procrastinatingtogetstuffdone.
Reads:whateveristhelatesttrick/techniqueindesign.
Mostlikelytosay:Imtoobusy,ImstretchedsooothinlyIdonthavetimetosleep.
Giulio
March20,2010at11:07am
Reply
Ohyeah,Gurureadsnews.ycombinatorandthenclickingonlinkstheregetstothissite;D
jakubmal
March20,2010at11:46am
Reply
[]fullpostonHackerNewsIfyouenjoyedthisarticle,pleaseconsidersharingit!Tagged
with:Incompetence[]
The5StagesofProgrammerIncompetence
March20,2010at12:09pm
Reply
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

19/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Imconvincedthereareonly5peoplewritingcodeintheworld.TherestofusGoogleand
copyandpastereallywell.
AndImchangingmynametoNils.
Sam
March20,2010at1:19pm
Reply
Definitelynot.Somepeoplejustfallinlovewithcomputers,thenfalloutoflovewith
computers&fallinlovewithsomethingelse.Atsomepointtheyfalloutoflovewiththe
somethingelse&fallinlovewithcomputersoncemore,thentheyfalloutoflovewith
computersonemoretime&discoverthatmachinesingeneralarenice&justletitbe.
ahse
March20,2010at1:34pm
Reply
Ouch.Thetruthhurts,man.
Chris
March20,2010at2:16pm
Reply
tokyohotelsonline
March20,2010at4:15pm
Reply
GoodOne
ittalentz
March20,2010at4:26pm
Reply
wonderful!sotrue!
HaroldShip
March20,2010at5:20pm
Reply
Haha,veryhumorous,Ilikeit.(:
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

20/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

fcukthat
March20,2010at5:57pm
Reply
Thisishilariousbutverytrue.
SeifSallam
March20,2010at6:20pm
Reply
Greatarticle,funnybuttrue
JaneAdams
March20,2010at6:31pm
Reply
Greatpeiceofwriting.NotsurewhereIwouldsitastherearetimesabitofeachcomesinto
play.ButcertainlytheVerteranseemstofitthebestasthesucksinairhashappenedoften
butIthinkthatismoreduetothefearthatmangementthinksitsahardtimelinenotablasted
estimate.
KeithChadwick
March20,2010at6:33pm
Reply
ThisissoFULLOFEPICWIN..IfiguredIwouldprobablybetheEnthusiasticNewbie,but
afterreadingIfoundoutthatIwasacrossbetweenaVeteranandaGuru*COMMENTS
ANDFREEDOM!!*eventhoughIhaveZEROprogrammingexperienceinanactualjob.Iwent
O:O:O:
Butyeah,funnyentry..anditsprettyrealisticineveryway.YoudeservetheBadgeofEPIC
WIN.x3
MarxTaich0u
March20,2010at6:42pm
Reply
HahaGoodread!!
Anne
March20,2010at7:19pm
Reply
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

21/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Veteran.
Mystuffships.
Mystuffworks.
Mycontractskeepgettingextended.
Javarocks!
Greatpost.
Gonnaputitinthehallatwork.
JohnBannick
March20,2010at7:21pm
Reply
[]5StagesofProgrammerIncompetenceyieldthought[]
jardenbergkommenterar20100320|jardenbergunedited
March20,2010at7:51pm
Reply
getoveryourselves
smileylizard
March20,2010at9:09pm
Reply
outofscopeofthepost:
WhyabstractusersandprogrammersinEnglishtextsmentionedasshepredominantly?
Isitasomekindofcourtesy?Because,ifwespeakaboutprogrammersoutthere,20to1isa
goodaproximationofsexproportioninourprofession(whateverthereasonforthat),and
insteadofpoliticalcorrectequalizationofsexes,usageofshejustaccentsthat
disproportioninastrangeway,no?
Iwasunabletofindanyethymologyofsuchatradition,butmaybeyouknow,why?
codesnik
March21,2010at1:31am
Reply
Ithinkitmightbepartofsomeunspokenefforttohelpchangethatpredominanceinsome
smallway.Theresnophysiologicalreasontheratioshouldbesohigh,whichmeansthe
professionismissingoutonalmost50%ofthepotentialvanRossums,Knuthsand,yes,
SpolskysandGrahams.
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

22/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Therearebetterwaysthanoccasionallyusingthepronounsheaswellashe,buthey,not
alltechnicalwritersarepoliticalactivistsorrevolutionaries.
Personally,Ithrowitinthereforabitofvariety;Imsurpriseditbotheredsuchahigh
percentageofyou,dearreaders.
coderoom
March21,2010at7:13am
Reply
Asafemaleprogrammer,Iagreewithcodenik.Itsniceforusgirlstobeincluded,butIfeel
itsOKtotreatthenounprogrammerwiththemalegender.
Sam
March21,2010at2:50am
Reply
Theenlightenedone.thedayhegotinterestedinprogrammingandreadabook,herealized
healreadyknewhowtoprogram,andquicklyputthebookaway.theonlyusehehasforman
filesistogetthecorrectargumentlistthatthepreviousenlightenedonecreated.thereisno
code,onlylanguage.
distinguishingcodefeatures:simple,elegant,easytoread.maybeabitcomplicatedforothers,
butwithalittleinvestmentmostcanfigureitout.
mistakenbelief:programmingiseasy,everyprogrammerislikehimself.
mostendearingquality:thelittleeyebrowraisewhenanotherprogrammersays~itcantbe
done
reads:anythingnotrelatedtoprogramming.historyofrussia?thatsoundsinteresting.
mostlikelytosay:Yes,itsfinished.
Boppity
March21,2010at3:01am
Reply
Thiswouldbeanicestageofprogrammingcompetence
tohaveeverreachedorevenseenit!

SadlyIcouldnthonestlyclaim

coderoom
March21,2010at7:14am
Reply
ThedescriptionforTheEnlightenedOnesoundsverymuchlikewhattheBudding
Geniuswouldsayifyouaskhimtodescribehimself.
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

23/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

lincolnboulevard
March21,2010at10:22pm
Reply
Iagreewithcodenik
Sidra
March21,2010at5:32am
Reply
itwasntarant.Itwasjustaquestion.Iveseenusageofshepronounintechdocsmany
timesbefore,Ijustwanttoknow,whyandwhenitstarted.
and,damn,itscodeSnik!
codesnik
March21,2010at5:35am
Reply
[]camealongapostdescribingfivestagesofprogrammerincompetence.Ihighly
recommendyoutogoreadthearticleandseeifyouidentifyyourselfwithanyofthese
tongueinthecheek[]
Programmerincompetence|Smartengineeringpractises
March21,2010at9:46am
Reply
Agoodreadwithsomegoodcomments.Iaddedyourbloginmybookmarks.
John
March21,2010at9:54am
Reply
Spoton!AndIlikedtheonecommentallinoneday!greatobservations.
DeciduousTree
March21,2010at11:29am
Reply
Ihadtocheckallboxes!!
Gotthefeelingthatsomehow,atsometime,Iwenttroughallstages.Nevernamedclasses
withmyinitialthough(dotheyexist??).
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

24/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Fortherestyesyourhonor,Iconfess
If,andafterhavereadthis,Iwouldstilldaretomakeanykindofselfevaluationonmy
competences,asixthstagewouldsurelyworthtobementioned:theprocrastinatortype.
Greatarticle.
Greetings
flashopen
March21,2010at2:10pm
Reply
ThisisfunnyIthinkIdontanylanguagebutbriefly20yearsagoworkedwithFocusand
wasprettyproudofmyself.
NowIjustdependonyoufolks..thankfully.
bzirkrants
March21,2010at5:56pm
Reply
Imeant,ofcourse,Idontknowanylanguages
bzirkrants
March22,2010at1:19am
Reply
[]5StagesofProgrammerIncompetenceAmusing[]
RandomLinks#156|YASDWyetanothersoftwaredeveloperweblog
March21,2010at7:16pm
Reply
GreatArticle!Lovedeverybitofit
AtulKash
March22,2010at1:47am
Reply
uhaehuaeeayes,ihavefoundmyselfinallstagesbesidesthegurustagehahahaitis
interesting,idevelopmyownapplicationhttp://www.archiveclipboard.com/itisnotmore
thanthebestClipboardtoolihavefound,believeme,itriedtousetheavailabletools,allof
themsuckanywaymyprojectsonlyhavegetoutofmyIDEtootherscomputersafteralmos
twoyears,andnowitishappy,imhappy,peopleusingitarehappey,sincejan07,ihave
ownedmorethan4kusers,itiscoolisnt??checkoutsoftpedia!softoxi!googleit=D
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

25/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

thisprojectshasfacedsomestagesheredescribed,untiligetmatureenoughtomakethisshit
work!huahahaha
hopeyouenjoy!
RafaelKarst
March22,2010at5:14am
Reply
GladyouenjoyeditandgoodluckwithArchiveClipboard!Yes,gettingthefirstusersis
reallyexciting!Ihopeyoumeanownedasinhaveandnotasinwitharootkit
Youdgetevenmoreusersifyouaddedtwoorthreescreenshotstoyourhomepagetelling
alittlestoryaboutwhatArchiveClipboarddoesandwhythatsawesome.Asingle
sentencedescribingwhyavisitorshouldcare,inanicebigfont,andanicebigdownload
buttonwouldhelp,too.Quotesfromhappyusers,too!
coderoom
March22,2010at9:01am
Reply
youdamnrightcoderoom,imlasyaboutthesite,basiclythemassivedownloadscome
fromreviewsiteslike,softpediaredirectsandothersreviewersiguessimgoingto
dosomethingthanksfortheadvice!
RafaelKarst
March22,2010at2:20pm
Iamattheveteranlevelandamshowingpromiseofgraduatingtothegurulevelverysoon
Verynicelyput.Andyes,Ithinkeveryonegoesthroughthesamecycle.Youforgotthelast
phasethoughTheLead/Manager Ithinkyouhaveyettoreachthere,elseitwouldhave
beeninthelist!
Anonymous[Iamstillemployed:)]
March22,2010at10:27am
Reply
Hmmmm
Averyinterestingwaytolookathowonematuresasapragmaticprogrammer.
AchallengetotheprogrammerinU
TheMYSTERYSPIRAL
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

26/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

http://2600hertz.wordpress.com/2010/03/20/themysteryspiral/
canUcodeit??
cvs268
March22,2010at10:49am
Reply
Whatsthemystery?Thealgorithmisclear:makeanNxNarray,startinthetopleft,wind
intothemiddledecrementingasyougo,printsaidarray.
coderoom
March22,2010at11:26am
Reply
Imatthemadmanstageforwhichyoukindlyleftoutanoption.Iseeprogramming
patternsintheworldaroundus,insocialnetworks,andIseenaturalpatternsinprograms.
Juststartedlearningwebprogramminglanguagesinthesecondhalfoflastyear.Froma
strictdietofcfor13yearshittingthewallofacoupledozenlanguagesanddatabasesformats
atoncewasprettyradical.Ivejuststartedtogetcomfortablewithrubyonrails,and
JavaScript.ImstillnotproficientbutIvelearnedenoughabouthowinformationflows
throughrailsstructurestobecapableofbreakingourwebapp.Meandabettersuitedrails
hackerareworkingonasocialreader/filterthatjustdoveintothedeepend(web)from
Twitterville.
MarkEssel
March22,2010at12:30pm
Reply
TheonlythingthatIwouldaddisthateveryBuddingGeniuswouldcategorizethemselves
asaGuruhavingmagicallyskippedtheVeteranstage.
Marshall
March22,2010at12:56pm
Reply
Firstupkudosforallowmetobeashe.WhenItweet/replyonforums,theassumptionthat
Imusthaveaychromosomeisprettymuchuniversal.Makesmerealisewhybitchwhocodes
chosethatname
ImcringingatthewayIbehavedinstage2IrememberoncetellinganHTMLdevthatall
siteswouldbebuiltinflashoneday.ButasanewbieIsuregotalotdonebuiltsomeproper
appsinAS1thattookforevertodebugbutwouldneverhavebeenattemptedbythestage3
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

27/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

me
CurrentlyImeasingintoVeteranmode.ThemoreItestthemoreIrealisehowfundamentally
stupidIamthereisnolimittothesimplicityofthecodeIcanscrewup.TDDiscurrentlymy
safetynetitsnotthatitsbetterfortheclient,itjustthatitsbetterformybrain.
Whatyourereallytalkingaboutthoughisthecyclefromunconsciousincompetence,through
consciousincompetence,consciouscompetence,unconsciouscompetenceandalltheway
backaroundtobeginagain.Thegreatthingaboutthisindustryisthattheresonlythejourney
thedestinationisonamovingplatform
Stray
March22,2010at2:44pm
Reply
Yourewelcometheunconsciousincompetence=>unconsciouscompetencecycleisan
interestingwayoflookingatit,althoughinmyexperiencedespitebeingmuchmore
competentthananewbie,theairquotedguruisstillalotlessenlightenedthanshelikes
tothinkmaybeitsaspiralofincompetence?
coderoom
March22,2010at3:16pm
Reply
AhyesthatsexactlywhatImeantbyandallthewaybackaroundtobeginagain.
Theresnostayingstillifyourenotlearningthenyouresimplyslidingbackwards
withyoureyesclosedbutchargingmoreperhourforeachcycleyouvecompleted!
Stray
March22,2010at4:54pm
InterestinglyIhaveseenthatsheistheprevalentterminprogrammingliterature(forboth
usersanddevelopers)atleastliteraturewrittenbybetterprogrammers/writers(havea
lookatMSDNmagazinetoseewhatImean).
JonathanDickinson
March23,2010at7:36am
Reply
[]5StatesofProgrammerIncompetence[]
SAPABAPdevelopersNEVERdothisWelcometoMyHead
March22,2010at4:07pm
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

28/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Reply
Quiteinteresting,butIwouldntclassifyadynamiclanguageasmostdefinitelythetoolof
choicefortheGuru.
Shewouldratherusethecorrecttoolforthejob.
Writingasocketserverthatcanhandle100softhousandsofconnectionsuseastatically
typedlanguage.Maybeevenwhatcouldbearguedastoomuchproceduralcode.
Writingadesktopclientfortwitter?Agarbagecollecteddynamiclanguagewouldbebest.
HeavyOOPorfunctionalstyledependingonwhatisbeingaccomplished.
Theinternetisjustcurrentlygoingthroughadynamiclanguageforeverythingfad,theold
tools(OOPandstaticlanguage)stillworkjustaswell.
IworkwithoneofthesepeoplethetypeofpersonwhohasgonefarpastGuru(Iwould
happilyadmitthatIamstucksomewhereinbetweenAbstractionFreakandVeteran ).
JonathanDickinson
March22,2010at4:55pm
Reply
Haveyoumissedthesignificanceoftheairquotesaroundguru?Atrueguruwoulduse
whateverworks,butthehyperfashionableguruismostdefinitelyadynamictyping
convert.Shethinksshesatrueguruandhastheanswertotheworldsprogramming,but
sheisntandhasntnotyet,anyway.
coderoom
March22,2010at7:13pm
Reply
IguessIdid

JonathanDickinson
March23,2010at7:29am
BTW,quiteimpressedonhowmanycommentsyourespondto.Youdontseethatkind
offollowthroughonblogsthesedays.
JonathanDickinson
March25,2010at1:14pm
^_^
coderoom
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

29/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

March25,2010at1:40pm
Thanksfortheexcellentpost.Itgavemeafewchuckles.Ifeltalittlecompelledtorespond,
althoughIamnotsurewhy.Ithinkthemostimportantthingisrecognizingtheselevelsand
havingthehumilitytoacknowledgethatyoutravelinandoutofeachdependingonmultiple
factorsnotjustlengthoftimeintheprofession.
IvebeenprogrammingsinceIwas8,andworkingprofessionallyfor15years.Ihave
experiencedeachlevel,butshyawayfromusingthetermguru.Tomeitsuggestsreaching
someplateauofknowledge,andthenegativeconnotationofanegotogowithit.
Inreality,guruisfairlyaccurateforitsreferencetoattainmentofknowledgeandteaching
othersbothkeysforprogrammingsuccessandlongevity.
Constant,rapidchangeisaforcetoreckonwithinthisindustryandmakesusallnewbiesat
somelevel,somemoreenthusiasticthanothers.Keepyoureyesopenandmouthshut,learn
fromandteachthosearoundyou,usethemostappropriatetoolforthejob,andyouwillbe
happyandsuccessful.
Nathan
March22,2010at9:11pm
Reply
^lol@thepeoplewhowrotecommentstoassertthemselves.
goodreadthough,gavemeafewlaughswiththeguys,itwouldbefunnyifsomeoneprofiled
managementstylesfromdeveloperperspective.
Dznuts
March23,2010at2:45am
Reply
Afterguru,youmightconsideredascendedmode,takendirectlyfromtheStargateseries.
(AlsocalledDanielJacksonmode.)Ascendedprogrammersappearatoddmoments,smile
knowingly,givehintsandthentellyoutheycanttellyoutheanswerbecausethenyou
wouldntlearnthetruthofyourwork.
Thesepeoplecancausedincredibleofficerage.
Gene
March23,2010at1:15pm
Reply

ImindbequalifiedasGuru,butIpreferstaticallytypedlanguages,Haskellforinstance.

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

30/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

ImindbequalifiedasGuru,butIpreferstaticallytypedlanguages,Haskellforinstance.
ProbablyImlazyveterantocarefultousedynamiclanguagesandlazytoputassertionsby
hand.
suigintou
March23,2010at1:47pm
Reply
Spoton
AndImamazedathowseriouslysomepeopletakethisposttheressomecommentsonhere
thatIsweartheydidnthaveanysenseofhumoraboutthemselves/usingeneral.
MeImdefinitelyaguru!!lol
Ric
March24,2010at7:00am
Reply
Notaprogrammermyselfbutdogettositdownandspeakwiththemoften.Amazinghow
wellyourcategoriesgenerallyfitthoseIvehadthechancetomeet.
Funread.
mattpagemgisinc
March24,2010at1:55pm
Reply
Wellthisisquitecondescending
Ithinkyoushouldnotcategorizewhatshouldnotbe.
Someprogrammersoutthere(asinotherjobs)arejusthumbleandtrytolearnandpractice,
gettingbettereveryday.AndImproudofbeing(oratleasttryingtobe)oneofthem.
Ihaveneverbeenthroughoneofthesestages(exceptmaybethenewbie,butonlyforthe
Enthusiasticpart).
Idontknowwhereyouwork,butifitisyourpointofviewforthisjob,Isurelydontwantto
workthere
kronos85
March24,2010at3:49pm
Reply
Ireallyenjoyedthewhole.Thetext,thecomments

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

31/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Ireallyenjoyedthewhole.Thetext,thecomments
AndwhatIfeeltobeveryimportantisactuallythatYourarticleandthismarvelous
discussionareTEACHINGallofusofourindividualandcollectivemistakes.Justrecognising
yourselfinanyofthestagesisaneyeopeningexperience!!!
Imyselfprogramcomputersfor36years,so,fromthatpointofviewIamaveteran(Ieven
programmedtheLGP21,thelittlebrotherofLGP30!seeMELsstory),andyes,probably,in
myownidiom,passedmanyofthementionedstages.
However,itisalwayswisetobehumble.Itiseasieronyourself,andontheothers.
Zork
March24,2010at6:55pm
Reply
IwasonceworkingforacompanywhichwasFULLYintotheTheAbstractionFreakstage.
Theyneverfinishedtheproject,thecompanygotbust,theinvestorslostmoney,Ilostsome
earnedincomeandthejob
However,Istill,20yearslater,haveaveryexpensiverobotmotorandencodertheywantedto
trowawaywiththerestofgarbish
Zork
March24,2010at7:05pm
Reply
[]5StagesofProgrammerIncompetenceyieldthought.ShareandEnjoy:[]
forthoseofyoubeginingtobudinyourcodewritery.|Spacemadness
March24,2010at8:38pm
Reply
SincewhenJavascriptandPHPareprogramminglanguages?
Justbeingmean,evenPHPisOOnow
remusdragos
March24,2010at9:12pm
Reply
Amazingpost!
IwouldliketothinkIampastthenewbiephasebuteverynewbugsometimesmakesme
scaredwhatifitallcomescrumblingdown?Butthenanewissuealsobringsupnew
solutions,newideasandnewthingslearnt.Iguessthephasesarentseparatedbywallsof
stoneafterall.
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

32/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Imgoingtobookmarkthisandcomebacktocheck
Debby
March25,2010at8:56am
Reply
ILOLdatHisauraofmeasured,unflappablecalmthatmakesitclearthateventhedirest
emergencywontmakehimworkanyfaster
Wow,thisisME!
zoxell
March25,2010at5:16pm
Reply
Havingreadallyourcomments,athoughtcomestomindProgrammersarethewind
beneathourwings.
Sure,Iwantthebestvehicleonthemarket;butIjustwanttogetinit,driveit,andenjoyit
withouthavingtothinkaboutwhatallittooktobuilditthesamewaykidswanttoeattheir
favoritemealwithoutgivingthoughttowhatallwentintoitspreparation.
SoIguessthismakesyalltheroadforourrubber?Ormasochisticperfectionistsoperatingon
Bloomssixlevelsallatonce,ifthatspossible?Octopusmodedoescometomind.Plus,yalls
perceptionoftheworldissouniquethatyouuseyourownlanguagetocommunicate.
Bottomline?Yourprogramminggeniusregardlessofthelevelyoureongivesmy
creativityfreedomofexpression.Sothanks!
DeliLanoux,Ed.D.
March26,2010at11:56am
Reply
[]IwaslearningtoprogramsomeonetoldmethatIshouldtrytoreadasmuchcodeas
possible.BuddinggeniusthatIwas,Ithoughtthiswasadviceforstupidpeoplewhoneeded
tolearnfromtheirbetters.I[]
OnTheFearofReadingCodeyieldthought
March26,2010at3:02pm
Reply
[]FivestagesofprogrammerincompetenceInterviewswithaverageprogrammersSoftware
EngineeringRadioepisodeonClojure[]
WeekendmiscellanyTheEndeavour
March26,2010at5:33pm
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

33/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Reply
Agoodbreakdown.Asopposedtoapurelylinearprogression,Ifindthesetobecyclical.I
comeroundbasedonthecompanythatIamat,learninganewlanguage,workingonanew
projectorjusttheseasons.Irecognizethattree
AmberShah
March26,2010at11:33pm
Reply
[]5StagesofProgrammerIncompetence[]
Destillat#16|duetsch.infoOpenSource,Wet,Web,Software
March27,2010at11:00am
Reply
nicesite..veryinteresting!!ineedupdatesfromyou.
cahbagoes
March29,2010at8:54am
Reply
ThankYou!!!
Imnotatprofi

butimlearningtobesomekindof

whiteHacker
usuallyIknowwheremaybeerrorinthedeveloperstools
haveanicedays
D.A.B
dB
March29,2010at8:56am
Reply
[]https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/[]
hackification.comRediscovertheJoyofCoding::WeeklyLinksMicrosoft,Windows
Phone7,GeneralCoding,andabitofhumour
March29,2010at8:24pm
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

34/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

Reply
Lovedreadingitman!Goodwriteindeed.Sonomatterwhatstageyoureat,youstillremain
incompetentinsomewayorother,thatisthebeautyofitbeingincompetentandworking
towardscompetenceandthenrealizinganotherlevelofincompetenceinthemidstoffreshly
achievedcompetence!Abstract..hmm!?
UmeshAdtani
March30,2010at4:33am
Reply
[]IwaslearningtoprogramsomeonetoldmethatIshouldtrytoreadasmuchcodeas
possible.BuddinggeniusthatIwas,Ithoughtthiswasadviceforstupidpeoplewhoneeded
tolearnfromtheirbetters.I[]
ProgrammerblogofsomekindSomesummarywhichintimatesthetoneandcontentof
theblog.
April1,2010at1:41am
Reply
[]Thesearticleisobviouslyanalyzethesepeople.
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/[]
TheseProgrammersBrainstormonComputerScienceRelatedThings
April1,2010at6:54pm
Reply
[]The5StagesofProgrammerIncompetencefrom:HackerNewson26Mar2010[]
SharedItemsonApril7,2010
April7,2010at9:02am
Reply
[]}Thisdescriptionisntonlyaptforprogrammers,Iwouldapplyittoengineerswho
regularlywrite[]
TalesfromtheEngineeringFloor5StagesofProgrammerIncompetenceWata
MalaysianOilandGasEngineer
April16,2010at10:03pm
Reply
[]2010inProgramowanie,PrzemyleniaRegeditnaswoimblogunapisanotk,wktrej
podaadresciekawegoartykuunatematetapwprzejciowychdotyczcychkadego[]
Cojestnajwaniejszewprogramowaniu?MorituriussDevlog
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

35/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

June20,2010at7:21am
Reply
[]5StagesofProgrammerIncompetenceyieldthought[]
linksfor20100319|Acervus
June20,2010at9:08pm
Reply
Nodatall.
OlafDoschke
June24,2010at10:35am
Reply
[]https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/var
a2a_config=a2a_config||{};a2a_config.linkname=5StagesofProgrammerIncompetence;
a2a_config.linkurl=http://aronze.com/2010/06/28/5stagesofprogrammer
incompetence/";Filedunder:blahblah,devLeaveacommentComments(0)Trackbacks
(0)(subscribetocommentsonthispost)[]
5StagesofProgrammerIncompetence|aronze
June28,2010at5:09am
Reply
Thatsagreatbreakdown.Iamjustanewbie.=)
TomWelling
July6,2010at2:36am
Reply
[]madeitrightwasmyinnocencebackwhenIknewnothingaboutprogramming(i.e.
whenIthoughtIkneweverything)longerlivedprogramsstartedaccruingoddifstatements
andshoehornedadditionalfunctionality[]
MakeExceptionsyieldthought
July29,2010at2:37pm
Reply
Accordingtoyourdivisions,Ibelongtotheveteranclassrightnow.Iwentthroughthe
enthusiasticnewbieandabstractionfreak.
KoutheirAttouchi
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

36/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

July30,2010at8:39am
Reply
[]5StagesofProgrammerIncompetenceyieldthought[]
DailyDigestSeptember4th
September4,2010at6:11pm
Reply
Wow!Realycool.
ItmademeremembertheHowtokilladragonandsavethedamseltheprogrammersway.
Ifindthislinkwiththe(maybetheoriginalfromthebrazilianversionwastranslated)English
version:
http://generalforums.com/t69877/
RCDMK
September12,2010at5:16pm
Reply
Nicethanksforthelink!
coderoom
September21,2010at7:15am
Reply
Youalsoforgottheframeworkdude.
Distinguishingcodefeatures:
Addslotsofframeworkstohis/herprojecttosolvesimpleproblems.Theprojectisoverloaded
withcoolopensourceprojectsdownloadedfromanopenrepositories.
Mistakenbelief:
Youdonthavetospendyourtimecreatingownstuff;othersdidalreadycreatedthisand
thosepeoplealwayscodebetter+moreoptimized.Hetriesthousandsofplugins,addonsand
frameworks.Healsospendsextratimetofigureouthowtogetthemostoutoftheframework,
evenifitisnotneededyet.Heneedtoreadthefulldocumentationbeforehecandecideifthe
frameworkreallyfithisneeds.Afterhalfadaygoogling;hehasgotagreatnewframework
whichheprobablycoulduseinthefuturetoo,butforthenextprojectthereisanother
frameworkwaiting.
Mostlikelytosay:OhNoyoucreatethatcodeyourself?Everythingisalreadycreated.There
mustbeaframeworkforthat.Wait;letmeGooglethatforyou.
Mark
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

37/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

September20,2010at8:43pm
Reply
Aworthyaddition
coderoom
September21,2010at7:15am
Reply
IrecallanotheraspectoftheBuddingGeniusstage(solongago):enthusiasticallystartingand
runninglunchnlearngroupstotacklenewlanguagesandtoolswewerediscouragedfrom
usinginourlegacyshopsuntilwewereabruptlylaidoffforbeingoldlanguagecodersand
replacedwithanewgeneration.Alwaysaslowlearner,Ididthatthreetimesatthreedifferent
companies!heeheegoodtimes
Greta
September20,2010at10:04pm
Reply
Argh!Hopeyouvefoundaclassplacetoworknow,atlast!
coderoom
September21,2010at7:16am
Reply
[]https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/[]
5StagesofProgrammerIncompetencearg3.net
January24,2011at3:58am
Reply
IdontthinkthatIpassedoneofthosestages.
Coz,Ireallydontlikeprogrammingitsjustthat,Ireallyneedtoloveit,tochallengemyself
andtoprovethatIcanalsobeagoodprogrammeroneofthisdays.ImanOracleDeveloper
byprofessiontoday.Because,ProgrammingisaPRACTICE,notjustaJOB
badthing,theauthorofthatsayingisunknown.
faith
February25,2011at5:59am
Reply
Sotrue!Imonprogrammingforabout5years.HeadingtoVeteranaftergoingthrough
newbie,buddingandabstract
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

38/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

ThinH
July15,2011at4:21am
Reply
[]theideathatbuildingthenextflashsiteshouldbeeasierandquicker.Thisprojectleadme
tomyAbstractionFreakPhaseasaprogrammerasIwasquicklyoverwhelmedwith
abstraction.ThelatestversionfoundonGitHub[]
WhatAS3Projecttofocusonnext?|DoesFlash?|AS3Blog
January17,2012at10:09pm
Reply
ivebeeninthismesssince1989whatidliketoknowiswhendidyouhityourburnouts?
RobinGist
September2,2012at4:31pm
Reply
Ivebeenprogrammingforatouchover20years,professionallyformorethanadecade.I
haventhitanyburnouts(yet!);Ithinkthatsaysmoreaboutmyemployerandenvironment
thanmepersonallythough.
coderoom
September8,2012at5:24am
Reply
[]5StagesofProgrammerIncompetence[]
WeeklyInterestingFinding(08/27/201209/03/2012)Onthewaytobegreat
September6,2012at3:30am
Reply
[]mostamazingiPhoneyet5StagesofProgrammerIncompetenceyieldthoughtCoiling
UnattachedRope|HowtoCoilUnattachedRope|RopeCareKnotsTweet!function(d,s,[]
FridayLinks#219|BlueOnionSoftware*
September8,2012at12:22pm
Reply
VerysimilartotheHinduVedas.Ooops,IguessthatrevealswhichstageIamat.
SheltonSmith
https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

39/40

6/29/2015

5StagesofProgrammerIncompetence|yieldthought

June6,2014at1:18pm
Reply
[]heressomethingIcanrelateto:5StagesofProgrammerIncompetence.Idputmyselfin
theVeteran[]
WhatStageAreYouIn?
May5,2015at3:53am
Reply

CreateafreewebsiteorblogatWordPress.com.TheJournalistv1.9Theme.

https://coderoom.wordpress.com/2010/03/19/5stagesofprogrammerincompetence/

40/40

Potrebbero piacerti anche