Development

Carriere
developer

Ontwikkelaar, doorbreek je isolatie!

Hoe voorkom je frustratie en stress.

© Shutterstock Alfredo Cecchi
28 juni 2021

Ben je een developer? Dan heb je waarschijnlijk op een bepaald moment in je carrière last gehad van keuzestress. Dit fenomeen treedt op wanneer de kwaliteit van de beslissingen die we nemen verslechtert als gevolg van mentale vermoeidheid omdat we ‘al zoveel’ beslissingen hebben genomen. Hoewel sommige mensen misschien willen geloven dat ze een oneindige wilskracht hebben, hebben onze mentale energie en focus een limiet. Je kunt lang trainen en je kunt hard trainen - hoe dan ook, je lichaam zal uiteindelijk moe worden.

Net zoals we ons lichaam kunnen trainen om extra stress te doorstaan, kunnen we ook onze geest trainen om onze focus te vergroten. Hieronder beschrijf ik enkele vormen van frustraties en keuzestress en hoe je deze kunt voorkomen.

Zichtbaarheid

Als er een taak erg vaak moet worden uitgevoerd, veel tijd kost om handmatig uit te voeren of als deze gecompliceerd en foutgevoelig is, moeten developers overwegen om automatisering te gebruiken. Een voorbeeld hiervan is Continuous Integration en Continuous Delivery (CI / CD).

Als je een proces automatiseert, maak je het niet alleen eenvoudiger om uit te voeren, maar bespaar je ook tijd, zorg je voor consistentie én maak je het zichtbaar. Dit betekent dat een nieuw lid dat toetreedt tot het team en nog nooit eerder met CI / CD heeft gewerkt, het script van dit geautomatiseerde proces kan doornemen en makkelijker kan begrijpen hoe de applicatie wordt gebouwd. Als software developers zijn we allemaal auteurs. Daarom moeten we ook rekening houden met het publiek dat de code gebruikt die we aan het schrijven zijn.

Rabbit Holes

Als je zelfstandig werkt, kun je eenvoudig verdwalen in een ‘rabbit hole’. In dit geval ben je bezig met het oplossen van een probleem, zonder je nog te herinneren waarom je deze route ook alweer bent ingeslagen. Vooral developers die geïsoleerd werken zijn geneigd om in een ‘rabbit hole’ terecht te komen. Dit is een duidelijk teken van keuzestress. Samenwerkingsprocessen, zoals pair programming, helpen developers om ‘rabbit holes’ te vermijden door een cultuur van snelle feedback en kennisuitwisseling te creëren.
Hierbij is het verstandig om dagelijks te wisselen van samenwerkingspartners. Op deze manier leren teamleden hoe elk onderdeel van het systeem werkt. Dit is een geweldige manier om kennis met het hele team te delen en ervoor te zorgen dat het team altijd vooruitgang kan blijven boeken, zelfs als een teamlid niet beschikbaar is.

Domino-code

Developers zien vaak een bestaand patroon en kopiëren en plakken deze vervolgens. Hoewel het patroon misschien gemakkelijk te begrijpen was toen het aanvankelijk werd geïmplementeerd, kan herhaaldelijk gebruik ervan uiteindelijk een domino-effect creëren, waardoor datzelfde patroon op schaal niet meer goed werkt wanneer het is geëvolueerd.

Hoewel er developers zijn die strikt tegen code duplicatie zijn, kan het soms nuttig zijn. Er is een delicaat evenwicht tussen code duplicatie en het schrijven van een voortijdige abstractielaag. Soms is duplicatie in feite nodig als er nog geen abstractie of mooiere manier van schrijven is. Het kan dan goed zijn om even te wachten om te kijken hoe de code zich verder evolueert.
Een cultuur van groei en het delen van kennis
Dit is allesbehalve een exhaustieve lijst van alle methodes om code te bouwen die voor iedereen werkt. Consistentie in de toegepaste methodes (d.w.z. code stijl, opmaak, automatisering) is een ander belangrijk gebied waarop veel van de belangrijkste belemmeringen kunnen worden overwonnen. Maar de eerste stap om de beschreven methodes te implementeren, heeft te maken met een culturele verandering binnen de organisatie zelf.

Developers werken het beste wanneer de organisatiecultuur de groei en het delen van kennis binnen het team bevordert. Development teams moeten kernwaarden zoals communicatie, moed en respect koppelen aan elk aspect van het werk dat ze doen. Door dit te doen worden veel voorkomende obstakels waarmee developers worden geconfronteerd bij het schrijven van software weggenomen, terwijl het tegelijkertijd bijdraagt aan een toename van de productiviteit, de kwaliteit van het werk en het welzijn van developers.

Reactie toevoegen