De plaats van Front-end Development

Geschreven op 2013-01-16 • gesprek (6) • Leestijd: 3′57″

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:

Mijn poging om de discussie naar Branch te verplaatsen faalde snel:

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!

Conversation is closed

Conversations close automatically after six weeks. Feel free to contact me directly if you have feedback on this article.

“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.

Bram · Wed 16 Jan 2013 · #

Als designer die zich verdiept heeft in front-end development kan ik deze post alleen maar beamen. Ik ben van mening dat een goede designer noties heeft van HTML & CSS en nog beter, daar erg veel kaas van gegeten heeft.

Een design aangeleverd door een extern bureau, laten we het bedrijf dat ook de print stijlen van de klant beheert als voorbeeld nemen, voldoet vaak niet aan een HTML/CSS vriendelijke opmaak. Mooi kan het uiteraard wel zijn, maar erg praktisch is dat in veel gevallen niet. In principe is alles mogelijk, maar dat komt de complexiteit van de gemaakte code niet ten goede. Bijvoorbeeld: 5 pagina’s met 5 verschillende h1 sizes waarvan 3 in een andere kleur. Een designer die zelf ook aan front-end development doet gaat daar heel anders mee om en die kan zowel voor het bedrijf waar hij werkt als de klant het verschil maken op gebied van budget, user experience, usability, enz…

Ik ben dan ook erg blij als ik kan samenwerken met een designer die zelf ook weet hoe het web in elkaar zit. Beter nog, wanneer je zelf die designer bent. Mogelijke voordelen:
- Je code gaat minder complex worden
- De geïnvesteerde tijd gaat omlaag
- De resterende tijd om user experiences uit te werken gaat omhoog (bv fancy transitions)
- Complexiteit gaat niet doorgeschoven worden naar de back-end developers (indien je bedrijf nog geen twig of dergelijke gebruikt en de back-end developers de implementatie doen)

Mensen die dus gespecialiseerd zijn in 1 ding verliezen dus vaak ‘the big picture’, en een project gaat verder dan het design alleen.
Meer en meer designers doen aan front-end development, en dat is een stap in de goede richting. Bij back-end developers zie ik deze verschuiving nog niet zo direct, zij kunnen uiteraard wel HTML/CSS, maar missen vaak de touch om er iets ‘mooi’ van te maken.

Wat je opleiding ook is, als je enige vorm van liefde voor je vak hebt, dan ga je verder kijken dan je neus lang is en je willen verdiepen in meerdere aspecten. De beste worden in zowel ia, design, front-end development als back-end development is uiteraard niet mogelijk maar een profiel als bv designer + front-end developer is zeer gegeerd en kan positieve resultaten boeken voor zowel bedrijf, collega’s, project als klant.

Gert Bangels · Wed 16 Jan 2013 · #

Om maar eens een ‘can of worms’ open te trekken nu we toch bezig zijn:

> Kan je optimaal ontwerpen voor het web (of dat nu interaction design, grafisch of frontend is) zonder dat je zelf een rudimentaire versie zou kunnen bouwen?

Dus, kan een ‘web’designer zijn medium optimaal benutten zonder dat hij niet alleen kennis heeft van html/css/js, maar ook notie heeft van backend development, database structuren en data semantiek (en dare I say Online Marketing methodes)?

Dat is een vraag waar ik zelf nogal schipper tussen 2 extreme antwoorden.

Maikel · Thu 17 Jan 2013 · #

@Bram whole-heartedly agree. Het is voor design een heel gelijkaardig verhaal, trouwens.

@Gert ik ben blij om te horen dat er nog mensen zo denken. Ik ben vooral akkoord met het feit dat mensen snel “the big picture” verliezen. Wat je zegt over back-end developers klopt—maar hun meerwaarde ligt volgens mij niet in het schrijven van HTML & CSS. Eerder in hoe een applicatie werkt, hoe snel een applicatie werkt, of er genoeg feedback voorzien is, etc. Op termijn komen we toch nog bij een volledige UX-benadering uit ;).

@Maikel voor mij is dat duidelijk: holistische approach beats specialistische approach. Kennis leidt tot begrip, begrip leidt tot betere communicatie en betere communicatie leidt tot beter werk.

Xavier · Sat 19 Jan 2013 · #

@bram: Daar komt binnenkort verandering in: Men is momenteel bezig om de nieuwe kwalificatiestructuur uit te schrijven en daar in goed de verschillen tussen HBO5 (CVO), HBO6 (bachelor) en HBO7 (master) uit te zetten.

Het gevolg van HBO6 zal (kort samengevat) zijn dat de professionele bacheloropleidingen op het einde van de rit niet zozeer reproductie/beheersing (kan je in de geziene taal X de geziene structuur Y toepassen), maar toepassing van competenties (in een ongeziene context op eigen houtje een principe kunnen toepassen) zullen beoordelen.

@Xavier: Ivm “de beste web designers”: niet geheel akkoord dat zij CSS moeten kennen. Indien je CSS voorkennis hebt, vertaalt dit zich vaak in gericht design, omdat je inside the box aan het kleuren bent.

Eén van de tofste designs dat ik ooit geslicet heb was door een non-CSS’er gemaakt (maar die had dan weer wel notie had van het web; ‘t was geen printdesigner op zo die plots kwam opdraven). De dingen die hij voorstelde deden me even de wenkbrauwen fronsen, maar gaven me wel een uitdaging waar ik die anders al op voorhand zou afgeknald hebben.

Bramus! · Thu 21 Feb 2013 · #

Mijn mening is dat er moet worden voorkomen dat in hokjesgeest worden gedacht. Ik geloof in diversiteit en in een multidisciplinaire aanpak. Aan de andere kant als met het oog op de toekomst er sneller meer kennis kan worden vergaard door de twee takken te spliten, so be it!

— Dennis Smit · Wed 28 Aug 2013 · #