De bästa inom sitt område är de som inser att det alltid finns mer att lära. Här är sex steg för att bli en bättre programmerare i år.
Kodning är en disciplin som utvecklas. Det är ofta det som lockar människor till den – bortsett från möjligheten att arbeta med några av världens största företag – men det innebär också att de som arbetar i branschen ständigt måste blicka framåt.
Det räcker inte att sätta sig in i de mest efterfrågade språken. Om du vill avancera i din karriär måste du börja fundera på hur du kan bli en bättre programmerare i alla avseenden, och de här sex stegen är en bra början (om jag säger det själv).
Använd Feynman-tekniken
Feynman-tekniken är en mental modell som är uppkallad efter den nobelprisbelprisbelönade fysikern Richard Feynman.
Den går i huvudsak ut på att identifiera luckor i din kunskap genom att föreställa dig att du var tvungen att lära ut ett begrepp i ett klassrum med hjälp av ett enkelt språk och analogier (mycket i den här subredditens anda).
När du identifierar luckorna återvänder du till dina böcker eller vilken kunskapskälla du än förlitar dig på för att lära dig själv de aspekter som du är mindre bekant med.
Därefter är det bara att skölja och upprepa, och plötsligt är du mycket säkrare på att exekvera kod eftersom du har en starkare grundförståelse för den.
Du kan bidra till forum som Stack Overflow för att också använda Feynman-tekniken. Genom att svara på frågor och titta på de svar som andra ger kommer du att utveckla en djupare förståelse för det du gör.
Förbättra dina mjuka färdigheter
De mjuka färdigheterna kan tyckas vara den totala motsatsen till programmering (vilket ibland är en central punkt för dess attraktionskraft), men de är avgörande för din professionella utveckling.
Om du kan kommunicera med både kunder och överordnade på ett lättillgängligt sätt, samt presentera dig själv och dina idéer på ett trevligt och engagerande sätt, kommer du att upptäcka att många aspekter av ditt yrkesliv plötsligt blir lättare.
Om du är orolig för att dina mjuka färdigheter är bristfälliga, kan de som tur är läras ut.
’Don’t be afraid to break things’
Detta råd kommer från Mike Lewis, en av de många utvecklare och programmeringsexperter som bidrog till Kevlin Henneys utmärkta 97 Things Every Programmer Should Know.
”Alla med branscherfarenhet har utan tvekan arbetat i ett projekt där kodbasen var osäker i bästa fall”, förklarade Lewis.
”När en modul läggs till är kodarens mål att ändra så lite som möjligt och hålla andan under varje utgåva.”
”Anledningen till att det är så nervöst att göra ändringar är att systemet är sjukt. Det behöver en läkare, annars kommer dess tillstånd bara att förvärras.”
Tanken på att bryta sönder något när du flyttar runt på saker och ting kan verka ångestframkallande – ingen professionell person vill sluta med att göra saker och ting värre, än mindre en programmerare – men om du är villig att bryta sönder saker och ting, kommer du att få en bättre övergripande kod och, i sin tur, bli en bättre kodare.
Skriv kod tre gånger
Att skriva kod har jämförts med att skriva en roman, och precis som när det gäller romanförfattande bör du aldrig framhålla ditt första utkast som din färdiga produkt.
När du har skrivit färdigt koden första gången, kommer den säkert att fungera, men kommer den att fungera bra? Den kanske är funktionell, men kommer den att vara elegant? Om du strävar efter elegans (vilket du bör göra), försök att skriva kod tre gånger.
Tänk på din första gång du skriver som ett konceptbevis, din andra gång som att du får det att fungera och din tredje gång som att du får det att fungera på rätt sätt.
Skriv mycket kod generellt
”Öva, öva, öva” är inte en maxim som är isolerad till programmeringsvärlden, och det är av goda skäl. Kodning är en färdighet som alla andra, och därför är det bästa sättet att förbättra sig professionellt som kodare att skriva mycket kod.
Du kan använda GitHub för att visa upp dina projekt och sedan låta andra utvecklare kritisera ditt arbete och ge dig vägledning om hur du ska gå tillväga på ett annat sätt.
Samla sedan ihop dina bästa projekt till en imponerande portfölj som kommer att bidra till att bygga upp din profil.
Du kan delta i hackathons eller gå med i ett mentorprogram för parprogrammering för att finslipa dina kunskaper.
Konsumerar att bidra till open source communities som ett sätt att både bygga upp kontakter inom ditt område och få insikt i hur människor närmar sig problem som skiljer sig från dina egna.
Gör enhetstester
Enhetstester kan ofta skapa rädsla och skräck i utvecklarnas hjärtan, men genom att använda dem för att utforma din kod kan du försäkra dig om att varje komponent i ditt arbete fungerar exakt som du tänkt dig.
Som Steve Sanderson påpekar bör programmerare inte närma sig enhetstestning som om det är ett sätt att hitta fel; bara för att komponenter fungerar oberoende av varandra betyder det inte att de är kompatibla.
Enhetstestning är en viktig del av testdriven design. Det gör hela processen lite mer tidskrävande, vilket kan vara bränsle till elden om du redan är panikslagen inför en snabbt annalkande deadline, men slutresultatet är en kod av bättre kvalitet som visar att du är uppmärksam på detaljer.