Ronald Kerssies | Jun 24, 2024

Introductie

ict-lyceum

Het beroep

Softwareontwikkeling is een specialistisch vak. Maar toch moet een Softwaredeveloper zich breed oriënteren in kennisgebieden en vaardigheden, denk daarbij aan o.a.: verschillende vormen van samenwerken, klanten/opdrachtgevers, programmeertalen, ontwerptechnieken en tools. Daarbij komt een grote variatie aan zakelijke vraagstukken die werken met verschillende platformen, informatiesystemen en devices waar de software voor wordt geschreven.

Zo kunnen er zakelijk vraagstukken worden uitgewerkt als: web-applicaties, websites, app's en toepassingssoftware.
Daarnaast zijn er uitdagingen voor 'immersive applications', met onderandere 3D, VR, AR en games uitdagingen. Hiervoor is de opleiding CreativeDeveloper.


De Softwaredeveloper werkt bij het realiseren van software vooral in teamverband, waarbij er meestal wordt samengewerkt met andere disciplines, zoals andere developers, designers en de opdrachtgever. Er wordt in een grote mate van zelfstandigheid gevraagd in uit uitvoeren van taken, het zoeken naar passende oplossingen, het actief communiceren over eigen werkzaamheden en vragen naar hulp bij het vastlopen in de werkzaamheden.

Tijdens het ontwikkelproces is er regelmatig contact met de opdrachtgever, leidinggevende en belanghebbenden. Een Softwaredeveloper moet zeker communicatieve- en presenteer-vaardigheden hebben.
De verantwoordelijkheid voor het realisatie proces ligt vaak bij het gehele ontwikkelteam. Overleg over het eindproduct wordt vaak door een projectleider (product-owner) of leidinggevende uitgevoerd.

De Softwaredeveloper werkt in vrijwel alle sectoren zoals; de brede ICT-sector, de economische sector, zorg, onderwijs, transport en de creatieve -sector en nog veel meer. Het helpt dat naast het vak Softwaredeveloper ook affiniteit te hebben met andere sectoren om zo beter te kunnen inleven in de klantsituaties. Als softwaredeveloper ben je als 'beginnend beroepsbeoefenaar' vaak werkzaam in het midden- en kleinbedrijf, maar grotere concerns/organisatie en werken als ZZP-er vallen ook onder de mogelijkheden.

Het is van groot belang dat de Softwaredeveloper de privacy van klanten, opdrachtgevers en van alle (toekomstige) gebruikers van de applicatie beschermt. Daarnaast moet software veilig zijn en beschermd zijn tegen oneigenlijk of crimineel gebruik.

De opleiding moet voldoet aan het kwalificatiedossier van SoftwareDeveloper (bron: SBB)

Benodigde breoepscompetenties (of een must om deze te ontwikkelen)

  • Willen leren;
    Je hebt veel kennis en ervaring nodig om in het bedrijfsleven mee te doen als SoftwareDeveloper. Dit vraag van jou inzet en doorzettingsvermogen om mee te kunnen doen op het huidige technische niveau en huidige uitdagingen en die van de toekomst.

  • Doen;
    Om goed te worden in het programmeren moet je veel expirimenteren met code. Het schrijven van werkende code gaat niet altijd direct goed. Laat staan dat het is uitgevoerd volgens een 'best-practice' manier. Bij tegenslagen moet je kunnen en willen doorzetten. Vragen durfen stellen om de (beste) oplossing te vinden is een 'must'. Ervaringen opdoen gaat veel tijd kosten tijdens de les, maar (hopelijk/waarschijnlijk) ook thuis.

  • Communicatie en presenteren;
    Je gaat applicaties maken voor klanten, die specifieke wensen en eisen hebben. Om goed te begrijpen wat de oplossing exact inhoudt moet je goed communiceren en vragen stellen en samenwerking. Het applicatie of delen daarvan worden meerdere keren aan de klant gepresenteerd en technisch toegelicht (code-review) aan collega's.

  • Samenwerken;
    Een ICT-ers, en dus ook SoftwareDevelopers, zijn geen eenlingen die ergens iets achter een computer zitten te doen. Voor het maken van een applicatie zijn verschillende technieken nodig uit met verschillende specialismen. Al deze kennis bevatten te veel details en ervaringen voor één persoon. Ook kan er door effectief samen te werken en goed teamoverleg sneller en goedkoper worden gewerkt. Programmeren is teamwerk !

Onderwijsvormen KLAS en FLEX

De opleiding is te volgen in een klassikale- en flex-lesvorm. De vormen zijn na genoeg identiek op met kleine verschillen in groepsgewijs werken bij:

  • aanpak en uitvoering bij de algemene vakken (Nederlands, Engels, Rekenen en Burgerschap), met daarbij een lesrooster met studenten in een klas of op basis van workshops
  • er wordt bij flex vanaf het begin meer zelfstandigheid verwacht, waarbij er in een klas-setting in het begin nog meer wordt ondersteund in plannen, keuzes maken en een klassikale uitleg op de verschillende basis-onderwerpen
  • de tools die worden gebruikt om jouw voortgang vast te leggen De programmeervakken zijn (bij voorkeur) in grote lesblokken ingepland waarin jij jezelf kan ontwikkelen. Dit begint met een vaste basis, waarna je steeds meer eigen keuzes en uitwerkingsvormen kan kiezen.

Bij een set opdrachten gaat elke student verwoorden wat hij/zij daar persoonlijk van wil leren. De ontwikkelingen hierin moeten worden telkens besproken en bijgehouden, zodat ook de volgende opdrachten goed aansluiten bij jouw ontwikkeling.
Er wordt klassikaal in de basis een nominaal programma aangeboden. In overleg met de docenten kan worden afgeweken van het standaard (nominale) programma en wordt er binnen de programmeerlessen maat werk worden geleverd.
Bij de flex-lesvorm wordt er al bij de eerste dag gekeken of er maatwerk nodig is.

Eerdere feedback en feedforward bepalen jouw lesinhoud

Naast deze lesmomenten zijn er per jaar vier momenten waarop al jouw eerdere werk wordt geëvalueerd en dat er nieuwe doelen voor het komende kwartaal worden vastgelegd. In de klassikale lesvorm gebeurt dit in een speciale lesweek (Rubrics-week) die cyclisch per kwartaal worden ingepland. Bij flex zijn er wekelijks bespreking voor studenten die cyclisch worden herhaald. De gespreksresultaten (Rubrics) worden bewaard om inzicht te krijgen in jouw voortgang en ontwikkelingspad. Naast traditionele scores (cijfers) bij de algemene vakken, worden er géén cijfers gegeven voor de programmeervakken. De voortgang en kwaliteit daarvan is verwerkt in de verschillende Rubrics met een omschrijvingen.

Differentiatie

Afhankelijk van persoonlijke voorkeur in programmeertalen kan een student in overleg met zijn LOB-er in zijn Rubrics laten vastleggen dat hij zijn focus legt op:

  • Volledig Frontend
  • Full-stack Programmeur (beide Frontend- en Backend-technieken)
  • Volledig Backend
  • Anders (in overleg is het mogelijk om je te ontwikkelen in een ander programmeer werkveld) Deze specialisatie moet/mag (waar mogelijk) ook worden uitgevoerd binnen de SCRUM-projecten.

Binnen het standaard (nominale) programma begint elke student met de basis in het programmeren. Als de basis is gelegd kan een student een half jaar op stage (BPV). Na de stage ga je een applicatie maken binnen een projectteam volgens de SCRUM-methodiek. De casus is bij voorkeur van een externe (non-commerciële) partij, maar er zijn ook verschillende fictieve- en oude examencasussen beschikbaar. In al dit werk kunnen er bewijsstukken worden verzameld voor het portfolio. Hierop kan jij een akkoord met feedback of feedforward krijgen. Als het bewijsstuk niet akkoord is, dan wordt er verwacht dat jij het bewijsstuk vanuit een andere context opnieuw maakt en de feedforward daarin meeneemt. De bewijsstukken per WerkProces worden uitgewerkt in een STARR-document, waarin inzichtelijk wordt in elke situaties de bewijsstukken zijn uitgewerkt, hoe deze in stappen zijn uitgewerkt, het bewijsstuk(ken) zelf, en de ontvangen feedforward, feedback en hoe dit is toegepast.

Als uit Rubrics (LOB), De STARR-uitwerkingen en de aangeleverde bewijsstukken blijkt als jij je gedraagt als een beginnend beroepsbeoefenaar SoftwareDeveloperen bewijsstukken van voldoende kwalitatieve waarde in jouw portfolio hebt verzameld, kan jij per KernTaak (of als het niet anders kan) ook per WerkProces een presentatie en eindgesprek aanvragen. Bij het examen wordt er gebruik gemaakt van de SPL-criteria die gelden voor de opleiding SoftwareDeveloper.