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

Wat verdient een developer? Het complete overzicht

Wat verdient een developer in Nederland? Wat zijn de gemiddelde salarissen per opleidingsniveau en dienstverband? Hoeveel invloed hebben werkervaring ...
Michiel van der Avoird 17 apr 2018

Wat verdient een ICT'er? Het complete salarisoverzicht

Een ICT'er verdient in 2019 gemiddeld € 3.435,- bruto per maand, ruim een procent (€ 38,-) meer dan vorig jaar. Een starter krijgt € 3.161,- en ...
Michiel van der Avoird 23 okt 2019

Wat verdient een systeembeheerder? Het complete overzicht

Wat verdient een systeembeheerder en waar hangt dat vanaf? We duiken erin vanuit onze uitgebreide database, met data op basis van meer dan 10.000 vaca...
Nicole Haring 9 apr 2018

Wat is het verschil tussen IT en ICT?

De termen IT en ICT lijken misschien inwisselbaar, maar dat zijn ze niet. Het is bijzonder lastig om een consensus te bereiken over de exacte betekeni...
Michiel van der Avoird 21 okt 2019

Wil jij gratis leren programmeren? Ontdek deze 5 websites!

Softwareontwikkeling is een van de snelst groeiende vakgebieden, de vraag naar vakbekwame programmeurs blijft onverminderd groot. Wil jij gratis leren...
Michiel van der Avoird 11 feb 2019

Wil jij gratis leren programmeren? Ontdek deze 5 websites!

Softwareontwikkeling is een van de snelst groeiende vakgebieden, de vraag naar vakbekwame programmeurs blijft onverminderd groot. Wil jij gratis leren...
Michiel van der Avoird 11 feb 2019
 
check