In deze blogpost deel ik een aantal van mijn ervaringen als junior Java-ontwikkelaar. Hoe een werkdag eruit ziet, wat nuttige dingen die je moet weten en tot slot laat ik je achter met wat advies dat je hopelijk zal helpen om een persoonlijk doel of twee te bereiken.
De kans dat iemand die informatica studeert ook een gamer is, is vrij groot. In mijn ervaring is een van de belangrijkste redenen waarom iemand zijn leven wijdt aan de prachtige wereld van softwareontwikkeling dat hij een fanatieke gamer is of was. Ik heb een lange geschiedenis met het spelen van videospellen en ik kan je nu al vertellen: ze helpen je niet om een betere ontwikkelaar te worden. Ik wil wel toegeven dat ze kunnen helpen om je vaardigheid in het gebruik van computers in het algemeen te verbeteren.
Games zijn een verbazingwekkend effectief middel om een snelle stoot dopamine vrij te maken en je verslaafd te maken aan vele uren per dag spelen. Maar op school verspilden ze veel van mijn studietijd, leidden ze me af van efficiënt leren en maakten ze uiteindelijk andere dingen in het leven saai.
"Maar Kiryl, tv kijken of Netflix kijken is hetzelfde als gamen!" Ja, en die zijn ook een minder dan optimale manier om mijn tijd door te brengen. In plaats daarvanis sporten een van de meest voor de hand liggende dingendie ik kan aanraden. Het verbetert je gezondheid, je energieniveau en je algehele mentale toestand. Ga naar de sportschool, ga voetballen met vrienden, sluit je aan bij een sportclub (Ultimate Frisbee is leuk), ga wandelen of probeer iets nieuws! Het belangrijkste is dat je het leuk vindt om niet achter je computer te zitten. Als je lichaamsbeweging in je levensstijl integreert door het onderdeel te maken van je dagelijkse/wekelijkse routine, zul je al snel de vele voordelen van lichamelijk actief zijn gaan merken. Ik zou zelfs zover willen gaan om te zeggen dat lichaamsbeweging me heeft geholpen om een betere ontwikkelaar te worden!
Ik werk nu een paar maanden en had de kans om mijn ervaren collega's naar hun mening te vragen. Ik vroeg hen: "Zou het hebben van een masterdiploma me helpen om mijn huidige werk beter te doen?". We hadden een geweldige discussie met veel verschillende standpunten, maar over één ding waren we het allemaal eens: je kunt meer praktijkervaring opdoen terwijl je aan het werk bent dan wanneer je 2 of meer jaar achter je boeken zit.
Persoonlijk heb ik gekozen voor een bacheloropleiding aan een hogeschool(Hogeschool PXL) en dat is een van de beste beslissingen die ik ooit heb genomen. Waarom?Op de hogeschool kon ik me focussen op de toegepaste kant van software: hoe schrijf ik leesbare code, performante en bedrijfsgerichte software, hoe gebruik ik de verschillende tools om deze grote projecten te beheren,... Ik oefende mijn soft skills door presentaties te geven, aan veel groepsprojecten te werken, samen te werken met echte bedrijven, en nog veel meer. En al deze dingen verbeterden de noodzakelijke vaardigheden en kennis die ik nodig heb als softwareontwikkelaar. Persoonlijk was het de juiste keuze voor mij en het pakte heel goed uit.
Heb je echt een masterdiploma nodig? Ik denk dat als je goed bent in wiskunde, natuurkunde, algoritmen, het omgaan met zeer grote hoeveelheden kennis en je de volledige theoretische kant van hoe software werkt wilt begrijpen: ga ervoor! Maar je hebt er zeker geen nodig voor een succesvolle carrière in de IT.
Zoals met veel dingen in het leven is programmeren een leuke en relatief eenvoudige vaardigheid om in te beginnen, maar wordt het exponentieel moeilijker als je een expert probeert te worden. Misschien zit je in het eerste, tweede of laatste jaar van je bacheloropleiding en denk je dat je al een goede programmeur bent. Maar laat me je vertellen: er is nog zoveel meer te leren. Ik kijk meer dan 30 uur per week naar code en voel me soms nog steeds een complete beginner. Maar hoewel je daar af en toe een beetje gefrustreerd van raakt, is het ook geweldig om een omgeving te ervaren waarin ik zoveel kan leren in zo'n hoog tempo.
Net als leren autorijden is programmeren een vaardigheid die tijd nodig heeft om zich te ontwikkelen (snap je?). Je kunt niet twee dagen voor je examen beginnen met studeren en verwachten dat je een goed cijfer haalt. Het is een vaardigheid die je elke dag moet oefenen. Als je meer wilt leren over regelmatig oefenen, kijk dan eens naarOutliers van Malcolm Gladwell. Het zou je wat inzichten moeten geven overde 10.000-urenregel.
Na het afronden van je bachelor is het meest voor de hand liggende pad om als Java-ontwikkelaar aan de slag te gaan bij een softwareconsultancy of de softwaredivisie van een bedrijf. Je leert als een bezetene, je vaardigheden worden met de dag beter en ondertussen krijg je betaald om iets te doen wat je leuk vindt.
Mijn dagelijkse routine als junior Java developer bij ACA IT-Solutions bestaat uitstand-ups, vergaderingen gedurende de dag over eventuele problemen of technische implementaties, en de rest wordt besteed aan coderen. Op mijn huidige project proberen we altijd in paren of mobs te coderen. Dit verschilt van project tot project en van team tot team, maar voor het maken van complexe software zoals wij doen, geloof ik dat het de beste en snelste manier is om schone en goed presterende code te maken. Het belangrijkste voordeel van pairing is dat je sneller leert coderen, omdat een meer ervaren ontwikkelaar je de vele tips en trucs leert. Het is zo belangrijk dat iemand je uitlegt waarom iets op een bepaalde manier wordt geïmplementeerd en je hardop laat nadenken over de functionaliteit van de software die wordt geschreven. Je gaat ook je sneltoetsen leren. De running joke op kantoor is dat we je computermuisZALEN weghalen als je de meest gebruikte sneltoetsen niet gebruikt.
Een ander groot voordeel van werken bij een bedrijf als ACA is dat het je de nodige tools geeft om jezelf te verbeteren. Hoe? Door een on-the-job-coach te hebben, te leren van senior ontwikkelaars, certificeringen te halen, nieuwe mensen te ontmoeten en een leuke tijd te hebben met je collega's.
Lezen kan je kennis over complexe onderwerpen zoals software architectuur, object georiënteerd programmeren, design patterns en meerexponentieel vergroten. Het perfecte boek om mee te beginnen is Robert Martin'sclean code. Ik raad ook bibliografieën aan van ondernemers alsPhil Knight,Bob Iger,Steve Jobs en Elon Musk. Ze zijn leuk om te lezen en er zit een waanzinnige hoeveelheid levenslessen in die boeken. En tegelijkertijd leer je er veel van over de geschiedenis.
Als je dit bericht leuk vond, deel het dan gerust met een vriend(in) die er misschien iets aan heeft. Aarzel niet om me een vraag te stellen of je eigen ervaringen te delen via kiryl.maltsav@aca-it.be of in de reacties hieronder.