Software engineer
Wat is een software engineer?
Een software engineer is iemand die op basis van behoeften van de eindgebruiker software ontwikkelt, schrijft, implementeert, test, verbetert en onderhoudt. Als software engineer draag je verantwoordelijkheid voor het gehele proces van het omzetten van wensen, problemen of vragen naar concrete software-oplossingen. Het gaat dus niet alleen om programmeren, maar ook om alle zaken hieromheen, zoals de planning van de werkzaamheden, het overleg met de opdrachtgever en het onderhoud van de software. Het werkveld van een software engineer is hiermee breder dan dat van een programmeur of developer, wiens taken primair liggen bij het daadwerkelijke programmeren.
Wat doet een software engineer?
Software engineers zijn door middel van een systematische en gedisciplineerde aanpak verantwoordelijk voor het gehele proces rondom de ontwikkeling, de uitvoering en het onderhoud van software. Van het bepalen van de eisen tot aan de oplevering van de software speelt de software engineer een belangrijke rol. In grote lijnen bestaan de werkzaamheden van een software engineer uit de volgende onderdelen:
- Analyseren van de eisen waaraan de software dient te voldoen
- Opstellen en uitwerken van de gewenste specificaties van de software (vaak in een functioneel ontwerp)
- Plannen van de uitvoering van de programmeerwerkzaamheden
- Ontwikkelen en produceren van de software (vaak in nauw overleg met de klant en/of opdrachtgever)
- Testen of de software correct functioneert en of deze aan de eisen van de eindgebruikers voldoet
- Schrijven van begeleidende documentatie over de software, zowel voor eindgebruikers als technici die ermee moeten werken
- Onderhouden en updaten van de software; deze aanpassen aan eventueel veranderende eisen
Waar werken software engineers?
Een software engineer is vaak in dienst van een softwarebedrijf dat voor externe klanten (maat)oplossingen ontwikkelt en uitvoert. Niet zelden gebeurt dit op detacheringsbasis. Daarnaast zijn er software engineers die binnen een bedrijf zelf verantwoordelijk zijn voor het gehele proces van software-implementatie: vooral grotere bedrijven, overheidsinstellingen en banken hebben eigen software engineers in dienst.
Software engineers kunnen in hun werk met vele soorten collega’s te maken hebben, waaronder (IT-)consultants, informatie-analisten en projectmanagers binnen het bedrijf waarvoor zij nieuwe software ontwikkelen. Daarnaast komen software engineers vaak in aanraking met andere software-specialisten als front-end developers, back-end developers, app developers, applicatiebeheerders, service managers en software architecten.
Hoe word je software engineer?
Om software engineer te worden heb je een technische opleiding nodig, bijvoorbeeld:
- (Technische) Informatica (hbo, wo)
- Industriële Automatisering (hbo)
- Elektrotechniek (hbo, wo)
Een mastertitel in Software Engineering kun je in Nederland behalen bij diverse universiteiten die ook een informatica-opleiding aanbieden, waaronder de Universiteit van Amsterdam, de Universiteit Twente en de Radboud Universiteit Nijmegen. Hiervoor dien je wel eerst met succes de wo-opleiding informatica te hebben afgerond.
Naast de juiste opleiding is voor software engineers een goed analytisch vermogen vereist om de bedrijfsprocessen, behoeften, aanwezige informatie en producten te kunnen analyseren. Een gestructureerde aanpak is een onmisbare eigenschap bij het ontwikkelproces van de software. Daarbij is de nauwkeurigheid van de software engineer belangrijk bij het ontwikkelen van algoritmes, gegevensmodellen of programma’s.