7 dödliga karriärfel utvecklare gör

Du hittar ingen brist på karriärmotiverande fraser kring misslyckande: Misslyckas snabbt, misslyckande bygger karaktär, nyckeln till framgång är misslyckande, misstag får dig att växa, var aldrig rädd för att misslyckas. Men tanken på att missa dig till toppen av mjukvaruindustrin är förmodligen osund. Varje utvecklare kommer att ha sin del av misstag i en karriär, men varför inte lära av andras erfarenhet - och undvika de dyraste felen?

Det var vad vi gjorde: Vi pratade med ett antal tekniska proffs som hjälpte oss att identifiera områden där misstag lätt kan undvikas. Inte överraskande, nyckeln till en gedigen utvecklingskarriär innebär symmetri: Att inte stanna med en stack eller jobba för länge, till exempel, men sedan inte byta språk och arbetsgivare så ofta att du lyfter röda flaggor.

Här är några av de mest anmärkningsvärda karriärfällorna för ingenjörer - ett gruvfält som du enkelt kan undvika när du navigerar på en teknikmarknad som ständigt förändras.

Fel nr 1: Att stanna för länge

Dessa dagar är det sällsynt att ha en decennielång körning som utvecklare på ett företag. På många sätt är det ett hedersmärke som visar din betydelse för verksamheten eller åtminstone din förmåga att överleva och trivas. Men de som har byggt en karriär hos endast ett företag kan plötsligt befinna sig i fel ände med nedskärningar eller "rättigheter", beroende på vilket slagord som gynnades vid den tiden.

Åsikterna varierar beroende på hur länge du ska stanna på ett ställe. Praveen Puri, en ledningskonsult som tillbringade 25 år som utvecklare och projektledare innan han startade sitt eget företag, är inte rädd för att kasta ut några siffror.

"Ju längre du stannar i en position, desto mer stagnerar dina färdigheter och lön, och du kommer att bli uttråkad och rastlös", säger Puri. ”Å andra sidan, om du byter flera jobb efter mindre än två år, skickar den en röd flagga. Enligt min egen erfarenhet stannade jag för länge på ett jobb där jag arbetade i 14 år - jag borde ha gått efter sex. Jag lämnade andra befattningar efter i genomsnitt fyra år, vilket förmodligen handlar om rätt. ”

Michael Henderson, CTO för Talent Inc., ser två stora nackdelar med att stanna på ett ställe för länge. "För det första riskerar du att begränsa din exponering för nya metoder och tekniker", säger han, "och för det andra kommer ditt professionella nätverk inte att vara så djupt eller så varierat som någon som byter team eller företag."

Att fokusera för mycket på en stack som används av din nuvarande arbetsgivare är självklart bra för företaget men kanske inte för dig.

"Det är en fördel för andra arbetsgivare som letar efter en mycket specialiserad kompetensuppsättning, och varje företag är annorlunda", säger Mehul Amin, chef för ingenjör vid Advanced Systems Concepts. ”Men detta kan begränsa din tillväxt och kunskap inom andra områden. Uppenbarligen att stanna några månader vid varje jobb är inte ett bra utseende för ditt CV, men personalomsättningen är ganska hög i dessa dagar och arbetsgivare förväntar sig att yngre arbetstagare som nyutexaminerade studenter flyttar lite innan de stannar långt på ett företag. ”

Fel nr 2: Jobbhoppning

Låt oss titta på baksidan: Rör du för mycket? Om det är ett problem kan du fråga om du verkligen får det du behöver från din tid på ett företag.

Charles Edge, chef för professionella tjänster på Apple-enhetshanteringsföretaget JAMF Software, säger att anställningschefer kan vara svåra om de vill placera någon under lång tid: ”Omvänt, om en organisation bränner igenom utvecklare årligen och ger en anställd som har varit på ett företag i tio år kan representera en utmanande kulturell passform. Jag spenderar mycket tid på att utveckla min personal, så jag vill ha dem med mig länge. Att byta jobb kan dock ge exponering för många olika tekniker och tekniker. ”

De som går för snabbt kanske inte får se hela livscykeln för projektet, varnar Ben Donohue, VP för ingenjör vid MediaMath.

"Faran blir en legosoldat, en hyrd pistol, och du missar möjligheten att få en känsla av ägande över en produkt och bygga varaktiga relationer med människor", säger Donohue. ”Oavsett hur duktig och kunnig du är som tekniker behöver du fortfarande förmågan att se saker ur användarens perspektiv, och det tar tid att lära känna användarnas behov som din programvara adresserar och hur de använder din produkt. ”

Hilary Craft, IT-filialchef på Addison Group, gör sig tydlig: ”Konstant jobbhoppning kan ses som en röd flagga. Arbetsgivare anställer baserat på teknisk skicklighet, pålitlighet och oftare än kultur. Stabilitet och slutförande av projekt kompletterar ofta dessa anställningsbehov. För entreprenörer är det en bra regel att slutföra varje projekt innan du går vidare till nästa roll. Vissa yrkesverksamma tenderar att "betygsätta butiken" för att tjäna högsta möjliga timpris, men i sin tur bränner broar som inte lönar sig på lång sikt. "

Fel nr 3: Vidarebefordra en kampanj

Det finns en punkt i varje utvecklares liv där du undrar: Är det här? Om du gillar att koda mer än att köra showen kanske du undrar om det att stanna kvar kan stoppa din karriär.

”Att flytta in i ledningen bör vara ett försiktigt, tankeväckande beslut”, säger Talent Inc.: s Henderson. ”Ledning är en karriärförändring - inte den logiska utvecklingen av det tekniska spåret - och kräver en annan uppsättning färdigheter. Jag har också sett många företag driva bra tekniska talanger till ledningen eftersom företaget tycker att det är en belöning för den anställde, men det visar sig vara ett misstag för både chefen och företaget. ”

Lär känna din egen arbetsmiljö, säger ledningskonsult Puri och tillägger att det inte finns något svar som passar alla.

"Jag har arbetat på vissa ställen där olyckliga chefer inte hade någon verklig makt, var överbelastade med pappersarbete och möten och var tvungna att spela politik", säger Puri. ”I dessa miljöer skulle det vara bättre att hålla sig i utveckling. På lång sikt skulle jag rekommendera att alla kommer in i ledningen, eftersom utvecklingskarriärer stannar efter 20 år och du kommer inte att få mycket mer kompensation. ”

Ett annat sätt att titta på detta kan vara självbevarande. Scott Willson, produktmarknadsdirektör på Automic, ställer frågan: ”Vem kommer de att sätta i din plats? Om inte du kan de främja den mest inkompetenta eller motbjudande medarbetaren helt enkelt för att förlora sin produktivitet från diken inte kommer att ha lika stor betydelse som att förlora mer kvalificerade anställda. Ibland kan du - och dina kollegor / vänner - ha kontroll över din arbetsdagslycka genom att acceptera en kampanj. Alla bör vara i ledningen minst en gång i sin karriär om de inte får något annat än att få inblick i varför och hur företagsledning och företag fungerar. ”

Fel nr 4: Betala inte det framåt

Ett mindre uppenbart misstag kan vara att vara för fokuserad på ditt eget karriärspår utan hänsyn till juniorutvecklarna på ditt kontor. De som parar med unga programmerare tappas ofta när ett team behöver ledarskap.

"Jag har upptäckt att mentorskap för juniorutvecklare har gjort mig bättre på mitt jobb eftersom du lär dig något ämne djupare genom att lära ut det än du gör med någon annan metod", säger Automics Willson. "Också, eftersom utvecklare ofta kämpar med mänskliga färdigheter, ger mentorskap stora möjligheter att förstärka dessa människors färdigheter."

Om erfarenhet är den bästa läraren kommer undervisning i andra bara att fördjupa din kunskap, säger JAMF Software's Edge. Som sagt, han håller det inte mot en upptagen utvecklare om det ännu inte har hänt.

"Låt oss inse det - inget utvecklingsteam hade någonsin tillräckligt med resurser för att leverera vad produkthantering vill ha dem till", säger Edge. ”När seniorutvecklare inte har tid att mentorera yngre utvecklare förstår jag helt. Säg bara inte att det är för att 'jag är inte bra med människor.'

Fel nr 5: Håll dig till din stack

Din expertis i en stack kan göra dig ovärderlig för din nuvarande arbetsplats - men hjälper det din karriär? Kan det skada att vara för fokuserad på bara en stack?

MediaMaths Donohue gör inga slag på den här: ”Naturligtvis är det - det finns ingen modern programvaruteknik där du bara kommer att använda en teknik under hela din karriär. Om du tar en Java-utvecklare som har arbetat i Java i tio år och plötsligt börjar de arbeta med en JavaScript-applikation, skriver de det annorlunda än någon med liknande års erfarenhet som en Python-utvecklare. Varje teknik som du lär dig påverkar dina beslut. Vissa skulle hävda att det inte är bra - om du tar ett Java-objektorienterat förhållningssätt till ett löst skrivet språk som JavaScript, försöker du få det att göra saker som det inte ska göra. ”

Det kan skada din bana att vara för fokuserad på en stack, säger Talent Inc.: s Henderson, men kanske av andra skäl än du tror.

"Varje stack kommer att ha en annan kultur och ett annat perspektiv, vilket i slutändan kommer att bredda och påskynda din karriärtillväxt", säger Henderson. ”Till exempel tycker jag att många C # -utvecklare bara är medvetna om Microsofts ekosystem när det finns en mycket större värld där ute. Java har utan tvekan det bästa ekosystemet, och jag tycker ofta att Java-utvecklare gör de bästa C # -utvecklarna eftersom de har ett bredare perspektiv. ”

Automics Willson säger att skicklighet - men inte behärskning - med en stack bör vara riktmärket innan du går vidare till en annan.

"Det är dags att gå vidare när du är bra på skickligheten, men inte nödvändigtvis bra", säger Willson. ”Jag förespråkar inte medelmåttighet, tvärtom. Jag säger att innan du börjar för att lära dig en ny färdighet, se till att du är bra, kompetent eller över genomsnittet på den färdigheten innan du överväger att gå vidare. ”

Slutligen ger Talent Inc.: s Henderson denna varning: ”Undvik förväntningsfällan att varje nytt språk helt enkelt är det gamla med olika syntax. Utvecklare av C # och Java som försöker tvinga JavaScript till ett klassiskt objektorienterat tillvägagångssätt har orsakat mycket smärta. ”

Fel nr 6: Att försumma mjuka färdigheter

Programmerare är vanligtvis mindre utgående än, till exempel, säljare. Ingen hemlighet där. Men mjuka färdigheter kan hämtas över tiden, och några av nyanserna med att utveckla en framgångsrik karriär - som att lära av mentorer och utveckla relationer - kan saknas i din karriär tills det är för sent.

"Det ger bättre programvara när folk pratar", säger MediaMaths Donohue. ”Mjuka färdigheter och samtal med kunder kan också ge en stor känsla av medkänsla som förbättrar hur du bygger. Du börjar tänka på vad kunderna verkligen behöver istället för överingenjör. ”

Talent Inc.: s Henderson säger att ditt arbete med andra människor är en viktig del av utvecklingen av en framgångsrik karriär inom utveckling.

"Alla mänskliga aktiviteter är sociala, och utveckling är inget undantag", säger Henderson. ”Jag har en gång bevittnat ett utbyte på Angular-e-postlistan där en nybörjare utvecklade en kod med frågor. Inom en timme - och med hjälp av fem personer - hade han bunnsolid idiomatisk vinkelkod, en rikare förståelse av vinkelfärg och nybrott och flera nya kontakter. Trots att trollen ibland kan få oss att förlora tron, är världen full av fantastiska människor som vill hjälpa varandra. ”

Automics Willson säger att brist på mjuka färdigheter är en karriärmördare. Då när mindre skickliga programmerare går vidare utvecklare som inte har kunskaper i människor - eller helt enkelt inte utövar dem - väntar på varför. Ändå älskar alla chefer, säger han, "som visar takt och skicklig kommunikation."

"För att förbättra dina mjuka färdigheter är Internet, e-kurser, vänner och mentorer ovärderliga resurser om ... du är ödmjuk och förblir coachbar", säger Willson. ”Dessutom kommer vi alla att nå en punkt i vår karriär när vi måste luta oss på relationer för att få hjälp. Om ingen är villig att stå i ditt hörn har du, inte de, ett problem och du måste ta itu med det. Under min karriär har jag uppskattat tränbara människor som är oöverkomliga när jag har varit tvungen att fatta tuffa personalbeslut. ”

Programmering är bara en aspekt av utvecklingen, säger ledningskonsult Puri. ”Den största delen är att kunna kommunicera och förstå affärsmål och idéer, mellan grupper av människor med olika nivåer av teknisk kompetens. Jag har sett för många IT-personer som försöker kommunicera för mycket tekniska detaljer när de pratar med ledningen. ”

Fel nr 7: Misslyckades med att utveckla en karriärkarta

Att utveckla mål och återvända till dem över tid - eller omvänt utveckla en agilelike, gå-med-flöde-strategi - har båda sina förespråkare.

"Jag konstruerar mindre för mål och mer för system som gör att jag kan förbättra mig snabbt och ta tillfället i akt när de uppstår", säger Henderson. ”Med det sagt rekommenderar jag att du gör en lista över upplevelser och färdigheter som du vill förvärva och använder den som en karta, uppdaterar den åtminstone årligen. Att veta var du har varit är lika användbart som att veta vart du vill åka. ”

Och naturligtvis kanske lika viktigt - vart du inte vill åka.

"Tidigt i min karriär hade jag inte lärt mig att säga nej än", säger Edge, från JAMF Software. ”Så jag gick med på en projektplan om att det inte fanns något sätt att lyckas. Och jag visste att det inte kunde. Om jag hade varit mer självsäker, kunde jag ha påverkat planen som ett gäng icke-tekniska människor gjorde och sparat min dåvarande arbetsgivares tid och pengar, mina medarbetare en hel del smärta och i slutändan relationen vi hade med kunden. ”

Automics Willson ger ett pep-tal direkt ur lekboken för University of Alabamas huvudfotbollstränare Nick Saban, som predikar att ha tro på din process: ”Fokus ligger i att följa en framgångsprocess och använda den processen som ett riktmärke för att hålla dig själv ansvarig . För att utveckla din process måste du hitta mentorer som har fått det du vill få. Lär dig vad de gjorde och varför de gjorde det, anpassa sedan, justera och följ. ”