Software-ontwikkeling: meer dan alleen techniek en frameworks
Dick van Hirtum is software-ontwikkelaar bij OGD. In een nieuwe serie blogposts vertelt hij over zijn ervaringen, inzichten en best practices als ontwikkelaar. Nuttige informatie voor andere ontwikkelaars, maar ook voor iedereen die een kijkje in de keuken wil van het leven van een developer. Hieronder leest u zijn tweede blogpost, de eerste post vind u hier.
Software-ontwikkeling is meer dan alleen technische kennis. Vroeger, met het watervalmodel, kwam je daar misschien nog wel mee weg, maar tegenwoordig is alles agile. In ieder geval in mijn ervaring. En daarin wordt er veel meer verwacht van een ontwikkelaar. Om mee te kunnen draaien in een multidisciplinair team dat self-organizing is en iteratief werkt, moet een ontwikkelaar sociaal veel beter onderlegd zijn. Er wordt namelijk van je verwacht dat je niet alleen iets bouwt, maar dat je ook meedenkt over wat er gebouwd moet worden en hoe je dat (met jouw team) gaat doen.
Er zijn heel veel competenties die belangrijk kunnen zijn binnen software-ontwikkeling, zoals communicatie, samenwerken, analytisch vermogen, resultaatgerichtheid, etcetera. Het is onmogelijk om alle competenties te beheersen en dat is gelukkig ook niet nodig. Juist de combinatie van persoonlijkheden kan een team ijzersterk maken als ze elkaar goed aanvullen en als ze goed met elkaar kunnen samenwerken.
Wel is het belangrijk om aan deze competenties te blijven werken, net als je dat doet met het up-to-date houden van je technische kennis. Aan welke competenties je werkt kan niemand voor je bepalen, iedereen heeft zijn eigen voorkeuren en moet daarin dus zijn eigen weg vinden. Wat ik wel kan uitleggen is wat ik zelf doe om aan mijn niet-technische skills te werken.
Communicatieve vaardigheden trainen door te presenteren
Ik houd er van om presentaties te geven over nieuwe technieken of frameworks die ik heb geleerd. Ik vind het leuk om te zien hoe die dingen overkomen op andere ontwikkelaars en welke vragen er dan bij hen opkomen. Op die manier kan ik mij nog verder in het onderwerp verdiepen en train ik gelijk mijn communicatieve vaardigheden.
Schrijfvaardigheid vergroten met documentatie en blogposts
Technisch documenteren is een belangrijke taak voor een ontwikkelaar. Op die manier draag ik kennis over aan de volgende ontwikkelaar die aan mijn code moet werken, ook als ik dat zelf ben maar dan zes maanden later. Als je een keer een project opnieuw hebt opgepakt waar je een half jaar eerder zelf aan hebt gewerkt, dan weet je hoe belangrijk goede technische documentatie kan zijn.
Ik leer zelf ook nog elke dag beter schrijven. Deze blog heeft mij bijvoorbeeld weken gekost om te schrijven. Maar dat is ook de reden dat ik dit schrijf. Door het vaker te doen hoop ik er beter in te worden. De vorige blog kostte me maanden om te schrijven. Al na het schrijven van twee blogposts merk ik dat ik de structuur van mijn verhaal sneller helder krijg en dat ik makkelijker de juiste woorden kan vinden.
Code-puzzels maken voor sterker analytisch vermogen
Een leuke manier om je analytisch vermogen te trainen is door het maken van puzzels. Op internet zijn tal van puzzels te vinden om uren mee bezig te zijn. Een van mijn favorieten is Pex for fun. Hierin is het de bedoeling om code te schrijven om een verborgen implementatie te laten slagen. De site genereert vervolgens automatisch test cases om jouw oplossing te controleren.
Samenwerken leren door evenementen te organiseren
Door met vrienden en collega’s aan evenementen zoals coding dojo’s en hackathons mee te doen, of ze zelf te organiseren, probeer ik in een ontspannen omgeving beter te leren samen werken. Dankzij het competitie-element en het feit dat je niet bezig bent met je dagelijks werk, staan mensen naar mijn idee meer open voor het leren van nieuwe technieken.
Zoals ik hierboven al aangaf zijn dit manieren die ik persoonlijk gebruik om aan mijn niet-technische skills te werken. Misschien herken jij jezelf hierin of brengt het je op ideeën. Wellicht zet het je aan om jouw technieken ook met anderen te delen. In ieder geval wilde ik je er bewust van maken dat er meer is om te leren dan alleen de nieuwste technieken en dat werken aan niet-technische skills ook heel leuk kan zijn.
Misschien vind je dit leuk
Anderen hebben deze artikelen gelezen