Programmeurs schrijven niet alleen maar code
Development

Programmeurs schrijven niet alleen maar code

Veel mensen denken dat het werk van een programmeur alleen maar het programmeren van een applicatie is. Echter is er veel meer wat komt kijken bij het zijn van een programmeur dan alleen het programmeren van applicaties en het hebben van een aantal projecten in je portfolio. In de realiteit is dat slechts het begin. Er zijn nog veel andere vaardigheden die komen kijken bij programmeren die zeker van belang zijn bij het programmeren en het dagelijkse werk. Hier onder een aantal punten waarvan ik denk dat als een programmeur deze heeft dat hij/zij een professionele programmeur is.

Veel programmeurs beginnen gelijk met het programmeren bij het ontvangen van een opdracht en dit is uiteraard erg leuk. Je kan alle coole features bedenken en bouwen. Dit aspect is het daadwerkelijke programmeren van de applicatie, als dat echter het enige is wat je als programmeur kan is deze blogpost voor jou!

Communicatie

Het is erg belangrijk dat je goed kan communiceren. Vaak is de meest complexe taak niet het programmeren van de applicatie zelf maar zorgen dat iedereen op een lijn zit en alle informatie bij iedereen beschikbaar is. Hiervoor is het nodig dat er vanuit verschillende developers, designers, opdrachtgevers en soms zelfs managers duidelijkheid moet komen over wat er van wie wordt verwacht en wanneer dit wordt verwacht. Hiervoor is het belangrijk dat je effectief en duidelijk kan communiceren.

Plannen

Kunnen plannen is niet alleen handig voor de lange termijn planning maar ook de korte termijn planning. Welk project moet wanneer af en welke feature moet wanneer worden geïmplementeerd? Als feature A afhankelijk is van feature B moet deze als eerst worden geïmplementeerd. Wanneer moet het grafisch ontwerp af zijn en wanneer kunnen de back-end developers aan de slag? Houd tijdens het plannen ook altijd rekening met onvoorziene omstandigheden. Mensen worden ziek of er komt iets anders tussendoor. Calculeer daarom altijd marges in in je planning. Mocht je dan uitloop hebben dan is dit geen probleem.

Vooruitdenken

Tijdens het schrijven van de code kan het handig zijn als er vooruit wordt gedacht over eventuele toekomstige features of uitbreidingen. Zo kan een uur extra werk aan de huidige feature wellicht een dag aan werk schelen voor een nieuwe feature die op de huidige feature gebaseerd is.

Leervaardigheid

Als je geen nieuwe vaardigheden, technieken, frameworks of programmeertalen leert ga je achteruit. Ja, stilstaan is ook achteruit gaan. Vele bedrijven en werkgevers hebben daarom bijvoorbeeld regelmatig (interne) kennissessies, cursussen of conferenties. Natuurlijk is het prettig om hier heen te gaan en nieuwe dingen te leren. Het is alleen wel verstandig om niet alleen naar de bovenstaande events te gaan maar om ook zelf op onderzoek uit te gaan en nieuwe dingen te proberen. Zo probeer ik zelf altijd minimaal een avond in de week te besteden aan mijn eigen projecten. Dit verschilt van het verbeteren van mijn websites, bug-fixes toepassen, nieuwe plug-ins schrijven of zelfs nieuwe frameworks, content management systemen of programmeertalen uitproberen.

Niet te lang blijven hangen

Wat vaak gebeurd is dat programmeurs te lang blijven hangen in een bug of een feature. Dit wordt ook wel het “shiny object syndrome” genoemd. Het oplossen van de bug of het implementeren van de feature wordt gezien als een uitdaging, hier is niks mis mee, echter is het wel zaak om te zorgen dat de priorieiten op orde zijn. Zo heb ik meerdere malen mee gemaakt dat er vele uren wordt gestoken in het oplossen van een bug die geen of nauwelijks impact heeft op het systeem. Ook komt het vaak voor dat er een nieuwe feature wordt toegevoegd aan een project waarbij de developer zo veel mogelijk heeft geperfectioneerd om er vervolgens achter te komen dat de huidige implementatie niet prettig werkt. Het is beter om je feature te maken, te releasen (op bijvoorbeeld een test of acceptatie omgeving) en vervolgens de feedback te verwerken. Op deze manier zorg je dat je sneller tot een (beter) eindresultaat komt.