Search


Wat maakt iemand tot een vakkundig softwareontwikkelaar?

Door: Henri Kluijtmans 23-07-2018

Er zijn meerdere vormen van software ontwikkeling. Zo heb je administratieve software ontwikkelaars die bijvoorbeeld in C#, Java of Cloud computing werken, veelal Object-oriented programming. Ze zijn vooral bezig met tastbare dingen, zoals formulieren bouwen of (workflow) processen automatiseren.
Laptop with Microsoft.NET open
Dan heb je de vorm van machines programmeren waar je weer met andere talen werkt. Je programmeert rechtstreeks op de hardware, denk aan lopende banden, machines en robots. Bij deze vorm wil je controle wat wanneer gebeurt en is 2 seconden speling onacceptabel. Machines programmeren wordt ook wel low level programmeren genoemd omdat je rechtstreeks op de hardware programmeert.

Er zijn nog veel meer vormen van software ontwikkeling zoals game development en 3d-model development maar die laten we buiten beschouwing in deze blog.


Wat software ontwikkelaars gemeen hebben


Een software ontwikkelaar bouwt iets dat nog niet eerder gebouwd is. Als het al gebouwd is kan het direct gebruikt worden. Dat maakt dat een relatief hoog abstractieniveau nodig is om te kunnen programmeren.

Voorbeeld: Je schrijft software waarbij een klantenlijst ingeladen wordt waarvan je zegt “ik wil deze alfabetisch sorteren”. Dan moet de software functioneren met een klantenlijst van 1 miljoen maar ook met een lijst van 1000 klanten. Hier moet vooraf rekening mee gehouden worden in bijvoorbeeld het sorteer algoritme. Over het algemeen is het vooraf (tijdens het bouwen) niet bekend hoe de data input gaat zijn en welke data uitput er moet zijn.

Verder werken software ontwikkelaars gestructureerd want een ; of spatie op de verkeerde plaats en de software functioneert niet. Het liefst zou een ontwikkelaar het testen van de software willen voorkomen doordat hij zo gestructureerd gewerkt heeft dat er geen logische fouten in de software zitten.


Karaktereigenschappen


Een belangrijke karaktereigenschap voor een ontwikkelaar is lui zijn. Is hij namelijk niet lui? Dan schrijft hij teveel code! Daarnaast moet hij een sterke eigen menig op het eigenwijze af hebben. Hij moet overtuigd zijn van zijn eigen gelijk én dat over de bühne brengen. Hij heeft iets verzonnen wat er nog niet is. De meeste mensen zijn geen abstracte denkers en begrijpen niet wat hij verzonnen heeft. Als hij zijn software hierop zou aanpassen dan is hij zijn software om zeep aan het helpen.

Ook is een ontwikkelaar een puzzelaar en doorzetter. Hij moet genoegdoening hebben om weken bezig te zijn om een probleem op te lossen. Waarna hij het probleem heeft opgelost denkt “dat had ook in 10 seconden gekund”.


Leren programmeren


Software ontwikkelaar worden is mogelijk met een gedegen opleiding waarbij veel geoefend wordt. Dit kun je het beste leren van iemand die het kan.

De bekende how-to video’s en online cursussen zijn geweldig voor iets dat 100 keer herhaald kan worden zoals een sjabloon maken in Word. Dat zijn stappen die doorlopen worden en aan het eind is er een werkend sjabloon. Bij programmeren weet je de stappen nooit want als je die wel weet, had je het al geprogrammeerd.

“Het zijn niet de stappen die je een goed programmeur maken, het is het bedenken van de stappen. Je moet begrijpen wat je moet doen om daar te komen. Dát is de doorvertaling die je maakt als software ontwikkelaar.”


Kennis van de beroepstak of branche


De vraag die hierbij hoort, wat voor software wil je ontwikkelen?

Zo heb ik aan de HIO (Hogere Informatica Opleiding) leren programmeren en daarna heb ik HEAO Economisch-Fiscaal gedaan. Bij die laatste heb ik vakken als organisatiekunde, fiscaal en arbeidsrecht gehad. Die kennis mij zeer waardevol gebleken bij het automatiseren van administratieve processen. Stel voor dat je chemische processen wilt automatiseren, dan is het handig om laborant te zijn.

Conclusie

Een vakkundig ontwikkelaar kan zelf nieuwe dingen schrijven en de vraag stellen “is wat ik gemaakt heb ook wat het moet zijn?”. De kunst hierbij is het (her)gebruiken van wat er al geprogrammeerd is en zelf te schrijven wat er nog mist. Een niet-vakkundig ontwikkelaar moet altijd een voorbeeld hebben als basis.

Mocht je naar aanleiding van deze blog nieuwsgierig zijn wat wij voor jou kunnen betekenen, neem dan contact met ons op.

Weten of jouw kennis nog actueel is? Lees dan 'Hoe actueel is jouw kennis morgen nog?'.