Robbert Celen WPL blog

Author: robbert

  • Laatste week

    Deze week was de laatste van mijn stage aangezien ik donderdag aan 72 dagen zou zitten. Alle projecten waar ik mee bezig was waren ongeveer afgerond en aangezien er niet meer voldoende tijd was om iets nieuw te starten was het even zoeken waar ik me nog mee bezig zou kunnen houden.
    Dimitri besloot dat het nog een goed idee was om me aan zijn Acerta project mee te laten werken. Acerta is een platform om personeelsleden op te beheren.

    Dimitri had de voorbije weken al lang zitten knoeien met hun api en kon mijn hulp dus nog wel gebruiken. Hij liet me zijn werk dubbelchecken en bugs oplossen.
    Tot slot benutte ik donderdag nog om wat extra documentatie te schrijven voor mijn gemaakte projecten en om zeker te zijn dat ik alle branches had gepushed.
    Na donderdag was mijn werk bij Multi Masters klaar maar toch stond ik er vrijdagmiddag weer. Niet om te werken maar wel om nog een laatste keer samen met mijn collega’s te eten. Ik had het idee om met z’n allen buiten te gaan picknicken. Jammer genoeg ging dat niet door het Belgische weer. Toch konden we het gezellig maken in de vergaderzaal.

    Die avond ben ik nog met een aantal collega’s de nieuwe Mission Impossible film gaan kijken. De film zelf was niet spectaculair maar het gezelschap was wel top!
    Je kan natuurlijk niet naar de cinema gaan zonder daarna de Burger King te bezoeken.
    Zo sloot ik officieel mijn stage of met een chickennugget-menu en een voldaan gevoel.

  • Zaken op orde stellen

    Al sinds voordat ik mijn stage mij Multi Masters begon is er blijkbaar een probleem dat al een tijdje meesleept. Doordat er niet altijd voldoende of de juiste checks gebeuren bij het aanmaken van een nieuw personeelslid waren er een aantal mensen die 2 of soms zelfs 3 keer stonden geregistreerd. Iemand moest dus 1 voor 1 alle records dubbele personeelsleden bekijken en ze handmatig rechtzetten. Echter lag er nog een addertje onder het gras. Er zijn verschillende platformen die elk hun eigen database gebruiken. Om de paar minuten synchroniseren die databases met elkaar. Dat wil dus zeggen dat als we het niet op alle plaatsen tegelijk de dubbele personeelsleden zouden verwijderen dan zouden die na een synchronisatie opnieuw dubbel komen te staan.

    Plots werd deze job voor 1 persoon een job voor 3 personen. Zo gingen Dimitri, Ken en ik aan de slag met wat ongetwijfeld een zeer eentonig en langdradig werk ging worden.

    Zo zijn we bijna aan volledige dag bezig geweest met het rechtzetten van de data. 1 voor 1 gingen we elke naam checken. Dit was zeker en vast niet mijn favoriete dag maar.

    Ook gingen we deze week de verjaardag van een collega vieren. Zo zaten we vrijdag met z’n allen in het restaurant de stroboer, een restaurant dat een eigen voedselbank heeft.
    De porties waren enorm waardoor iedereen moeite had om alles op te krijgen.
    Na het hoofdgerecht kwamen die serveerder plots af met rijstpudding voor iedereen. Bijna niemand kreeg nog een hap binnen dus de meesten lieten hun rijstpap staan, maar niet ik. Ondanks mijn overvolle maag besloot ik om de uitdaging toch aan te gaan en mijn rijstpudding binnen te lepelen, een beslissing waar ik nadien nog spijt van zou hebben.
    Na onze extra lange middagpauze konden ze ons wel terug naar bureau rollen.
    Het was die vrijdagmiddag dan ook heel moeilijk om met onze goed gevulde magen nog veel werk te verrichten.

  • Nieuwe collega

    Maandag 17/3 bevond ik me, zoals gewoonlijk, op kantoor. Echter was er deze keer iets anders dan normaal. Deze keer stond ik oog in oog met een bedreiging: een andere stagiair.
    Meteen raasden er een hoop vragen door mijn hoofd. Wie is deze persoon, wat komt hij hier doen, komt hij mij vervangen?

    Blijkt dat Giel, de nieuwe stagiair, in zijn laatste jaar van het middelbaar zit en als eindproject 2 weken mee op een bedrijf moet werken. Hij zou zich voornamelijk met netwerken bezighouden.
    Het gevaar was geweken, voor nu.

    Na een argwanende kennismaking bleek Giel een aangenaam persoon te zijn en geen directe bedreiging voor mijn voortbestaan bij MultiMasters.

    Ook was het interessant om te horen welke leerstof hij te zien heeft gekregen bij zijn opleiding. Zelf ben ik namelijk pas begonnen met IT op de hogeschool. Het was verbazend hoe groot zijn skillset al wat met enkel leerstof uit de middelbare school.

    Deze week bracht ons niet enkel een extra stagiair maar ook warmer weer. Dat gaf ons de kans om ‘s middags, samen met mijn andere collega’s, buiten van de zon te genieten en Giel wat beter te leren kennen.

    Verder ging ik tijdens week 7 vooral aan de gang het verder debuggen van het VB-project. Zo waren er nog een aantal fields die niet automatisch werden geüpdatet.
    Dit bleek moeilijker te zijn dan verwacht. De bestaande code bevatte een overdaad aan eventhandlers. Deze eventhandlers pasten steeds andere velden aan die op hun beurt een andere eventhandler aanriepen. Het resultaat was een hele spaghetti van eventhandlers waarbij het niet te volgen was wanneer die elk werden aangeroepen.

    Om dit probleem op te lossen moet ik telkens in mijn methodes eventhandlers uitschakelen om ze dan vervolgens op het einde terug in te schakelen. Een zeer slordige oplossing.

    De oplossing bleek niet zo heel moeilijk te zijn. Mijn collega’s kwamen met het idee om voor de facturen die automatisch moeten worden ingevuld een apart scherm te maken dat er ongeveer hetzelfde uitziet. Zo is het verschil tussen gewone en Billit facturen beter zichtbaar en kan ik de velden invullen zonder me zorgen te moeten maken om de eventhandlers.

    Zo lukte het met toch om de facturen op een foutloze en stabiele manier te verwerken en zodoende VB wat beter te leren kennen.

  • Visual basic

    Deze week kreeg ik een nieuwe taak naar me toe geschoven.
    Momenteel worden facturen verwerkt door de boekhouding in het zelfgemaakte platform CMD. Bij die facturen zit vaak een xml-file.
    Nu was het aan mij om met die xml-file zo veel mogelijk van de verwerking automatisch te laten gebeuren.

    Het grootste probleem dat ik hiermee had was het feit dat de al bestaande applicatie was geschreven in Visual Basic. Wederom iets dat ik nog nooit eerder had gezien.
    Het tweede probleem dat ik had was dat de applicatie bestaat uit een 5000 lijnen aan code die 7 jaar geleden door een andere developer zijn geschreven.

    Nieuwe code schrijven in een taal die ik niet ken en terwijl zien dat ik de bestaande applicatie niet kapot maak is geen makkelijke taak. Ik zou dan ook de volledige vijfde week bezig zijn met het debuggen van de applicatie en proberen uitzoeken hoe de flow juist in elkaar steekt.
    Pas in week 6, na een zeer frustrerende week testen zou het automatiseren wat vorm beginnen krijgen.

    Aangezien deze software uiteindelijk de binnenkomende facturen hoort te verwerken is er geen ruimte voor fouten. De applicatie mag in geen enkele situatie crashen en mocht er toch iets verkeerd lopen met een factuur dan moet dat natuurlijk gelogd worden en mag die factuur natuurlijk niet verloren geraken.
    Mijn nieuwe code integreren in het bestaande project bracht ook problemen met zich mee zoals bepaalde velden die plots niet meer wilden updaten.
    Daarom ben ik dan ook bijna heel week 6 bezig geweest met het testen, aanpassen en uitbreiden van checks op het formulier.

    Zo had ik op het einde van de week een vrij stabiele versie kunnen maken. Ondanks dat is er nog wat bebug-werk aan de winkel.

  • Variatie 

    De voorbije 3 weken was het een gewoonte geworden om elke ochtend naar MultiMasters te fietsen. Daarom voelde het maandag vreemd om naar AP te fietsen 
    voor het eerste intervisiemoment. 

    Het intervisiemoment was een goed moment om stil te staan bij mijn ervaringen van de voorbije weken en om te vergelijken met de stages van andere studenten.  
    Zo kwamen er verschillende onderwerpen aan bod zoals wat we allemaal geleerd hebben, hoe de sfeer op bureau is en of we het zouden zien zitten om vast op ons stagebedrijf te gaan werken.  

    Erg lang duurde het intervisiemoment niet, daardoor kon ik voor de rest van een rustig dagje genieten.  

    Woensdag middag bevond ik me met enkele vrienden op de jobbeurs in de Antwerp expo. Ik ging binnen met weinig verwachtingen en kennis over de bedrijven die aanwezig zouden zijn.   
    Zodra we binnen waren stonden er natuurlijk hopen mensen bij de eerste paar standen van bedrijven. Daarom besloten we om eerst een tour te doen om te zien welke bedrijven er allemaal waren voordat we daadwerkelijk bedrijven gingen aanspreken. 

    Van alle aanwezige bedrijven vond ik persoonlijk de havenbedrijven vaak het interessants.  
    Die bedrijven waren vaak met de meest unieke en spannende projecten bezig.
    Zo was er bijvoorbeeld Damen die momenteel voor het Duitse leger oorlogsschepen was aan het bouwen. 

    De aanwezige IT-bedrijven daarentegen waren vaak minder interessant. Veel van de bedrijven kende ik al van vorige evenementen en de nieuwe bedrijven waren vaak  
    start-ups die met een vaag ai-project bezig waren.  

    Ondanks dat er niets concreet uit de jobbeurs is gekomen was het wel boeiend om te zijn naar welke profielen bedrijven vandaag naar opzoek zijn. 
    Zo zag ik enorm veel bedrijven die open stonden voor mensen met een graduaat. 

    Vrijdag was een chille dag op bureau. We zouden bespreken hoe mijn project binnen het bestaande platform past en hoe we dit zouden integreren. 
    Ook was er pizza om de verjaardag van een collega te vieren. Zo sloten we met een aangename sfeer de week af. 

  • Front-end 

    Deze week ging van start met het nieuws dat mijn stagementor Dimitri die ziek was.  
    Gelukkig had ik nog steeds mijn andere collega’s bij wie ik terecht kon met mijn problemen en vragen. 
    Toch probeerde ik om deze week toch iets zelfstandiger te werken aangezien mijn andere collega’s er niet op waren voorzien om de hele dag een stagiair te begeleiden. 

    Daarom hield ik me de eerste 2 dagen bezig met een taakje dat me niet aanspreekt, maar dat toch echt wel moet gebeuren, namelijk front-end. 

    De Winforms app die ik de voorbije 2 weken had gemaakt was eerlijk gezegd spuuglelijk. De formulieren hadden slechts de minimum aan styling en er was weinig aandacht besteed aan de lay-out.  

    Nu had ik de tijd om eens te bekijken wat er binnen Winforms en Devexpress allemaal mogelijk is van styling. Hierbij kwam Devexpress van pas aangezien zij een hoop demo-projecten en code-samples aanbieden. 
    Zo experimenteerde ik met de verschillende ribbons, menu’s, dockstyles en zelfs met de xtraPage component om forms in elkaar nested weer te geven. 

    Het resultaat was een user-interface die je bijna als voldoende kan omschrijven, nog steeds niet perfect, maar al wel een hele verbetering. 

    Vervolgens kreeg ik een taak waar ik helemaal niet naar uitkeek, het maken van deze blog. Ik zou hiervoor WordPress gebruiken, wederom een platform dat ik nog nooit eerder had gebruikt.  

    Het eerste wat me opviel aan WordPress was de beperkte vrijheid. In vergelijking met een framework als React lijkt WordPress vrij beperkt met zijn mogelijkheden. 
    Alsnog was ik in staat om met de drag and drop componenten de blog template van WordPress voldoende te personaliseren.  
    Zoals steeds botste ik weer op het styling aspect van mijn blog. Gelukkig had ik mijn vriendelijke collega Manar, die meer ervaring heeft met WordPress, om hulp aan te vragen. 

    Met mijn blog op poten kon ik er, ondanks de afwezigheid van mijn stagementor, een productieve week van maken. 

  • Performantie 

    Maandagochtend gaf ik een kleine demonstratie van mijn code van de week voordien en meteen merkte mijn stagementor Dimitri een probleem op. Het uploaden van de leveranciers naar Billit ging veel te traag.  
    Het was aan mij om uit te zoeken waarom dit het geval was en hoe ik dit zou kunnen oplossen.  

    De oorzaak zoeken was niet zo enorm moeilijk. Voor elke leverancier die ik moest oploaden, wat er toch wel een heel aantal waren, ging ik over elke property itereren om ze te valideren. 
    Na even testen in de Billit sandbox bleek dat een hoop van deze properties niet verplicht waren bij het aanmaken van een leverancier en dat ik dus de meeste checks achterwege kon laten. Dit alleen al gaf al enorm verschil in performantie.  

    Ook waren er sommige leveranciers die niet moesten worden overgezet naar Billit. Oorspronkelijk nam ik de volledige lijst van leveranciers over uit de database en filterde ik die in de applicatie. 
    Door een betere query te schrijven kon ik de resultaten al in de database filteren en moest ik dus wederom niet meer in mijn applicatie over een hele lijst loopen. 
    Deze aanpassingen hadden voldoende effect op de performantie om Dimitri tevreden te stellen.  

    Vanaf nu zou ik steeds wel performantie in mijn achterhoofd moeten houden bij het schrijven van nieuwe code, iets waar op school zelden rekening mee werd gehouden. 
    Na deze week heb ik het gevoel dat ik beter zicht heb op hoe ik (redelijk) performante code kan schrijven en hoe ik met de debugger op zoek moet gaan naar problemen binnen mijn applicatie. Toch betwijfel ik dat dit de laatste keer is dat ik mijn code moet herschrijven om deze efficiënter te maken. 

  • Eerste werkweek

    3 februari was het eindelijk zover. Op die koude maandagochtend stond ik met een net iets te grote portie gezonde stress voor de deuren van Multi Masters.  
    Eenmaal binnen maakte ik alvast kennis met enkele van mijn collega’s, die ook al om half 9 met hun werkdag startten, en kreeg ik direct mijn werklaptop toegediend.  

    Doorheen het komende half uur druppelden de resterende collega’s binnen en kreeg ik zo één voor één te zien met wie ik de komende 15 weken zou samenwerken.  

    Zo kwam ik uiteindelijk bij Dimitri, de persoon die mij doorheen mijn stage zal begeleiden en met wie ik het nauwst zal samenwerken.  

    Tijdens een eerste meeting liet Dimitri me weten wat mijn eerste opdracht zou zijn: het maken van een winform app om facturen op te halen en leveranciers aan te maken op een online platform. Vervolgens kreeg ik toegang tot de nodige tools en werd ik aan het werk gezet. 

    De paar uur daarna waren een combinatie van verwarring, moedeloosheid en stress. 
    Door de overdosis aan informatie was ik niet meer in staat om door het bos de bomen te zien. Uiteindelijk sloot ik mijn eerste dag af met veel twijfels, vragen en hoop dat de tweede dag beter zou gaan. 

    Mijn tweede werkdag stond vooral in het teken van duidelijkheid en orde scheppen.  
    Ik had meteen een hoop vragen om Dimitri te stellen over het project: van waar komen die facturen, wat moeten wij met die facturen doen, hoe moeten die facturen verwerkt worden,…
    Na die opheldering kon ik aan de slag met winform, een platform waar ik nooit eerder mee had gewerkt. Na een dag te hebben geknoeid met winform voelde ik me op het einde van dag 2 wel klaar om de volgende dag vooruitgang te boeken met mijn project. 

    Doorheen dag 3 kon ik voor het eerst deze stage werkende code schrijven, mijn vooruitgang aan Dimitri tonen en zijn feedback toepassen. Zo had ik op het einde van de dag een form waarmee ik factuurinformatie uit de database kon halen en die data in verschillende formaten beschikbaar stellen. 

    De rest van de week was ik in staat om mijn project verder uit te werken en ook mijn collega’s beter te leren kennen.

    De toegevoegde functionaliteit had echter nog wel veel bugs en problemen met performantie die ik de komende week zou moeten oplossen.
    Alsnog kon ik mijn eerste week met een tevreden gevoel afsluiten.