6 tips om een goede Software Engineer te worden

6 tips om een goede Software Engineer te worden
Welke betekenis heeft het begrip engineering? Hoe word je software engineer? Waarin verschilt de rol van die van een developer? We geven 6 tips
De termen software developer, programmeur en engineer worden in de praktijk vaak door elkaar gebruikt. Daarom is het lastig om een eenduidig antwoord te geven op deze vragen. Het geheel van software engineering behelst grofweg het proces, de structuur, technologie en organisatie van softwareontwikkeling voor complexe systemen. Naast logische, wiskundige theoretische aspecten spelen engineering- en managementaspecten een rol.

Wat is software engineering?

Definities lopen uiteen:
  • Het toepassen van een gestructureerde, systematische en kwantificeerbare aanpak voor het ontwikkelen, implementeren en onderhouden van software (Jacquard).
  • Het gedisciplineerd toepassen van technische, wetenschappelijke en wiskundige principes en methoden op het efficiënt produceren van software (W. Humphrey).
  • Volgens het Agile modellingprincipe draait engineering meer om communicatie, waarbij ideeën van de gebruiker of opdrachtgever via programmeurs omgezet worden in softwareapplicaties.

Wat doet een software engineer?

Software engineering (onderdeel van de opleiding hbo ICT) volgt technische ontwerppatronen, principes en methodes en betreft meer dan programmeren alleen. Je kunt daarom stellen dat de vaardigheden van een engineer verder reiken dan die van een software ontwikkelaar. Anderzijds kun je stellen dat de aard van het werk wordt bepaald door de omstandigheden en persoonlijkheid van een developer.
  • Ingenieurs ontwerpen en realiseren oplossingen en applicaties voor complete netwerken, besturingssystemen en/of databases.
  • Daarbij zijn zij gespecialiseerd in een set programmeertalen en ontwikkelomgevingen.
  • Sommige engineers werken alleen, de meesten maken deel uit van een agile IT-team.
  • Engineers zijn (deels) verantwoordelijk voor testing en documentatie.
  • Als engineer werk je vaak intensief samen met een software tester.
  • Soms instrueren en begeleiden zij eindgebruikers, zoals werknemers van opdrachtgevers.

Een (embedded) software engineer richt zich op software voor complete platforms (en niet voor één klant) en apparaten. Een product moet aantrekkelijk zijn, een groot publiek aanspreken en keer op keer gedupliceerd kunnen worden met het oog op continuïteit en kwaliteit. De SE heeft een brede blik, denkt verder vooruit en stelt vragen met betrekking tot schaling en hergebruik.
e63522b2bce28729aa8f750bb7a25590670da19d0a744fc6.jpg

Hoe word je een succesvol software engineer?

1. Voorkom onderschatting, beloof niet te veel
Onderschat de hoeveelheid werk niet. Om en nabij 50% van alle projecten hebben te weinig budget of worden te laat opgeleverd. Houd dit in gedachten als je voor het eerst aan het werk bent als projectleider (bijvoorbeeld via Code Guild). Er moet een technisch ontwerp met tijdsplanning, budgettering en rolverdeling voor het hele ontwikkelproces worden opgesteld. Als je niet uitkijkt kom je op gespannen voet te staan met je teamleden.

Wees conservatief met je schattingen en bouw van tevoren een buffer in voor mogelijke fouten. Zo kun je voor de afgesproken kosten opleveren. Meer tijd geeft je de vrijheid je product te perfectioneren. Communiceer open en blijf consistent in je dialoog met belanghebbenden.

2. Perfectie bestaat niet
Misschien ben je bang zaken over het hoofd te zien bij de inrichting van je project of de samenstelling van het technische ontwerp. De kans is groot dat je alles ‘perfect' wilt doen. Zo zijn de meesten van ons immers geconditioneerd.

Iedereen loopt tegen beperkingen aan, perfectie bestaat niet. Je kunt niet alles van tevoren weten en controleren. Er zijn talloze alternatieven voor elke beslissing. Kies naar eer en geweten, objectief of op instinct.

3. Houd koers
Het maakt niet uit welke functie je uitoefent: focus houden is cruciaal. Stel doelen aan het begin van je project en committeer je daaraan. Je kunt niet iedereen tevredenstellen. Lever het product zo snel mogelijk op. Je weet niet wat de klant van de software vindt totdat je het aanlevert.

4. Verzamel feedback vroeg
Vroege releases, veel opleveren en zo snel mogelijk feedback ontvangen vormt de kern van agile werken. De mening van de klant is misschien wel het belangrijkste onderdeel van je softwareproject. Door vroege feedback weet je of het product voldoet aan de specificaties en wens van de opdrachtgever. Vroege releases stellen je in staat kapotte code te repareren en in ieder geval een minimum viable product (MVP) op te leveren.

5. Zoek voordat je vraagt
Zoek eerst zelf naar een antwoord voordat je een vraag stelt. Doe research, verken nieuwe, andere code. Dit betekent Googlen en Stack Overflow uitpluizen. Dat is niet iets slechts; het internet is van onschatbare waarde voor ontwikkelaars bij het zoeken naar oplossingen voor complexe problematiek. De kunst is om de juiste vraag te formuleren.

6. Optimaliseer voor eenvoud
Code schrijven is een kwestie van software optimaliseren om gestelde doelen te halen. Klanten en eindgebruikers moeten met het product kunnen werken, dus voorkom onnodige complexe interfaces et cetera. Collega-ontwikkelaars moeten je code kunnen lezen en doorgronden, dus kies altijd voor de eenvoudigere, schonere benadering.

Geschreven door
Michiel van der Avoird
Redacteur & ICT arbeidsmarktspecialist @ ICTerGezocht.nl
Meer leren?
Ga door met lezen

Frontend vs. Backend: wat is het verschil?

De termen ‘frontend' en ‘backend' verwijzen naar de fundamentele onderdelen van de programmering van (web)applicaties.
Michiel van der Avoird 18 nov 2020

Wat doet een Front-end Developer?

Een front-end developer ontwikkelt de voorzijde van websites, webshops, programma's en apps. Oftewel het voor de gebruiker zichtbare gedeelte.
Michiel van der Avoird 4 sep 2020

Big data | Kenmerken, voordelen & ICT vacatures

Hoewel 'big data' al geruime tijd in de schijnwerpers staat, weet menig mens niet precies wat de term inhoudt.
Michiel van der Avoird 19 mei 2020

De T-shaped ICT professional

T-shaped professionals zijn een uitstekende aanvulling op elk team. Ze hebben een kernrol en focus in hun werk, maar richten zich ook op andere gebied...
Michiel van der Avoird 8 dec 2019

Hoe herken je een goede ICT manager?

De ICT manager is verantwoordelijk voor het vormgeven en doorontwikkelen van het strategische informatiebeleid van een organisatie. Hij inventariseert...
Michiel van der Avoird 1 dec 2019

Wat doet een IT Consultant?

Een IT consultant is een (externe) analist die de IT-systemen van bedrijven evalueert om hen te helpen hun zakelijke doelstellingen te bereiken.
Michiel van der Avoird 19 nov 2019
 
check