Wat is de plaats van front-end development? Vasilis rakelde nog eens een interessante discussie op, die te complex is om op twitter gevoerd te worden. Het begon met deze tweet:
Stelling: Frontend Development moet verdwijnen als vak apart en moet opgaan in de twee vakgebieden Grafisch Web Design en Web Development.
— Vasilis (@vasilis) January 14, 2013
Mijn poging om de discussie naar Branch te verplaatsen faalde snel:
— Johan Ronsse (@wolfr_) January 14, 2013
<a href="https://twitter.com/xavez">xavez</a>
vasilis Branch.com slaagt er helaas in zowel Chrome als Firefox te doen crashen met hun oAuth script. #fail
Maar ik wou er al langer een paar dingen over kwijt. En dan blijkt de good old blog nog het beste medium.
Moet Front-end Development als vak verdwijnen en opgaan in Grafisch Ontwerp en Web Development?
Executive Summary: ja.
Elke vraag kan je pas beantwoorden wanneer je al haar variabelen en onbekenden hebt opgelost.
De context: moet het vak verdwijnen? Dus niet: moet de baan verdwijnen? Het gaat over wat er in onze universiteiten en hogescholen gedoceerd wordt. Wat er op je diploma staat. Niet over wat je daarna doet. Heb jij gestudeerd voor alle taken die je nu op je werk uitvoert? Weinig diploma’s hebben een éen-op-éenrelatie met een baan en dat is absoluut een good thing.
Wat is Front-end Development? Doorgaans kan je zeggen dat een front-end developer een ontwerp vertaalt naar computercode die er voor zorgt dat het ontwerp optimaal weergegeven wordt in een web browser. Een front-end developer maakt dan per definitie geen ontwerp, want dan zou hij een ontwerper zijn.
Als je langs de andere kant de afbakening maakt, dan is een front-end developer een soort developer die enkel clientside code schrijft. Weinig of geen PHP of Python dus, wel JavaScript, HTML & CSS. Meestal doet hij ook template-logica—via pakweg iets als twig—en vaak bedenkt hij ook CSS-architectuur.
Leer principes, geen technieken
De universiteit is een plaats om een manier van denken aan te leren. Designdenken of procesdenken bijvoorbeeld. Technieken die je leert zijn een middel, geen doel. HTML, CSS en JavaScript zijn geen doel. Reclame ontwerpen is geen doel. Objective C is geen doel. Het zijn tools om een doel te bereiken. Maar aan de universiteit wil je mensen net leren om de juiste tool op het juiste moment te kiezen. Je wil mensen vooral niet leren om zich te beperken tot wat ze al in hun toolbox hebben. Dat is niet sustainable. Misschien is er een betere tool. Misschien bestaat de tool nog niet. Misschien moeten ze die tool zelf maken.
Wapen mensen door principes te leren. Leer ze kijken, denken of analyseren. Hetzij in de bredere context van een designopleiding, hetzij in de bredere context van een opleiding computerwetenschappen.
Dat was een Hart van Miet
Automatisering vervangt mensen die tools gebruiken
Het is geschiedenis. En geschiedenis herhaalt zich. Automatisering vervangt steeds opnieuw mensen die enkel tools gebruiken en geen principes (hebben leren) hanteren. In recente drukgeschiedenis vind je het verdwijnen van de mensen die bestanden klaar maakten voor druk. Vandaag heb je quasi alleen nog ontwerpers en drukkers. De middlemen zijn vervangen door Adobe’s PDF workflow. Automatisering dus.
Je ziet die verschuiving al stilaan komen. Frameworks zoals Foundation of tools zoals CodeKit en Sketch zijn daarvan de eerste uitingen, maar het wordt nog een pak spannender dan dit.
De print designer die ook web doet
Even vervelend is natuurlijk het omgekeerde. De print designer die ook web doet. Zonder te begrijpen hoe het web in elkaar zit. Hoe interactie-ontwerp in elkaar zit. Waarom 12pt op je scherm niet hetzelfde is als 12pt in een boek. Waarom je geen afbeeldingen van 1MB gebruikt. Waarom je CSS logisch structureert. Daarom hou ik niet zo van opleidingen met overdreven specialisatie. Ik ben een grote fan van het Bauhausprincipe: proef van alles, kies al doende en vooral: switch op tijd.
Een designer wordt gedreven door het maken van dingen. Zijn grondstoffen (papier & inkt, gesmolten plastic, of computercode) maken daarbij weinig verschil. Een goeie designer beheerst of kent zijn grondstof en dat is op het web niet anders.
Conclusie: de toekomst ligt in het verleden
Heel eerlijk: de beste front-end developers die ik ken hebben op éen of andere manier een designopleiding achter de rug—of ze hebben een intuïtieve neus voor wàt ontwerpen is. De beste web designers die ik ken, weten érg goed hoe HTML & CSS in elkaar zitten. Ze ontwerpen vaak rechtstreeks in de code (Matrix-mode!) en hanteren net zo graag een potlood als CodeKit.
Neen, front-end development is geen opleiding die we moeten formaliseren. Dan kan je volgens mij beter principes bijbrengen en mensen zelf laten zoeken naar waar ze hun zwaartepunt willen verschuiven. De geschiedenis heeft ons al aangewezen waar we naartoe gaan. De toekomst ligt in het verleden.
Dat is alleszins wat ik denk. Maar ik ben erg benieuwd naar jullie mening! Laat een reactie op deze blogpost achter of reageer op twitter!
“Je wil mensen vooral niet leren om zich te beperken tot wat ze al in hun toolbox hebben.”
De kern van het betoog, right there.
Dat is op dit moment een beetje het probleem van de hogeschoolopleidingen informatica (over andere opleidingen kan ik niet spreken wegens gebrek aan expertise). Hoewel er zéker een plaats is voor toegepaste informatica – denk maar aan web developers, netwerkbeheerders, of gewoon uitstekende programmeurs – vrees ik dat we op dit moment deze professionele variant van de informaticaopleiding een beetje te zeer beschouwen als “leren werken met tools (en dan nog liefst enkel die tools die momenteel populair zijn)”.
Deze opleiding wordt ook, door zowel studenten als docenten, nog te vaak gezien als een ‘versimpelde’ versie van zijn academische broertje. Engzichtig dus, want informatica als domein is breed genoeg om vanuit verschillende invalshoeken, in daarvoor aangepaste richtingen, te bekijken.
Bij deze een warme oproep om professionele informaticaopleidingen te herleiden naar wat ze zouden moeten zijn: een plaats om concepten aan te leren die rechtstreeks toepasbaar zijn in de informaticawereld, zonder zich te beperken tot technologieën die toevallig vandaag populair zijn. Zo voorkomen we misschien wel het probleem van de ‘dinosaurus-informaticus’ die enkel nog gebruikt wordt om legacy technologieën te onderhouden.