(Wellicht is deze post alleen goed te volgen voor mensen met ICT/programmeer kennis)
Even wat achtergrondinformatie: tijdens mijn middelbareschooltijd heb ik als hobby mij al een aantal programmeertalen eigen gemaakt met behulp van boeken + veel oefenen, en heb ze toegepast bij het bouwen van kleine applicaties/websites, zowel voor mijn vermaak als voor klanten(beheersysteem, websites, een webshop etc).
Ik ben zo'n 2 maanden geleden begonnen met de HBO-studie Technische Informatica, met de verwachting meer te leren dan je uit boeken / van internet kan halen omdat je naast de theorie/praktijk ook feedback krijgt van leraren met ervaring in het vakgebied waardoor je het verschil tussen goede en slechte software leert kennen. Echter valt dat verschil me vies tegen.
Ik heb namelijk het idee dat ik bij de studie te veel tijd kwijt ben aan dingen die niet relevant zijn voor het beroep dat ik later wil doen(reizen, tussenuren, extra uitleg aanhoren over dingen die ik al snap), en bij het nakijken van de oefenopgaven (die naar mijn mening het meest leerzaam van alles horen te zijn) is er nauwelijks aandacht voor wat een stuk software goed maakt.. Als het werkt, werkt het en dat is voldoende. Of je honderd keer dezelfde code kopieërt en plakt om een keuzelijst met honderd items te maken, of het in een loopje zet lijkt niet uit te maken.
Met het groepsproject, waarvoor we een website met bestelsysteem moeten bouwen, heb ik soortgelijke ervaringen. Hoewel er geprobeerd wordt een 'real world' situatie na te bootsen, met een fictieve klant en alles, leidt ons "korte termijn" verstand (zonder het leren voor de toekomst in het achterhoofd) ertoe dat we nu als groepje hebben besloten het zo te bouwen dat we ons project zo snel mogelijk goed kunnen laten keuren, zonder ook maar een beetje aandacht voor onderhoudbaarheid en structuur. Zo slijten er naar mijn gevoel alleen maar slechte gewoontes in, en omdat we niet met veranderende eisen v/d klant te maken krijgen(zoals in de echte wereld) heb ik het gevoel dat ik te weinig van dergelijke fouten kan leren. Natuurlijk kan ik dit mijn groepsgenoten niet kwalijk nemen, het is aan de opleiding om goede eisen te stellen.
Dat brengt me bij het onderwerp dat ik overweeg om te stoppen met de opleiding, en mijzelf de kunstjes van het "echte" programmeren aan te leren met behulp van bronnen op internet en boeken, waarna ik zoveel mogelijk toepas in echte projecten. Ik heb namelijk het idee dat het veel leerzamer is om in de echte wereld mijn fouten te maken, en ook de verantwoordelijkheid te nemen voor die fouten, in plaats van het op een studie te doen en er (evt met een zesje) mee weg te komen.
Voorbeeld van "verantwoordelijkheid nemen voor fouten":
Ik dacht even snel een CMS-website in elkaar te draaien door de core broncode van Joomla aan te passen(dus niet met een extensie) naar de wensen van de klant, in plaats van braaf de structuur die ze bij Joomla gebruiken op te volgen of een eigen systeem te bouwen. Werkt prima, toch? Dan komt er een paar dagen later een beveiligingsupdate voor Joomla uit waardoor allerlei bestanden overschreven worden en een paar onderdelen van de website kapot gaan. Backup terug gezet dus, maar alsnog moet ik de website up-to-date houden zodat deze niet te hacken is. Dat betekent dus alle bestandjes met de hand aanpassen, zodat mijn 'workarounds' waarmee ik een paar maanden geleden wat tijd had bespaard intact blijven. Elke keer dat de klant de tekst op de voorpagina aan wil passen, kan dat niet via het CMS maar moet dit door een mailtje naar mij te sturen omdat zelfs een kleine wijziging in de tekst de hele lay-out om zeep helpt(wat ik dus steeds opnieuw moet fixen). Dat is omdat ik destijds niet even rustig met mijn volle aandacht een stylesheet had opgebouwd, maar als een kip zonder kop een bestaand Joomla template totdat het er ongeveer uitzag als ik wilde.
Conclusie na flink wat van deze ellende: ik ga het de volgende keer grondiger aanpakken, en niet zo snel mogelijk een website/applicatie bij elkaar hacken. Op korte termijn kost het misschien wat meer tijd maar het betaalt zich dubbel en dwars terug.
Als ik op de studie een dergelijk wanproduct had afgeleverd, kon ik de leraar een mooie, werkende website laten zien en was er niet veel aan de hand geweest. Niemand zou er ooit naar omgekeken hebben en ik was een stuk sneller klaar met de opdracht dan wanneer ik het grondig had aangepakt.
Mijn plan is (grofweg) om mezelf op te leiden door uit studieboeken over de onderwerpen te leren die de markt vraagt, en te kijken hoe anderen tegen dingen aankijken(blogs van programmeurs, Slechtste programmeervoorbeelden etc). Als ik mezelf goed genoeg vind in een bepaalde taal of techniek, zoek ik zo snel mogelijk een opdracht om het in de praktijk te MOETEN brengen en mijn fouten te maken.
Na 1 jaar hard werken hoop ik het niveau te bereiken waar een goed bedrijf mij wel wil hebben voor een stage(welke ik anders via de studie zou volgen), zodat ik feedback kan krijgen van veteranen in de software-industrie en beter kan worden in samenwerken.
Hoe ik het zie:
Voordelen zelfstudie
Zo.. dat is een hele lap tekst, in ieder geval bedankt als je de moeite hebt genomen het te lezen.
Even wat achtergrondinformatie: tijdens mijn middelbareschooltijd heb ik als hobby mij al een aantal programmeertalen eigen gemaakt met behulp van boeken + veel oefenen, en heb ze toegepast bij het bouwen van kleine applicaties/websites, zowel voor mijn vermaak als voor klanten(beheersysteem, websites, een webshop etc).
Ik ben zo'n 2 maanden geleden begonnen met de HBO-studie Technische Informatica, met de verwachting meer te leren dan je uit boeken / van internet kan halen omdat je naast de theorie/praktijk ook feedback krijgt van leraren met ervaring in het vakgebied waardoor je het verschil tussen goede en slechte software leert kennen. Echter valt dat verschil me vies tegen.
Ik heb namelijk het idee dat ik bij de studie te veel tijd kwijt ben aan dingen die niet relevant zijn voor het beroep dat ik later wil doen(reizen, tussenuren, extra uitleg aanhoren over dingen die ik al snap), en bij het nakijken van de oefenopgaven (die naar mijn mening het meest leerzaam van alles horen te zijn) is er nauwelijks aandacht voor wat een stuk software goed maakt.. Als het werkt, werkt het en dat is voldoende. Of je honderd keer dezelfde code kopieërt en plakt om een keuzelijst met honderd items te maken, of het in een loopje zet lijkt niet uit te maken.
Met het groepsproject, waarvoor we een website met bestelsysteem moeten bouwen, heb ik soortgelijke ervaringen. Hoewel er geprobeerd wordt een 'real world' situatie na te bootsen, met een fictieve klant en alles, leidt ons "korte termijn" verstand (zonder het leren voor de toekomst in het achterhoofd) ertoe dat we nu als groepje hebben besloten het zo te bouwen dat we ons project zo snel mogelijk goed kunnen laten keuren, zonder ook maar een beetje aandacht voor onderhoudbaarheid en structuur. Zo slijten er naar mijn gevoel alleen maar slechte gewoontes in, en omdat we niet met veranderende eisen v/d klant te maken krijgen(zoals in de echte wereld) heb ik het gevoel dat ik te weinig van dergelijke fouten kan leren. Natuurlijk kan ik dit mijn groepsgenoten niet kwalijk nemen, het is aan de opleiding om goede eisen te stellen.
Dat brengt me bij het onderwerp dat ik overweeg om te stoppen met de opleiding, en mijzelf de kunstjes van het "echte" programmeren aan te leren met behulp van bronnen op internet en boeken, waarna ik zoveel mogelijk toepas in echte projecten. Ik heb namelijk het idee dat het veel leerzamer is om in de echte wereld mijn fouten te maken, en ook de verantwoordelijkheid te nemen voor die fouten, in plaats van het op een studie te doen en er (evt met een zesje) mee weg te komen.
Voorbeeld van "verantwoordelijkheid nemen voor fouten":
Ik dacht even snel een CMS-website in elkaar te draaien door de core broncode van Joomla aan te passen(dus niet met een extensie) naar de wensen van de klant, in plaats van braaf de structuur die ze bij Joomla gebruiken op te volgen of een eigen systeem te bouwen. Werkt prima, toch? Dan komt er een paar dagen later een beveiligingsupdate voor Joomla uit waardoor allerlei bestanden overschreven worden en een paar onderdelen van de website kapot gaan. Backup terug gezet dus, maar alsnog moet ik de website up-to-date houden zodat deze niet te hacken is. Dat betekent dus alle bestandjes met de hand aanpassen, zodat mijn 'workarounds' waarmee ik een paar maanden geleden wat tijd had bespaard intact blijven. Elke keer dat de klant de tekst op de voorpagina aan wil passen, kan dat niet via het CMS maar moet dit door een mailtje naar mij te sturen omdat zelfs een kleine wijziging in de tekst de hele lay-out om zeep helpt(wat ik dus steeds opnieuw moet fixen). Dat is omdat ik destijds niet even rustig met mijn volle aandacht een stylesheet had opgebouwd, maar als een kip zonder kop een bestaand Joomla template totdat het er ongeveer uitzag als ik wilde.
Conclusie na flink wat van deze ellende: ik ga het de volgende keer grondiger aanpakken, en niet zo snel mogelijk een website/applicatie bij elkaar hacken. Op korte termijn kost het misschien wat meer tijd maar het betaalt zich dubbel en dwars terug.
Als ik op de studie een dergelijk wanproduct had afgeleverd, kon ik de leraar een mooie, werkende website laten zien en was er niet veel aan de hand geweest. Niemand zou er ooit naar omgekeken hebben en ik was een stuk sneller klaar met de opdracht dan wanneer ik het grondig had aangepakt.
Mijn plan is (grofweg) om mezelf op te leiden door uit studieboeken over de onderwerpen te leren die de markt vraagt, en te kijken hoe anderen tegen dingen aankijken(blogs van programmeurs, Slechtste programmeervoorbeelden etc). Als ik mezelf goed genoeg vind in een bepaalde taal of techniek, zoek ik zo snel mogelijk een opdracht om het in de praktijk te MOETEN brengen en mijn fouten te maken.
Na 1 jaar hard werken hoop ik het niveau te bereiken waar een goed bedrijf mij wel wil hebben voor een stage(welke ik anders via de studie zou volgen), zodat ik feedback kan krijgen van veteranen in de software-industrie en beter kan worden in samenwerken.
Hoe ik het zie:
Voordelen zelfstudie
- Sneller van fouten leren omdat ik wel moet om klanten tevreden te houden(dit zeg ik op basis van wat ik al heb ervaren)
- Bespaart wekelijks 12 uur reistijd
- Meer tijd voor dingen die relevant zijn
- Leren uit het boek dat het best beoordeeld wordt ipv het boek waar de school mee werkt
- Meer uren werken op rustige kamer ipv in hok met luidruchtige studenten
- Meer oefening in communiceren met klanten
- Leuk bijverdienen met echte projecten ipv opdrachten voor "neppe klanten"
- Vraagt veel meer zelfdiscipline(mijzelf kennende is dit geen probleem)
- Sollicitatiebrief zal bij sommige werkgevers direct in de papierversnipperaar gaan bij het ontbreken van de afkorting "HBO"
- Minder sociale contacten
- Tijdens het leren minder feedback van ervaren leraren (dit wil ik echter vervangen met vrijwillige stages)
Zo.. dat is een hele lap tekst, in ieder geval bedankt als je de moeite hebt genomen het te lezen.
[ Voor 3% gewijzigd door Dinnesch op 19-10-2012 17:25 ]