De besten in hun vakgebied zijn degenen die beseffen dat er altijd meer te leren valt. Hier zijn zes stappen om dit jaar een betere programmeur te worden.
Coding is een discipline die voortdurend in ontwikkeling is. Dat is vaak wat mensen aantrekt – afgezien van de mogelijkheid om met enkele van de grootste bedrijven ter wereld te werken – maar het betekent ook dat degenen die in de sector werken, voortdurend vooruit moeten kijken.
Het is niet genoeg om de meest gevraagde talen onder de knie te krijgen. Als je carrière wilt maken, moet je nadenken over hoe je een betere allround programmeur kunt worden, en deze zes stappen zijn een goed begin (al zeg ik het zelf).
Gebruik de Feynman-techniek
De Feynman-techniek is een mentaal model dat is vernoemd naar Nobelprijswinnaar natuurkundige Richard Feynman.
Het komt er in essentie op neer dat je hiaten in je kennis identificeert door je voor te stellen dat je een concept in een klaslokaal moet onderwijzen met eenvoudige taal en analogieën (in de geest van deze subreddit).
Wanneer je de hiaten hebt geïdentificeerd, ga je terug naar je boeken of welke kennisbron dan ook om jezelf de aspecten te leren waarmee je minder vertrouwd bent.
Daarna hoef je alleen maar te spoelen en te herhalen, en plotseling heb je veel meer vertrouwen in het uitvoeren van code omdat je er een sterker kernbegrip van hebt.
Je kunt bijdragen aan forums zoals Stack Overflow om ook de Feynman-techniek toe te passen. Door vragen te beantwoorden en de antwoorden van anderen te bekijken, ontwikkel je een dieper begrip van wat je doet.
Verbeter je soft skills
Soft skills lijken misschien de totale tegenpool van programmeren (wat soms een centraal punt is van de aantrekkingskracht ervan), maar ze zijn van vitaal belang voor je professionele ontwikkeling.
Als je op een toegankelijke manier kunt communiceren met zowel klanten als superieuren, en jezelf en je ideeën op een prettige en innemende manier kunt presenteren, zul je merken dat veel aspecten van je professionele leven ineens gemakkelijker worden.
Als je bang bent dat je soft skills tekortschieten, kun je ze gelukkig leren.
‘Wees niet bang om dingen kapot te maken’
Dit advies komt van Mike Lewis, een van de vele ontwikkelaars en programmeerexperts die een bijdrage hebben geleverd aan Kevlin Henney’s uitstekende 97 Things Every Programmer Should Know.
“Iedereen met ervaring in de industrie heeft ongetwijfeld wel eens aan een project gewerkt waar de codebase op zijn best precair was,” legt Lewis uit.
“Telkens als er een module wordt toegevoegd, is het doel van de programmeur om zo min mogelijk te veranderen en bij elke release zijn adem in te houden.
“De reden dat het aanbrengen van veranderingen zo zenuwslopend is, is omdat het systeem ziek is. Het heeft een dokter nodig, anders wordt de toestand alleen maar slechter.”
Het idee dat je iets kapot maakt terwijl je dingen verplaatst lijkt misschien angstwekkend – geen enkele professional wil uiteindelijk dingen erger maken, laat staan een programmeur – maar als je bereid bent dingen kapot te maken, eindig je met betere algehele code en word je op je beurt een betere codeur.
Schrijf code drie keer
Het schrijven van code wordt wel vergeleken met het schrijven van een roman en, net als bij het schrijven van een roman, moet je nooit je eerste concept aanprijzen als je eindproduct.
Tegen de tijd dat je klaar bent met het schrijven van code de eerste keer, zeker, het zal werken, maar zal het goed werken? Het kan functioneel zijn, maar is het ook elegant? Als je elegantie nastreeft (en dat zou je moeten doen), probeer dan drie keer code te schrijven.
Beschouw je eerste keer schrijven als een proof of concept, je tweede keer als het laten werken en je derde keer als het correct laten werken.
Schrijf veel code in het algemeen
‘Oefenen, oefenen, oefenen’ is geen stelregel die alleen in de programmeerwereld geldt, en dat is niet voor niets. Coderen is een vaardigheid als alle andere, en dus is de beste manier om professioneel beter te worden als programmeur het schrijven van veel code.
Je kunt GitHub gebruiken om je projecten te laten zien en dan andere ontwikkelaars je werk laten bekritiseren en advies laten geven over hoe je dingen anders kunt aanpakken.
Daarna kun je je beste projecten bundelen in een indrukwekkend portfolio dat een heel eind zal helpen bij het opbouwen van je profiel.
Je kunt hackathons bijwonen of meedoen aan een mentorschapsprogramma voor pair-programming om je vaardigheden aan te scherpen.
Overweeg bij te dragen aan open source communities als een manier om zowel connecties binnen je vakgebied op te bouwen als inzicht te krijgen in de manieren waarop mensen problemen benaderen die verschillen van die van jou.
Doe unit testen
Unit testen kan vaak angst en vrees in de harten van ontwikkelaars teweegbrengen, maar het gebruik ervan om je code te ontwerpen kan ervoor zorgen dat elk onderdeel van je werk precies functioneert zoals je het bedoeld hebt.
Zoals Steve Sanderson aangeeft, moeten programmeurs unit testing niet benaderen alsof het een manier is om bugs te vinden; dat componenten onafhankelijk van elkaar werken, betekent niet dat ze compatibel zijn.
Unit testing is een belangrijk onderdeel van test-driven design. Het maakt het hele proces een beetje tijdrovender, wat brandstof voor het vuur kan zijn als je al in paniek bent over een snel naderende deadline, maar het eindresultaat is code van betere kwaliteit die je aandacht voor detail laat zien.