Vakmanschap is Meesterschap
Ik ben opgegroeid in Groenlo, waar toen nog een grote bierbrouwerij gevestigd was, die bij ons thuis zorgde voor brood op de plank. In de tijd dat ik opgroeide voerde de brouwerij een langlopende reclamecampagne met als titel ‘Vakmanschap is Meesterschap’. Die slogan slaat wat mij betreft ook op het werk van developers.
Ik heb lang geleefd met de gedachte dat ik alle klussen in en om het huis zelf wilde kunnen doen. Zo dacht ik in mijn vorige huis ook zelf de badkamer te kunnen verbouwen. Ik zal het einde alvast verklappen: dat is gelukt en we hebben er jaren met veel plezier gebruik van gemaakt. De verbouwing zelf heeft echter (veel) meer tijd en energie gekost dan van te voren verwacht. Sommige dingen hebben we twee keer moeten doen; ik heb een gat in de net betegelde muur moeten hakken, omdat ik vergeten was een aftapkraantje dicht te draaien dat achter de voorzetwand terecht was gekomen. De tegels zaten niet overal even recht, en de warm – en koud waterleidingen kwamen op verschillende hoogtes uit de muur.
Inmiddels heb ik de les geleerd dat een vakman zoiets in een fractie van de tijd kan en met een fractie van de inspanningen. Natuurlijk is één van de redenen daarvoor dat de vakman een schat aan ervaring heeft. Een andere belangrijke reden is ook dat de vakman beter en gespecialiseerd gereedschap heeft.
The tools of the trade
Vakmensen hechten waarde aan hun gereedschap, vaak hebben ze sterke persoonlijke voorkeuren en zijn ze zuiniger op hun gereedschap dan de huis-tuin-en-keuken klusser. Vakmensen kopen het beste gereedschap dat ze zich kunnen veroorloven omdat het hen sneller en effectiever maakt. Wanneer je een vakman inhuurt betaal je daarom niet alleen voor de tijd die hij nodig heeft, maar ook voor de ervaring en het gereedschap dat hij meebrengt.
Al deze factoren die van timmerlieden, loodgieters, elektriciens en meubelmakers vakmensen maken, gelden net zo voor developers. Developers hebben vaak sterke persoonlijke voorkeuren voor de editor of ontwikkelomgeving die ze gebruiken, net zoals een timmerman een voorkeur heeft voor een merk of type hamer. Daarnaast bestaat de gereedschapskist van een moderne developer uit een grote hoeveelheid tools: code formatters, linters en statische code analyse tools, continuous integration servers, test suites, log en metrics databases, performance dashboards etc.
Vakmanschap is een belangrijke element van een goede developer cultuur. Voor de individuele developer is het zaak daar bij voortduring aan te werken. Een goed stukje vakwerk maakt dat je als developer trots kunt zijn op wat je hebt opgeleverd. Dat draagt in hoge mate bij aan vreugde en plezier in je werk.
Een team lead of development manager doet er goed aan dit vakmanschap in zijn team te promoten en aan te moedigen. Blije en tevreden medewerkers zijn productieve medewerkers. Daarnaast werkt een vakman ook sneller, beter en veiliger dan een amateur.
En ja, dat betekent dat er bij vlagen uren gepraat wordt over 5 regels code.
De werkplaats
De omgeving waarin vakmensen werken noemen we een werkplaats. Ik geloof niet in het bestaan van software factories.
Soms verbazen buitenstaanders zich erover dat developers twee dagen bezig zijn om hun nieuwe computer in te richten en te configureren zodat ze alle favoriete tools binnen handbereik hebben. Of dat ze eindeloos debatteren over de juiste editor — daar zijn we inmiddels uit en V.I. heeft gewonnen 😉 —, een command prompt helemaal op maat inrichten of een maatwerk kleurenschema maken voor hun desktop. Daarin verschilt de software nerd niet van de timmer nerd die een sterke mening heeft over hoe zijn werkplaats eruit moet zien en elk stukje gereedschap een eigen vaste plaats heeft gegeven aan de muur van zijn werkplaats.
De timmerman, de glasblazer en de pottenbakker stallen in hun werkplaats voorbeelden van hun werk uit. Voor een deel als demonstratie van hun kunnen en voor een deel als territorium afbakening: dit is mijn domein en hier oefen ik mijn vak uit. Voor software vakmensen is dat wat lastiger: software is voor een groot deel onzichtbaar en schermafdrukken van user interfaces doen vaak geen recht aan de complexiteit die daarachter schuil gaat.
Developers hebben andere manieren gevonden om hun territorium aan te duiden. (Elektronische) gadgets, science fiction of fantasy posters en objecten, overvloedige whiteboards vol met diagrammen en kreten, nerf guns, rubiks kubussen of andere puzzel objecten verklappen vaak dat je het developer territorium binnen bent gelopen. De volgende keer dat je zo’n ruimte binnenloopt en de zin “wat een stelletje nerds” schiet door je hoofd, bedenk dan in plaats daarvan “wat een stelletje vakmensen”.
Welkom in de software werkplaats!