On Being a Senior Engineer _ Kitchen Soap
-
Upload
ben-avraham -
Category
Documents
-
view
226 -
download
3
description
Transcript of On Being a Senior Engineer _ Kitchen Soap
-
OnBeingASeniorEngineer(http://www.kitchensoap.com/2012/10/25/onbeingaseniorengineer/)25.Oct /Culture(http://www.kitchensoap.com/category/culture/),Etsy(http://www.kitchensoap.com/category/etsy/),HumanFactors(http://www.kitchensoap.com/category/humanfactors/),Random(http://www.kitchensoap.com/category/random/),WebOps(http://www.kitchensoap.com/category/webops/)/127Comments(http://www.kitchensoap.com/2012/10/25/onbeingaseniorengineer/#comments)
.
Ithinkthattheresalotofinstitutionalknowledgeinourfield,especiallyaboutwhatmakes
foraproductiveengineer.Butwhilethereareagooddealofbooksinthemanagementfield
aboutexpertrolesandresponsibilitiesofnontechnicalindividualcontributors,Idontsee
toomanymodernbooksorpoststhatmightshedlightdirectlyonwhatmakesforagood
seniorengineer.Onenotableexceptionisofcourse
,whohasbeenpostingquiteagooddealrecently
aboutthe .
Yetatthesametime,agoodlotofsuccessfulengineerswhomIhaveknownallremember
thementorwhotaughtthemwhatitmeanttobesenior.
KateMatsudaira(http://katemats.com/)
culturalsidesofengineering(http://katemats.com/leadership/)
(http://www.kitchensoap.com/)
KitchenSoap (http://www.kitchensoap.com/)
KitchenSoapThoughtsonsystemssafety,capacityplanning,andweboperations.
-
Ido,however,agree100%withmyfriendTheoswordsaboutbeingseniorinhischapter
ofthe
bookbyOReilly:
GenerationX(andevenmoresogenerationY)areculturesofimmediategratification.
Iveworkedwithastaggeringnumberofengineersthatexpectthecareerpathtotake
themtothehighestranksoftheengineeringgroupinside5yearsjustbecausetheyare
smart.ThisissimplyimpossibleinthestaggeringnumbersIvewitnessed.Noteveryone
canbesenior.If,afterfiveyears,youaresenior,areyouatthepeakofyourgame?After
fivemoreyearswillyounothaveaccruedmoreinvaluableexperience?Whatthen?
Superengineer?Fivemoreyears?Superduperengineer.Iblametheyouthofour
disciplineforthisaffliction.Thetruthisthatthereareveryfewengineersthathavebeen
inthefieldofweboperationsforfifteenyears.Giventhedynamicsofourindustrymany
electedtomoveontomanagerialpositionsorriskanentrepreneurialrunatthings.
Hesright:thisfieldofweboperationsisstillquiteyoung.Sowecantbesurprisedwhen
peoplewhohaveatitleofseniorexhibitunsurprisinglyimmaturebehavior,bothtechnical
andnontechnical.IfyouhaventreadTheoschapter,Isuggestyoudo.
Havingsaidthat,whatdoesitactuallymeantobeseniorinthisdiscipline?Icertainlyhave
anopinionofwhatitmeans,giventhatImchargedwithhiring,supporting,andretaining
engineerswhomaredeemedtobesenior.Thisnotionthatthereisabartobepassedin
termsofcareerdevelopmentisagoodone,butIdalsoaddthatthesecriteriaexistona
spectrum,asopposedtoasimplelistofcheckboxes.Youdontwakeuponedayandyouare
seniorjustbecauseyourtitlereflectsthatuponapromotion.Seniorengineersdontknow
everything.Theyrenotperfectintheirtechnicalknowledge,andtheyreOKwiththat.
Inordernottoconfusetitleswithexpectationsthatarefuzzy,sometimesIllreferto
engineeringmaturity.
Meaning:Iexpectaseniorengineertobeamatureengineer.
Imgoingtoglossoverthepartwhereonecouldsimplylistthetechnicalareasinwhicha
matureengineershouldhavesomelevelofmasteryorunderstanding(suchas
Networking,Filesystems,Algorithms,etc.)andinsteadhighlightthepersonal
WebOperations(http://www.amazon.com/WebOperationsKeepingDataTime/dp/1449377440)
-
characteristicsthatinmymindgivemeindicationthatsomeonecaninfluencean
organizationorabusinesspositivelyinthedomainofengineering.
OveronQuora,someoneonceaskedme
.ThelistofattributesthatImentionedintheanswercamewiththeunderstandingthatthey
areperpetualaspirationsofmyown.Thispostissimilartothatanswer.
Imightfirstarguethatseniorengineersinwebdevelopmentandoperationshavethesame
characteristicsasseniorengineersinotherfieldsofengineering(mechanical,electrical,
chemical,etc.)inwhichcase
areapplicable.Again,ifyouhaventreadthis,pleasegodoso.Itwasoriginallywrittenin
1944,publishedbythe .
Agoodexcerptfromthebookis
.
Whilethebooksstructureandprosestillhasadatedfeel(refrainfromusingprofanity
intheworkplaceormenshouldpayparticularattentiontoshavinghabitsandthe
trimmingofbeardsandmustaches),itgivesagoodoutlineofthenontechnical
expectations,responsibilities,andinnerworkingsofanengineeringorganizationwith
respecttohowbothmanagersandmatureengineersmightbehave.
ObligatoryPithyCharacteristicsofMatureEngineersAllpoststhatattempttogiveinsighttoaspirationalcharacteristicsmusthaveanover
abundanceofbulletpoints,andthefieldofengineeringhasafairshareofthem.Therefore,
Imgoingtogiveyousome,somemineandsomepulledfromvarioussources,manyfrom
theUnwrittenLawsmentionedabove.
Matureengineersseekoutconstructivecriticismoftheirdesigns.
Whataretheattributes(otherthantechnicalability/experience)thatmakesagreatVPofTechnicalOperations?(http://www.quora.com/JohnAllspawWhataretheattributesotherthantechnicalabilityexperiencethatmakeagreatVPofTechnicalOperations)
TheUnwrittenLawsofEngineering(http://www.amazon.com/UnwrittenLawsEngineeringRevisedUpdated/dp/0791801624)
AmericanSocietyofMechanicalEngineers(http://www.asme.org/)
here(http://www.kitchensoap.com/2012/08/07/humanfactorsandwebengineeringsintersection/)
-
EverysuccessfulengineerIvemet,uponfinishingupadesignorgettingreadyforaproject,
willcontinuallyasktheirpeersquestionsalongthelinesof:
WhatcouldIbemissing?
Howwillthisnotwork?
Willyoupleaseshootasmanyholesaspossibleintomythinkingonthis?
Evenifitstechnicallysound,isitunderstandableenoughfortherestofthe
organizationtooperate,troubleshoot,andextendit?
Thisisbecausetheyknowthatnothingtheymakewilleveronlybeintheirhands,andthat
goodpeerreviewiswhatmakesbetterdesigndecisions.Asitsbeensaidelsewhere,they
begforthebadnews.
Matureengineersunderstandthenontechnicalareasofhowtheyare
perceived.
BeingabletowriteaBloomFilterinErlang,orwritemultithreadedCinyoursleepis
insufficient.Noneofthatmattersifnoonewantstoworkwithyou.Matureengineersknow
thatnomatterhowcomplete,elegant,orsuperiortheirdesignsare,itwontmatterifnoone
wantstoworkalongsidethembecausetheyare
.Condescension,belittling,narcissism,andegoboostingbehaviorsendthemessageto
otherengineers(maybetacitly)tostayaway.Partofbeinghappyinengineeringcomesfrom
enjoyingthecompanyofthepeopleyouworkwithwhiledesigningandbuildingthings.An
engineerwhoisquicktocallsomeoneamoronissomeonedestinedtostunthisorher
career.
Thisalsomeansthatmatureengineershaveselfawarenesswhenitcomestotheir
communication.Thisisnttosaythateverymatureengineercommunicatesperfectly,only
thattheyhavesomenotionaboutwheretheycouldbebetter,andcontinuallyaskforagut
checkfrompeersandmanagersonhowtheyredoing.Theyaimtobeassertive,notpassive
oraggressiveinhowtheygettheirideasacross.
Ive ,
butImustemphasizethepointmore:thedegreetowhichotherpeoplewanttoworkwith
youisadirectindicationonhowsuccessfulyoullbeinyourcareerasanengineer.Bethe
engineerthateveryonewantstoworkwith.
assholes(http://www.amazon.com/TheAssholeRuleCivilizedWorkplace/dp/0446526568)
mentioneditelsewhere(http://www.agileweboperations.com/devopsthesesoftparts)
-
Nowthisisnttosaythatyoushouldshyawayfromgiving(orgetting)constructivecriticism
ontheworkproducedbyengineering(asopposedtotheengineerpersonally),forfearof
pissingsomeoneoff.Theresadifferencebetweencallingsomeoneamoronandpointing
outfaultsintheircodeorproduct.InaconversationwithTheo,hepointedoutanother
possibleareawhereourfieldmaygrowup:
Weasanindustryneedto(ofcourse)refrainfromcritiquesofhumancharacterand
condition,butnotshyawayfromcritiquesofworkproduct.Weneedtogettougherskin
andbeabletoreceivecritiquethroughalensthatattemptstoeliminatepersonalfocus.
Therewillbeassholes,theyshouldbeshunned.Buttheattitudethatsomeonescodeis
theirbabyshouldcometoanend.Codedoesnthavefeelings,doesntdevelopcomplexes
andcertainlydoesntexhibitthemostimportanttrait(theabilitytoreproduce)ofthat
whichcarriesforyourgeneticstrains.
Seealsobelow#2and#10inTheTenCommandmentsofEgolessProgramming.
IthinkthishasacorollaryfromtheUnwrittenLaws(emphasismine):
Becarefulaboutwhomyoumarkforcopiesofletters,memos,etc.,whentheinterestsof
otherdepartmentsareinvolved.
Alotofmischiefhasbeencausedbyyoungpeoplebroadcastingmemorandum
containingdamagingorembarrassingstatements.Ofcourseitissometimes
difficultforanovicetorecognizethedynamiteinsuchadocumentbut,ingeneral,itis
apttocausetroubleifitstepstooheavilyuponsomeonestoesorrevealsaserious
shortcomingonanybodyspart.Ifithaswidedistributionorifitconcernsmanufacturing
orcustomerdifficulties,youdbettergetthebosstoapproveitbeforeitgoesoutunless
youreverysureofyourground.
Thisofcourseunderscoresthedatedfeelofthebook,butinthemodernera,Istillbelieve
themainpointtobetrue.Nothingindicatesthatyouhavealackofperspectiveand
awarenesslikeapoorlythoughtoutandnonconstructivetweetthatslingsvenomousinsults.
Itsajuniorengineermistaketotossinsultsaboutapieceofcomplextechnologyin140
characters.
-
Icertainly(
)payattentiontothosesortsofpublicremarkswhenIcomeacrossthemsothatIcannote
whoIwouldreconsiderhiringiftheyeverappliedtoworkatEtsy.
Matureengineersdonotshyawayfrommakingestimates,andarealways
tryingtogetbetteratit.
FromtheUnwrittenLaws:
Promises,schedules,andestimatesarenecessaryandimportantinstrumentsinawell
orderedbusiness.Manyengineersfailtorealizethis,orhabituallytrytododgethe
irksomeresponsibilityformakingcommitments.Youmustmakepromisesbasedupon
yourownestimatesforthepartofthejobforwhichyouareresponsible,togetherwith
estimatesobtainedfromcontributingdepartmentsfortheirparts.Nooneshouldbe
allowedtoavoidtheissuebytheoldformula,Icantgiveapromise
becauseitdependsuponsomanyuncertainfactors.
Avoidingresponsibilityforestimatesisanotherwayofsaying,Imnotreadytoberelied
uponforbuildingcriticalpiecesofinfrastructure.Allbusinessesrelyonestimates,andall
engineersworkingonaprojectareinvolvedin
,which
meansthattheyhavearesponsibilitytootherstomakethemselvesinterpredictable.In
general,matureengineersarecomfortablewithworkingwithinsomenonzeroamountof
uncertaintyandrisk.
Matureengineershaveaninnatesenseofanticipation,eveniftheydontknow
theydo.
Thiscodelooksgood,Improudofmyself.Iveaskedotherpeopletoreviewit,andIve
takentheirfeedback.Now:howlongwillitlastbeforeitsrewritten?Onceitsinproduction,
howwillitsexecutionaffectresourceusage?HowmuchsoIexpect
CPU/memory/disk/networktoincreaseordecrease?Willothersbeabletounderstandthis
code?AmImakingitaseasyasIcanforotherstoextendorintrospectthiswork?
Matureengineersunderstandthatnotalloftheirprojectsarefilledwith
rockstaronstagework.
muchlikeChristopherBrownmentionedinhiskeynoteatVelocityLondon(http://www.youtube.com/watch?v=veumR8l07uc)
JointActivity(http://www.kitchensoap.com/2012/03/30/thedevilsinthedetails/)
-
Howevermenialandtrivialyourearlyassignmentsmayappear,givethemyourbest
effort.
Gettingthingsdonemeansdoingthingsyoumightnotbeinterestedin.Nomatterhowsexy
aprojectis,therearealwaysboringtasks.Tedioustasks.Tasksthatalessmatureengineer
maydeembeneaththeirdignityortheirjobtitle.MygoodfriendKellanElliotMcCrea
(EtsysCTO)hadthistosayaboutit:
Sometimesthesavinggraceofatedioustaskistheirsimplicityandmaturitymanifests
infinishingthemquicklyandmovingon.Sometimestasksaretediousbecausethey
requireextremedisciplineandmalleableattentionspan.Itsanoddphenomenathatthe
mosttedioustasks,onlytobecarriedoutbythemostseniorengineers,canalsobethe
mostterrifying.
Matureengineerslifttheskillsandexpertiseofthosearoundthem.
Theyrecognizethatatsomepoint,theirindividualcontributionandpotentialcannotbe
exercisedsingularly.Theyrecognizethatthereisonlysomuchthatcanbeproducedbya
singleperson,andtheworldsbestengineeringfeatsareexecutedbyteams,notsingularly
brilliantandloneengineers.TomLimoncellimakesthispointquitewellinhis
.
AtEtsywecallthisagenerosityofspirit.Generosityofspiritisoneofourcoreengineering
values,butalsoaprimaryresponsibilityofourStaffEngineerposition,acareerlevel
position.Theseengineersspendthetimetomakesurethatmorejuniorornewengineers
unfamiliarwiththetechorprocesseswehavenotonlyunderstandwhattheyaredoing,but
alsowhytheyaredoingit.Teachingtofishisamandatoryskillatthislevel,andthat
requireshavingbothpatienceandaperspectiveofinvestmentintherestofthe
organization.
Thereforeinsteadof:OK,moveover,lemmejustdoitforyou,itsinstead:Ok,letswork
onthistogether.IcanshowyouhowImwriting/troubleshooting/etc.Then,youdoitsoI
canbesureyouknowwhy/howweredoingitthisway,etc.
Related:seebelowaboutgettingcredit.
Matureengineersmaketheirtradeoffsexplicitwhenmakingjudgementsand
decisions.
post(http://everythingsysadmin.com/2012/09/seniorsysadmins.html)
-
Theyrealizeallengineeringdecisions,implementations,anddesignsexistwithina
spectrumwedonotliveinabinaryworld.Theycanquicklypointoutcontextswhereone
successfulapproachorsolutioncouldworkandwhereitcouldnot.Theyknowthatone
cannotbebothefficientandthoroughatthesametime(
),thatmostprojectsengineersworkonexistonanaxisofoptimalityandbrittleness,
andthatwhethertheproblemstheyaresolvingareacuteorchronic.
Theyknowthattheyworkwithinaspectrumofidealandnonideal,andareOKwiththat.
Theyarecomfortablewithitbecausetheystrivetomaketheidealandnonidealinadesign
explicit.Lateroninthelifecycleofadesign,whentheoriginaldesignisnotscalinganymore
orneedstobereplacedorrewritten,theycanlookbacknotwithaperspectiveofhowshort
sightedthoseearlierdecisionswere,butinsteadsayyep,wemadeitthisfarwithitand
knewwedhavetoextendorchangeitatsomepoint.Lookslikethattimeisnow,letsgetto
work!insteadofrespondingwithacrankypants,
HindsightBiasfilledremarkwithcounterfactuals(e.g..thoseidiotsdidntdoitrightthe
firsttime!,theycutcorners!,ITOLDthemthiswouldntwork!)
Manypithyquotesexistthatshinelightonthisnotionoftradeoffs,andmatureengineers
knowthattherearelimitstoanyphilosophyladenquotes(includingtheonesImwriting
here):
Prematureoptimizationistherootofallevil.averyabusedmaxim,andIvewritten
aboutitbefore(http://www.kitchensoap.com/2008/08/24/everythingisntaboutthe
knuthquote/).Acorollarytothatmightbe(takenfromhere
(http://omniti.com/seeds/dissectingtodaysinternettrafficspikes))Understanding
whatisandisntprematureiswhatseparatesseniorengineersfromjunior
engineers.
Righttoolforthejobanotherabusedone.Theintentionhereisreasonable:who
wantstouseatoolthatisntappropriate?Butarareperspectiveisthatthiscanbe
detrimentalwhentakentotheextreme.Acarpenterdoesntarmhimselfwithevery
variationandsizeofhammerthatisavailable,eventhoughthemayencounter
hammeringtasksthatcouldbeideallyhandledbyeachone.Why?Becauselugging
TheETTOPrinciple(http://www.namahn.com/resources/interview/erikhollnagelbirdsdoit)
passiveaggressive(http://talkingshrimp.com/waysbepassiveaggressiveessentialpocketguide)
-
around(andmaintaining)agazillionhammersincursacost.Assuch,decisionsonthis
axishavetradeoffs.
Thetldrontradeoffsisthateveryonecutscorners,ineveryproject.Immatureengineers
discovertheminhindsight,disgusted.Matureengineersspellthemoutattheonsetofa
project,acceptthemandrecognizethemaspartofgoodengineering.
(Related:
)
MatureengineersdontpracticeCYAE(CoverYourAssEngineering)
Thescenariowheresomeonewillstandonceremonyasanexcusefornotattemptingto
understandhowhisorhercode(orinfrastructure)couldbetouchedbyotherpartsofthe
systemorbusinessisalosingproposition.
sendstheimplicit
messagethatyouaresomeonewillingtothrowothers(onyourteam?inyourcompany?in
yourcommunity?)undertheproverbialbusatthemerehintthatyourworkhadanyflaw.
Matureengineersstandupandaccepttheresponsibilitygiventothem.Iftheyfindthey
donthavetherequisiteauthoritytobeheldaccountablefortheirwork,theyseekoutways
torectifythat.
AnexampleofCYAEisItsnotmyfault.Theybrokeit,theyuseditwrong.Ibuiltittospec,
Icantbeheldresponsiblefortheirmistakesorimproperspecification.
Matureengineersareempathetic.
Incomplexprojects,thereareusuallyanumberofstakeholders.Inanyproject,the
designers,productmanagers,operationsengineers,developers,andbusinessdevelopment
folksallhavegoalsandperspectives,andmatureengineersrealizethatthosegoalsand
viewsmaybedifferent.Theyunderstandthissothattheycannavigateeffectivelyinthe
workthattheydo.Beingempatheticinthissensemeanshavingtheabilitytoviewthe
projectfromanotherpersonsperspectiveandtotakethatintoconsiderationintoyourown
work.
Goalconflictsareinherentinallengineeringwork,andcomplainingaboutthem(insteadof
embracingthemasrequirementsforsuccess)isasignofalessmatureengineer.
YourCodeMayBeElegant,ButMineFuckingWorks(http://omniti.com/seeds/yourcodemaybeelegant)
Coveringyourass(http://en.wikipedia.org/wiki/Cover_your_ass)
-
Theydontmakeemptycomplaints.
Instead,theyexpressjudgementsbasedonempiricalevidenceandbringwiththose
judgementsoptionsforsolvingtheproblemwhichtheyveidentified.Agreatmanagerof
minesaidtonevergotoyourbosswithacomplaintaboutanythingwithoutatleastone
(ideallymorethanone)suggestionforasolution.Evendemonstratingthatyouvetried
workingtheproblemonyourownandcameupemptyhandedisbetterthananempty
complaint.
Matureengineersareawareofcognitivebiases
Thisisnttosaythateverymatureengineerneedstohaveadegreeinpsychology,but
cognitivebiasesarewhatcanlimitthegrowthofanengineerscareeratacertainpoint.
Eveniftheyrenotawareofthedetailsofhowtheyappearorhowthesebiasescanbe
guardedagainst,mostmatureengineersIknowhavealevelofselfawarenesstoatleast
recognizethey(likeeveryone)aresusceptibletothem.
Culturally,engineersworkdaytodayinempiricalevidenceinresearch.Basically:showme
thedata.Theissuewithcognitivebiasesisthatwecanbeblissfullyunawareofwhenweare
interpretingdatawithourownbrainsinwaysthatdefyempiricaldata,andcanhavea
surprisingeffectonhowwegetworkdoneandworkonteams.
Agreatlistofthemexistson
,butsomeoftheones
thatIveseenengineers(includingmyself)fallpreytoare:
SelfServingBias(http://en.wikipedia.org/wiki/Selfserving_bias)basically:if
somethingisgood,itsprobablybecauseofsomethingIdidorthoughtof.Ifitsbad,its
probablythedoingofsomeoneelse.
FundamentalAttributionError
(http://www.kitchensoap.com/2012/09/10/fundamentalstressstraincurvesinweb
engineering/)basically:thebadresultsthatsomeoneelsegotfromhisworkmusthave
somethingtodowithhowheis,personally(stupid,clumsy,sloppy,etc.)whereasifIget
badresults,itsbecauseofthecontextthatIwasin,thepressureIwasunder,the
situationIwasin,etc.
HindsightBias(http://en.wikipedia.org/wiki/Hindsight_bias)(itissaidthatthisis
themoststudiedphenomenoninthehistoryofmodernpsychology)basically:afteran
Wikipedia(http://en.wikipedia.org/wiki/List_of_cognitive_biases)
-
untowardornegativeevent(aseverebug,anoutage,etc.)Iknewitallalong!.Itisthe
verystrongtendencytoviewthepastmoresimplythanitwasinreality.Youcantell
thereisHindsightBiasgoingonwhendescriptionsinvolvecounterfactuals,orthey
shouldhave,orhowdidtheynotseethat,itssoobvious!.
OutcomeBias(http://en.wikipedia.org/wiki/Outcome_bias)likeabove,thiscomesup
afterasurprisingornegativeevent.Iftheeventwasverydamaging,expensivetoclean
up,orsevere,thenthedecisionsoractionsthatcontributedtothateventarejudgedto
beverystupid,reckless,ornegligent.Thejudgementisproportionaltohowseverethe
eventwas.
PlanningFallacy(http://en.wikipedia.org/wiki/Planning_fallacy)(relatedtothepoint
aboutmakingestimatesunderuncertainty,above)basically:beingmoreoptimistic
aboutforecastingthetimeaparticularprojectwilltake.
Thereareplentyofothers,allofwhichIfindpersonallyfascinatingandIcangetlostin
learningmoreaboutthem.Highlysuggestedreading,ifyoureatallinterestedinlearning
abouthowyoumightbelimitingyourowneffectiveness.
TheTenCommandmentsofEgolessProgrammingAppropriate,evenifoldIveseenitreferencedascomingfrom
,writtenin1971,butIdontactuallyseeitinthetext.Regardless,hereareTheTen
CommandmentsofEgolessProgramming,foundon
sblog
onreceivingadvicefromhisdad:
1. Understandandacceptthatyouwillmakemistakes.Thepointistofindthem
early,beforetheymakeitintoproduction.Fortunately,exceptforthefewofus
developingrocketguidancesoftwareatJPL,mistakesarerarelyfatalinourindustry.We
can,andshould,learn,laugh,andmoveon.
2. Youarenotyourcode.Rememberthattheentirepointofareviewistofind
problems,andproblemswillbefound.Donttakeitpersonallywhenoneisuncovered.
(Allspawnoterelated:seebelow,number#10,andthepointsTheomadeabove.)
ThePsychologyofComputerProgramming(http://www.amazon.com/exec/obidos/ASIN/0932633420)
@wyattdanger(https://twitter.com/wyattdanger)post(http://blog.stephenwyattbush.com/2012/04/07/dadandthetencommandmentsofegolessprogramming)
-
3. Nomatterhowmuchkarateyouknow,someoneelsewillalwaysknow
more.Suchanindividualcanteachyousomenewmovesifyouask.Seekandaccept
inputfromothers,especiallywhenyouthinkitsnotneeded.
4. Dontrewritecodewithoutconsultation.Theresafinelinebetweenfixingcode
andrewritingcode.Knowthedifference,andpursuestylisticchangeswithinthe
frameworkofacodereview,notasaloneenforcer.
5. Treatpeoplewhoknowlessthanyouwithrespect,deference,andpatience.
Nontechnicalpeoplewhodealwithdevelopersonaregularbasisalmostuniversally
holdtheopinionthatweareprimadonnasatbestandcrybabiesatworst.Dont
reinforcethisstereotypewithangerandimpatience.
6. Theonlyconstantintheworldischange.Beopentoitandacceptitwitha
smile.Lookateachchangetoyourrequirements,platform,ortoolasanewchallenge,
ratherthansomeseriousinconveniencetobefought.
7. Theonlytrueauthoritystemsfromknowledge,notfromposition.Knowledge
engendersauthority,andauthorityengendersrespectsoifyouwantrespectinan
egolessenvironment,cultivateknowledge.
8. Fightforwhatyoubelieve,butgracefullyacceptdefeat.Understandthat
sometimesyourideaswillbeoverruled.Evenifyouareright,donttakerevengeorsay
Itoldyouso.Nevermakeyourdearlydepartedideaamartyrorrallyingcry.
9. Dontbethecoderinthecorner.Dontbethepersoninthedarkofficeemerging
onlyforsoda.Thecoderinthecornerisoutofsight,outoftouch,andoutofcontrol.
Thispersonhasnovoiceinanopen,collaborativeenvironment.Getinvolvedin
conversations,andbeaparticipantinyourofficecommunity.
10. Critiquecodeinsteadofpeoplebekindtothecoder,nottothecode.As
muchaspossible,makeallofyourcommentspositiveandorientedtoimprovingthe
code.Relatecommentstolocalstandards,programspecs,increasedperformance,etc.
NovicesversusExpertsNowIgenerallydontfollowtoomuchonknowledgeacquisitionasaresearchtopic,butIdo
believeitshardtogetawayfromwhentalkingabouttheevolvingnatureofadiscipline.One
bitofinterestingbreakdowncomesfroma
-
calledAFiveStageModeloftheMentalActivitiesInvolvedinDirectedSkillAcquisition
whichhaslaidoutcharacteristicsofvariouslevelsofexpertise:
Novice
Rigidadherencetorulesorplans
Littlesituationalperception
No(orlimited)discretionaryjudgment
AdvancedBeginner
Guidelinesforactionbasedonattributesandaspects,whichareallequaland
separate
Limitedsituationalperception
CompetentConsciousdeliberateplanning
Standardizedandroutineprocedures
Proficient
Seessituationsholisticallyratherthanasaspects
Perceivesdeviationsfromnormalpatterns
Usesmaximsforguidance,whosemeaningsarecontextual
Expert
Nolongerreliesonrules,guidelinesormaxims
Intuitivegraspofsituations
Analyticapproachusedonlyinnovelsituations
Thepapergoesontostate:
Novicesoperatefromanexplicitrulesandknowledgebasedperspective.Theyare
deliberateandanalytical,andthereforeslowertotakeaction,theydecideorchoose.
(whichmeansthatnovicesaredeeplysubjecttolocalrationality)
Expertsoperatefromamature,holisticwelltriedunderstanding,intuitivelyand
withoutconsciousdeliberation.Thisisafunctionofexperience.Theydonotsee
problemsasonethingandsolutionsasanother,theyact.
(whichmeansthatexpertsarecontextdriven)
paperfromDreyfusandDreyfus(http://www.dtic.mil/cgibin/GetTRDoc?AD=ADA084551&Location=U2&doc=GetTRDoc.pdf)
-
Idontnecessarilysubscribetothenotionofsuchdrylinesbeingdrawnbetweenskilllevels,
becauseIthinkthatthereisalotmoregranularityandfacetsofexpertisethanjustthose
outlinedabove,butIthinkitshelpfultobeawareoftheunfortunatelyoversimplified
categories.
Dirtysecret:matureengineersknowtheimportanceof(sometimesirrational)feelingspeoplehave.(gasp!)Howpeoplefeelabouttechnologies,technicaldecisions,andtechnicaldirectionsisjustas
important(ifnotmore)thanthefactsaboutthedetails.Matureengineersknowthis,and
adjustaccordingly.Again,beingempatheticcanhelpyouunderstandhowanotherperson
onyourteamfeelsaboutatechnicaldecision,eveniftheythemselvesdonthaveaneasy
timearticulatingwhytheyfeelthatway.
Peoplesconfidenceinsoftware,architectures,orpatternsisheavilyinfluencedbypast
experience,andcanresultinpositiveornegativereactionstousingthem.Usedtoworkata
mod_perlshopthathadalotofmystifyingoutages?Thenyoucantbesurprisedtofeel
reluctanttouseitinadifferentcompany,evenifthesupportingexpertiseandusecasesare
entirelydifferent.Allyourememberisthatmod_perl=majorheadaches,soyouregoingto
bewaryofusingitinanycontextagain.
Matureengineersunderstandthisphenomenonwhenmakingacasetousetechnologythat
carriesbaggage,evenifitsirrational.Convincingagrouptousetoolsandpatternsthatthey
arentcomfortablewithisntastraightforwardtask.Therighttoolforthejobmaximalso
has(sometimesunquantifiable)comfortabilityasaparameter.
Foranillustrationofhowpeoplesemotionsdrivetechnicaldecisionsandopinions,read
anyflamewaraboutanything,ever.
Itisamazingwhatyoucanaccomplishifyoudonotcarewhogetscredit.ThisquoteiscommonlyattributedtoHarryS.Truman,butitlookslikeitmighthavefirst
beensaidbyaJesuitpriestinadifferentform.Inanycase,thisisanotherindicationyoure
workingwithamatureengineer:theyholdthesuccessoftheprojectmuchhigherthanthe
-
potentialpraisetheymaygetpersonallyforworkingonit.Theattributionofpraiseorcredit
canbethesourceofsuchdysfunctioninanengineeringdrivenorganization,andIbelieve
itsbecauseitslargelyinvisible.
Thenotionisliberating,andonceunderstoodandinternalized,aworldofprogressand
innovativethinkingcanflourish,becausetheengineerisntoverlyconcernedwiththe
personalliabilityofequatingtheworktotheirowncareersuccess.
NotTheEnd
ImatthemomentblessedtoworkwithanumberofmatureengineershereatEtsy,andits
quitehumbling.Weareindeedayoungfield,andwhileIthinkwecanlearnagreatdeal
fromotherfieldsofengineeringonthistopic,Ialsothinkwehaveanadvantage.Thewebis
inextricablytiedtothenotionofpublishingandsharinginformation,globally.Weneedto
continuepointingoutwhatitmeanstobeaseniorandmatureengineerifwehavea
hopeofprogressingthefieldintoatruediscipline.
ManythankstomembersoftheEtsyOperationsteam,MikeBrittain,KellanElliott
McCrea,MarcHedlund,andTheoSchlossnagleforreviewingdraftsofthispost.Theyall
makemeamorematureengineer.
2,267peoplelikethis.Bethefirstofyourfriends.Like
Sharestory
1 >
(http://www.kitchensoap.com/2012/09/21/amatureroleforautomationparti/) AMatureRoleforAutomation:PartI
. (http://www.kitchensoap.com/2013/01/03/availabilitynuanceasaservice/)Availability:NuanceAsAService
.
-
127Comments
Pingback:Youreaseniorengineer.Nowwhat?|AssociativeDisarray(http://www.jochenlillich.de/2013/06/seniorengineer/)
(http://www.kitchensoap.com/author/admin/)Ilikemakingthingsgo!Atthemoment,I'mSVPofInfrastructureand
OperationsatEtsy,andI'mcurrentlypursuingaMaster'sdegreeinHuman
FactorsandSystemsSafetyatLundUniversity.
Ithinkthereisoneaspecttotallyignoredhere:thereisanoptimalratioforsenior/novicetobeconsidered.
Inaprojectaseniorcontributioncanbedilutedbothbynovicesandotherseniors(butnoviceonthatproject).
EduardFlorinescu2yearsago
ThanksforthecommentEduardo!
Youtouchedoncollaboration:isitdilutionofseniorcontributiontoaproject,orprovidingamatureengineerwithanopportunitytolifttheexpertiseofanoviceengineer?
allspaw2yearsago Author
@allspawThinkingmoreaboutit,botheffectivecontributionandmentoringaredesirablewithinaproject,andaseniormanagerwouldprobablyrecognizementoringatleastasvaluableaseffectivetechnicalwork.
EduardFlorinescu2yearsago
Thosearesomeawesomethoughtsindeed.Yourememberedmeofmybosswhoneverforgottotellmetheauthoritiesaseniorengineerhas.
Engineer(http://www.voiceofengineers.com/)2yearsago
-
Pingback:OnBeingASeniorEngineerjondavidjohn.com(http://jondavidjohn.com/blog/2012/10/onbeingaseniorengineer)
Pingback:ABriefHistoryOf'My'TimeListofBlogs/Posts/Videos/Podcasts/Other(http://blog.garoevans.com/2013/09/04/listofblogspostsvideospodcastsother/)
Pingback:TheInternetFishingTrawler:FoodForThoughtEdition|BedeCarroll(http://www.bedecarroll.com/2013/11/04/theinternetfishingtrawleredition/)
Pingback:OnTheEmperorsOldClothescoopyoncode(http://coopyoncode.com/2014/01/07/journalclub/ontheemperorsoldclothes/)
Pingback:Divingbackinmaybe|(http://houseofmallet.com/?p=8)
Pingback:Fourshortlinks:21January2014O'ReillyRadar(http://radar.oreilly.com/2014/01/fourshortlinks21january2014.html)
Whatyoudescribeisatthelevelofjuniorengineerorcollegestudent.Aseniorengineershouldalreadyhaveaproperintuitionandconfidencethattranscends,ifyouwill,whatyouvewritten.Youneedtoreevaluateyourstandards.Aseniorengineerdoesntfollowrules(norshouldajuniorengineer,butthekeyhereisthatthetransgressionisfarworseforasocalledseniorengineertocommit).Hereasonsandreasonsfromexperiencewhichincludesknowingthenatureofexperienceandwhatcanbeknownfromit.Heshouldhaveagreaterwisdomaboutthings,attheveryleastconcerninghisfield.Thesadtrendintheseblogsisthisruleposturingwhichistheantithesisofwisdom.Therearenoshortcutstowisdom.Rulescanneverofferthat.Infact,therulementalityispotentiallyyourworstenemyandcanimpedethenaturalprogressiontowardsreasonedexperience.Thisisequallytrueforlifeingeneral,notjustthesmallandrelativelyminorpieceofitwhichinthiscaseisyourengineeringtrade.
BobtheChefaboutayearago
Bob:Imwonderingifyoureadthepiece.Withrespecttorules,IagreewiththeviewpointofDreyfusandDreyfus,whichsaysthatexperts:Nolongerreliesonrules,guidelinesormaxims
Idonotdisagreewithanythingthatyouvewritteninyourcomment.WouldliketohearmoreonhowyoudisagreewithwhatIvewrittenhere.
allspawaboutayearago Author
Thisisagreatarticle.Asajuniorengineer(andtransplantfromtheastrophysicscommunity),Ifoundthishelpfulasasortofgeneralguideformyownpersonalgrowth.TherewereseveralofthepointswhereIgotexcitedthatIwasalreadymovinginthatdirection(withplentyofopportunitytocontinuetogrow).
Randyaboutayearago
-
Pingback:Challengethenormsofwork:DaveZwieback,VPEngineeringatNextBigSound|popforms(https://popforms.com/leaderdavezwieback/)
Pingback:Responsibility|Ben.geek.nz(http://www.ben.geek.nz/2014/02/responsibility/)
Pingback:KitchenSoapEngineeringsRelationshipToScience(http://www.kitchensoap.com/2014/05/05/engineeringsrelationshiptoscience/)
Pingback:165RRSystemsProgrammingTrickswithJuliaEvans(http://rubyrogues.com/165rrsystemsprogrammingtrickswithjuliaevans/)
Pingback:ProfessionalDevelopment2014Week45(http://www.geoffmazeroff.com/2014/11/10/professionaldevelopment2014week45/)
@Bob,@allspaw:
Letslookatadefinitionofarule:oneofasetofexplicitorunderstoodregulationsorprinciplesgoverningconductorprocedurewithinaparticularareaofactivity(https://www.google.co.uk/search?q=define+rule(https://www.google.co.uk/search?q=define+rule)assumingyouwerenottalkingaboutBritishroyalty).
Now,thatsurelycannotbethedefinitionofruleswewantourseniorengineertobefreeofsurelywewantthemtoobeythesyntaxoftheirprogrammingandnaturallanguages,nottomurdertheircolleaguesduringheatedmeetingsandflushthetoilet.
Regardless,letstrytoinferthemeaningofrulesfromitsutilitytodistinguishbetweenjuniorandseniorengineers.Ifyouareajuniorengineerandstopfollowingrules,doyoubecomemoresenior?Ifsomeoneisnotfollowingrules,isitagoodindicatoroftheirseniority?Hmmm,no,Icannotcomeupwithanyusefuldefinition.
Iswisdomtodecidewhentobreakwhatrulesthesilverbullettoaspireforifyouareajuniorengineer?Tolookforwhenyouarehiring?Whatshouldyoulook(listen,smell,)forwhenyouwanttoincreaseyourwisdom?Isitjusttime,so50yearoldengineerisalwaysmoreseniorthan30yearold?Oriswisdomapropertyofthesoulandcannotbeindicatedbyanyrationalrules,soalltrainingeffortsaswellashiringguidelinesareapriorydoomedtofail?
No.Ibelieveyour(dis)agreementisincomprehensibleandwhatisworse,impractical.Thearticleillustratesvariousaspectsofseniorityinengineeringverynicelyandnotranscendentalcommentswillmakethetraining/hiringdecisionsanyeasier.
PeterHozkaboutayearago
IstillreferencethistopeoplewhenIexplaintothemwhatitreallymeanstobecomeaSeniorDeveloper.Thereissomuchmorethancodeinvolvedwithleadingprojectsandthisarticlecoversitsonicely.Icantsayenoughabouthowimportantthehumaninteractioniswhenbeingaprojectlead.
BlaineHatab2monthsago
-
OlderComments(http://www.kitchensoap.com/2012/10/25/onbeingaseniorengineer/commentpage2/#comments)
Name* Email*
Pingback:TheEngineerandtheCraftsman|inso(http://inso.cc/2015/02/11/theengineerandthecraftsman/)
Pingback:ProfessionalDevelopment2015Week8(http://www.geoffmazeroff.com/2015/02/23/professionaldevelopment2015week8/)
Pingback:1pOnBeingaSeniorEngineer|blog.offeryour.com(http://blog.offeryour.com/?p=26477)
Pingback:BookmarksforMarch16th|Chris'sDigitalDetritus(http://chris.cothrun.com/2015/03/16/bookmarksformarch16th10/)
LeaveaReply
Website
Comment
Greatarticle!Mostofyouradviceseemsquiterelevantforanyseniorposition,butasImstartingmyEEdegreeinthefall,itsnicetohavesomecommentaryspecifictotheworkenvironmentIwilllikelyendupin.Thanksforthearticle!
Sarah2monthsago
sorryman,igotterriblyboredbeforeyouevenbegantoexplainyourphilosophy.youllprobablythinkidonthavethematurityandseniorityandimlookingforinstantgratificationbutifyousendmetoread5papersbeforeevenstartingthenhavelongdetoursbeforesayinganythingrelevant,youmustunderstandthatidontwannawastemytimereadingsomethingsounpromising
anon11daysago
-
PostComment
RecentPosts
Stress,Strain,andReminders(http://www.kitchensoap.com/2015/02/02/stressstrainandreminders/)TheInfiniteHows(or,theDangersOfTheFiveWhys)(http://www.kitchensoap.com/2014/11/14/theinfinitehowsorthedangersofthefivewhys/)TranslationsBetweenDomains:DavidWoods(http://www.kitchensoap.com/2014/08/30/translationsbetweendomainsdavidwoods/)TeachingEngineeringAsASocialScience(http://www.kitchensoap.com/2014/08/27/teachingengineeringasasocialscience/)EngineeringsRelationshipToScience(http://www.kitchensoap.com/2014/05/05/engineeringsrelationshiptoscience/)ParadigmCheckPoint:PrefacingDebriefings(http://www.kitchensoap.com/2014/03/19/paradigmcheckpointprefacingdebriefings/)
Copyright2015ThemedesignbytheBluthCompanywww.bluth.is