Dagboek van een bijscholer
Steven Kuypers is begin 2000 bij SILVAC gestart als
RPG/400-ontwikkelaar. In de afgelopen jaren heeft hij als iSeries-ontwikkelaar
meegewerkt
aan diverse projecten in de financiële sector. Eind 2004
is voor Steven het moment aangebroken om te starten met het bijscholingstraject
voor ervaren ontwikkelaars naar WebSphere. In deel 1 beschrijft
Steven waar hij gedurende dit traject tegenaan liep en hoe het
is om deze omslag door te maken. Na de bijscholing gaat hij een
stageproject uitvoeren om zijn opgedane kennis in de praktijk
te brengen. Zijn ervaringen tijdens dit stageproject zal hij
weergeven in deel 2.
Aan het einde van het vorige jaar ben ik, Steven Kuypers, begonnen
aan wat wij bij SILVAC het ‘WebSphere-traject’ noemen.
Dit betekent zoveel als: je stopt nu met RPG, CL, groene schermen,
de F4-toets, commando’s met veel medeklinkers, en je krijgt
een opleiding in Java en WebSphere. En vervolgens blijf je leren.
En normaal gesproken (company policy) is er geen weg terug, oftewel:
ik en de collega’s die hetzelfde traject doorlopen, zullen
waarschijnlijk niet nog eens in een traditionele AS/400-omgeving
worden ingezet. Een logisch uitgangspunt, want om thuis te raken
in WebSphere, is toewijding en tijd nodig en daarmee is een afscheid
van de AS/400 in de praktijk bijna onontkoombaar.
Een pijnlijk afscheid
Hoe groot ook de uitdaging, soms, wanneer niemand het hoort (we doen desnoods
eerst de deur dicht), verzucht ik met een aantal collega’s dat dit
afscheid ons pijn doet.
Het platform waar we nu mee werken, heet Windows en dat heb ik jarenlang alleen
geschikt geacht voor de computer thuis, niet voor serieuze doeleinden, of ten
hoogste voor ondersteunende zaken: wanneer het werk (AS/400) klaar is, meld
je dat met Microsoft Outlook (Windows).
Dit is ook een beetje ingegeven door de ervaring dat je veel
problemen in een Windows-omgeving kunt oplossen door het óf
nog een keer te proberen óf door eerst alles af te sluiten
en het daarna nog een keer te proberen; iets wat op een AS/400
gewoonweg niet bestaat. Die is namelijk wat men noemt ‘stabiel
en robuust’ en dat was wat mij betreft altijd aanbeveling
genoeg. Eén van de collega’s die enige tijd terug
de overstap maakte, gaf laatst nog hoog op van de ‘heerlijk
duidelijke’ logging waarmee alles terug te vinden was...
Maar goed, tot nu toe had ik voornamelijk geprogrammeerd (en
gedacht en gedroomd) in Asset, een tool die RPG genereert, en
nu ben ik bezig met iets dat ik, eerlijk is eerlijk, toch leuker
vind. Ik wilde maar even zeggen dat de AS/400 in mijn ogen niet
heeft afgedaan.
De nieuwe uitdaging
Het leuke en het moeilijke van Java en WebSphere zit hem met name in de objectgeoriënteerde
benadering, iets dat in huiselijke kring niet uit te leggen valt. Meestal vat
ik het samen als ‘programmeren vanuit een andere gedachte, een ander
gezichtspunt, een nieuw paradigma’. Dat heeft iets filosofisch, suggereert
terecht een grote impact, en het mist zijn effect dan ook meestal niet. Als
het zo uitkomt, voeg ik daar dan nog ‘culture shock’ aan toe en
iedereen weet weer dat het in de ICT hard werken geblazen is.
Omdat ikzelf ook met vragen bleef zitten, heb ik het in mijn
vrije tijd nog eens op internet gezocht en vond toen:
Bij deze zienswijze wordt de wereld beschouwd als een verzameling entiteitsoorten
(objecten), die 1. bepaalde kenmerken (attributen) bezitten, en 2. operaties
(methoden) kunnen toepassen.
Naar mijn oordeel is dit juist beschreven en vallen er twee
dingen op. Ten eerste: een buitenstaander weet nu eigenlijk nog
steeds niets. Ten tweede: ‘objectgeoriënteerd’ benadert
de werkelijkheid in essentie beter dan de zienswijze (was die
er?) van het programmeren in 3GL. In dit alles schuilt iets tegenstrijdigs
en dat tekent weer een beetje de worstelingen op de werkplek:
soms is de eerste gedachte de beste en wordt ze bemoedigend in
ere hersteld door de derde gedachte, nadat ze dreigend is aangekeken
door de tweede. Enfin, bent u daar nog?
Verwarring
Een ander aspect dat nog dagelijks opvalt is de naamgevingsconventie. Zo moeten
namen van variabelen beschrijvend zijn en liefst uit hele woorden (geen afkortingen)
bestaan. Met andere woorden, je zou een Java-programma kunnen bedenken waarbinnen
een zinsnede als CoffeeCupHolder coffeeCupHolder = new CoffeeCupHolder valide
en zelfs wenselijk is. Behalve dat daarmee in poëtische zin vooruitgang
is geboekt, zie ik toch vooral voordeel in de compactheid van het principe.
De CoffeeCupHolder is een herbruikbaar object en omdat het ooit al gecreëerd
was, hoeft het wiel nu niet opnieuw te worden uitgevonden. Daarnaast zijn
de variabelen van CoffeeCupHolder in feite ingekapseld, anders dan in bijvoorbeeld
een RPG-programma waar de variabelen overal in de vele subroutines kunnen
veranderen. Als je er even over nadenkt, is dat een kweekbed voor fouten,
want deze gemeenschappelijke variabelen zijn niet beschermd tegen slecht
geschreven procedures (en de procedure die de fout rapporteert, heeft hem
wellicht niet zelf veroorzaakt...).
De bijscholing van ervaren ontwikkelaars naar
WebSphere
Om volledig omgeschoold te worden van de traditionele ontwikkeling naar
WebSphere-ontwikkelaar, dient kennis opgebouwd te worden van Java, WebSphere
en Object Oriëntatie.
- Java Programming Fundamentals
- OO Concepts with UML
- Java Programming Advanced
(Sun certified programmer)
- WebSphere Studio Workbench for Java Developers (WSAD)
- WebSphere Introduction
- WebSphere Application Server
(IBM Certified Solution Developer)
|
Van theorie naar praktijk
Na mijn opleidingsperiode, waarbij ik soms dacht “een kind kan de was
doen”, maar ook vaak “waar ben ik nu precies aan begonnen”,
heb ik inmiddels mijn werkplek weer ingenomen en stel ik vast dat ik er elke
dag wat bijleer. Overigens, het idee dat ervaring in 3GL een belemmering zou
zijn voor het leren van objectgeoriënteerd programmeren, is niet juist.
Ik zie beginnende programmeurs zich ook wel achter de oren krabben. Daarnaast
is de grappige suggestie dat je eerst al je programmeerkennis overboord zou
moeten gooien alvorens..., volgens mij ook niet echt afkomstig van deskundigen.
Al met al blijft het dus nog even aftasten, maar de kop is er af.
Lees
het vervolg van het dagboek
|