Managing Developers How not to suck.docx
《Managing Developers How not to suck.docx》由会员分享,可在线阅读,更多相关《Managing Developers How not to suck.docx(12页珍藏版)》请在冰豆网上搜索。
ManagingDevelopersHownottosuck
ManagingDevelopers–Hownottosuck
Contents
YourJobisNOTTellingPeopleWhatTo Do1
DealingwiththeTeam Genius2
Don’tforgetwhatit’sliketobe 105
Thewordyouarelookingforis “People”…6
StatusReportsSuckandEverybodyHates Them7
AllDevelopersShallHaveGood Equipment10
YourJobisNOTTellingPeopleWhatTo Do
with11comments
ThispostispartofmyseriesonManagingDevelopers–Hownottosuck
I’vehadmanypeopletellmetheywouldliketobeamanager.ThefirstquestionIaskis‘why’?
Theabsoluteworstanswerisanyvariantof‘BecauseIwanttotellpeoplewhattodo’.Theymightanswer‘SoIcanhavedirectinfluenceovertheteam.’,or‘SoIcanprovidedirectleadership’.
Anythingremotelylike‘becauseIwanttotellpeoplewhattodo’isthewronganswer.Thesepeoplearenotreadytobemanagers–theyarefarfromready.Organizationsthatmakepeoplelikethismanagersaremakingahugemistake.
Yourjobasamanageristoenableyourteam.Youarepayingthemtothink,solveproblemsandgetstuffdoneontime.Letthemdoit.Yourjobisnottellingpeoplewhattodo.
Enablingyourteammeanssettingthemupforsuccess,makingsuretheydotheirbestworkwithgoodcontinuityovertime,notjustatcrunchtime,or‘whenitcounts’.Ifyouarethinking,“Yes!
Amanagersjobistomakepeopledotheirbestwork.”Thenyouarenotunderstandingthisadvice.
MerriamWebsterdefinesenablelikethis:
∙torenderableasinenableapersonto
∙givepower,strength,orcompetencyto
∙tomakepossible,practical,oreasy
∙togivetheopportunityto
Thetermmakeisdefinedlikethis:
∙tocausetoactinacertainway.Tocompel
Makingpeopledothingsistellingthemwhattodo.Enablingthemisanentirelydifferentthing.Therearelotsofwaystodothis.Icoversomeoftheminthisseriesofposts.Hereareafewinnoparticularorder
∙Don’tforgetwhatitsliketobeanindividualcontributor(post)
∙Alldevelopersshallhavegoodequipment(post)
∙Don’ttreatpeoplefungibly(post)
∙Knowwhentoshutupandjustlisten.
∙DependingonHeroicsis“EpicFail”
∙Praiseinpublic,criticizeinprivate
∙Makesurepeopleknowwhattoaccomplish,bywhenandwhat‘done’lookslike
∙Beyourteam’schampion,nottheirdefender
Thismaynotsoundtoohard.Butletmemakeitharder–youcan’tdothissometimes,likejustatcrunchtime,orjustwhenthebugcountishigh,orwhentherequirementschange.Yourjobistohelpyourpeopledelivertheirbestworkallthetime.Itsoundsimpossible,butthecloseryoucome,thebetteritisforeveryone.
Now,thisdoesn’tmeanyoucanavoidmakingdecisionsoryoucannotcorrectmistakes.Thesearebothpartofamanager’sjobandsometimespeoplewillnotlikesomeofyourdecisions,orbeingcorrected.That’sok.Thereisabigdifferencebetweenreluctantlydoingthiswhennecessary(andwithgoodreasonandexplanation)–andbeingadictator.
HereiswhatI’dlikeyoutoremember.Ifyoufeelyourroleistohelpyourteam,youareontherighttrack.Ifyoufeelavisceralneedtoorderpeopleabout,thenyouwillsuckasamanager–notmatterhowgoodyouareateverythingelse.
-Foredecker
DealingwiththeTeam Genius
with3comments
ThispostispartofmyseriesonManagingDevelopers–Hownottosuck
We’veallworkedthematonetimeoranother–theloud,opinioned,authoritative,hardworking,smartcapable,typeAdeveloper–theonethatalwaysseemstohaveanopinion…oneverything.Theguywho’scodereviewfeedbackisusuallysomethinglike‘thatcodedoesn’tlooklikemycode’.Theydudewhowrotethesuper-complex-only-he-can-understand-itcodeyourentireproductdependson.Youknow,thecodeonlyhecantouch.Thecodethathasnocommentsbecauseitsallselfdocumenting.Hetellsyouhedoesn’thavetimetowritecommentsanyway
(1).Theyguythatgetsloudandupsetatthedropofahat.Theguythathastousethemostcomplex(beautifulhesays)algorithmforeventhemostmundanetasks.Theyguythatwriteshisowndebuggerbecauseexistingonejustisn’tgoodenough.Theguythatwrotehisowndomainspecificlanguage(usingregularexpressions)becausetherewasnootherwaytosolvetheproblem.TheyguythatusesLINQexpressionsforeverythingbecausetheyare‘fluent’.Theyguythatgetsimpatientwhenotherpeoplecan’tinstantlyunderstandhiscode.Thisistheguythattofixabug,worksstraightthroughaweekendandcompletelyre-writesabigchunkofcodebecause‘thecodeneededtobere-writtenanyway.’Theguythatinsistsheistheonlyonethatseesthebigpicutre.Thisistheguythatalwaysexpectsan‘A+’performancereview–everysingletime.
Youknow–theteamgenius.
Theonlyproblemisthatheisprobablyisn’treallyagenius.Yes,heisprobablyprettysmart–andhecertainlyisloud.Yes,theteamdependsonhim,andyeshegetsalotofworkdone,andheworksalotofhours.Butmostlikelyheisreallyquitedisruptiveandinrealitynottheteamgeniusbuttheteamprimadonna.That’sagreatphrase.Itmeans:
…apersonwhofindsitdifficulttoworkunderdirectionoraspartofateam.Onewhoisimpatientofrestraintorcriticism.
Letmeaskyoutwoquestionsaboutyourteamgenius.
1.Howmuchtimedoyouandtherestofyourteamspendfeedingthegenius.
1.Whatwouldyourteamlooklikeifhequittomorrow?
Inmyexperienceteamgeniusessoakupanawfullotofotherpeople’stime.I’vespentwaytoomuchtimecajoling,soothing,arguingwith,andotherwisedealingwiththeteamgenius.Thinkaboutitthisway–comparedtootherpeopleonyourteamhowmuchtimedoyouspenddealingwiththegeniuscomparedtoothersonyourteam?
Howmuchtimedootherteammembersspenddealingwiththegenius?
Ifyourexperienceisanythinglikemine,itisdisproportionallymuchhigher.
Howmuchdoesthegeniusannoy,frustrateorsimplypissoffothersonyourteamorpeopleonanotherteam?
Howoftenhaveyouhadtosoothanotherteammemberandmakeexcusesforthegenius?
Doothersonyourteamavoidworkingwithhim?
Aretheycarefulwhattheysaytohiminmeetings?
Howaboutyourself?
Areyouhappytoseethegeniusinyourdoorway?
Ordoyoucringewhenhewalksinyourdoor?
Thinkabouthiscodeisitreallygeniuscode?
Orisitmerelyoverdesignedandoverimplemented?
DidthatproblemreallyrequiretheuseofC#expressiontrees?
Orahandrolledrecursivedecentparser?
Didhereallyhavetowritehisowndebugger?
DidhereallyhavetowritehisowncustomtemplatebasedXMLde-serialize?
Really?
I’llbetifyouwentbackandlookedathisdesignwork–hisoverdesignwasn’tjustifiedatall.Isuspectthatitjustwasn’twortharguingwithhimaboutit.
Thinkaboutthesecondquestion–whatwouldyourteamlooklikeifthegeniusquittomorrow?
Yourfirstreactionisprobably‘ohcrap’.Butthinkaboutitsomemore…wouldthequietguywhoisoftenovershadowedbythegeniusbeabletoshine?
Wouldthefrustrationandfrictionlevelsonyourteamgodowndramatically?
Couldyoureplacehimwiththatsmartkidformthetestteamwhoreallywantstobeadeveloper?
Wouldyouhavemoretimetospendwithyourotherteammembers–evenafterreplacinghim?
Ifyourexperienceislikemine,thenthegeniusislikelynotasnearlyasbeneficialasyouorothersmaythink.Itslikelythatheisreallyquitedisruptiveandthetechnicalvaluehebringstotheteamnotreallythatsuper-awesome.
Asmanager,yourjobistohelpthegeniusmaximizehisbenefittotheteamwhileminimizingoreliminatinghisdisruptivebehavior.Youmusthelphimunderstandthatthecostsofhavinghimontheteamareonlyalittlelowerthanthebenefithebringstotheteam.Helphimseehowmuchtimehecostseveryoneelse.Forexample,helphimseethatthecostsofrewritingthatbigpileofcodecoststhetestteamtwoweeksofregressiontesting,andthatsomebodyneedstore-writealltheunittest.
Thisisn’teasy.Theteamgeniusdoesn’ttakeconstructivecriticismwell,isvolatile,stubbornandwillalmostneveragreewithyou.Butyoumusttryanywaybecausethereisachanceyoucanhelptheteamgeniusbecomeasolidteammember.That’sagreatoutcome.
Evenifthisdoesn’twork,youreffortswillbenefittherestofyourteam.Theywillseeyouashelpingthembyworkinghelpthegeniusbelessdisruptive.Thiscandowondersforteammoralandtheteam’strustinyou.
Thereallyhardpartcomesifthegeniussimplydoesn’tcomearound.Ifthishappens,youneedtogetthegeniusofftheteam–theyarejustnotworthit.Reallytheyaren’tworthit.Disruptivepeoplearesimplydeathtoanotherwisegoodteam.
Afterallissaidanddone,youmaybestuckwithyourgenius.Perhapsyourmanagementchainlikeshim.Inthatcaseyoumustsimplyworktominimizehisdisruptivenessandmaximizehisvalue.
-Foredecker
Don’tforgetwhatit’sliketobe 10
with3comments
ThispostispartofmyseriesonManagingDevelopers–Hownottosuck
Rememberwhatitwaslikewhenyouwere10yearsold?
Ido.Inthesummersourmotherskickedusoutofthehouseinthemorninganddidn’texpectushomeuntildinnertime,orlater.Wespentalldayridingaroundonoursinglespeedbikescausingminortrouble.Weusuallyhadlunchordinneratthefriend’shousewewereclosesttoowhenhungry;ourmotherstreateduslikeapackofwolves.Wefoundcooljunk,builtforts,haddirtclodfights;shoteachotherwithBBguns,swaminthepond,felloutoftrees,blewstuffup,shotturtles,playedinthemud,andgotchasedoutofvacantlotsbyoldmen.Itwasablast.
Ioftenaskpeople"Doyourememberwhatitwasliketobe10?
”Byfarthemostcommon