Ons front-end vakgebied is ontzettend breed. Elke week zie ik weer iets waar ik me in wil verdiepen omdat het me interessant lijkt. Een nieuw trucje met CSS custom properties, de nieuwe versie van VueJS, het ontcijferen van Heap Snapshots in Chrome…
Daarnaast heb ik dingen die ik specifiek moet weten voor m’n werk. Ik ben bekend met WordPress, Alterian, Hippo, en EpiServer. Mijn nieuwe baan is echter bij een bedrijf dat grotendeels werkt met Drupal. Drupal leren is geen kleinigheidje, er is een hoop te leren en van alleen front-end doen is geen sprake meer: PHP behoort inmiddels ook tot mijn werkzaamheden, net als bekend raken met de quirks van Drupal en de verschillende implementaties voor verschillende klanten.
Verder heb ik eigen projecten waar ik mee bezig ben. Ik ben onder andere bezig met een op JavaScript gebaseerde tekenrobot en mijn domotica-huiskamer.
Spanningsveld
Er is zo veel te zien, te leren, en te doen: tijd is schaars. Maar laat dat nou ook precies de situatie zijn die ik veel zie tijdens mijn werk. Klanten willen iets binnen een bepaalde deadline online hebben, tegen een afgesproken prijs. Agile of niet: dit spanningsveld is er altijd. Voor mij en anderen in mijn omgeving resulteert dit in snel werken: als ik een beproefde manier heb om iets te maken dan doe ik dat. De techniek staat alleen niet stil in de tussentijd. Een voorbeeld: Bootstrap als gridsysteem werkt fantastisch maar CSS Grid Layouts zijn inmiddels ook in te zetten voor hetzelfde doel.
Het resultaat van deze snelle of zelfs haastige manier van werken heeft vaak blije klanten tot gevolg, maar heeft ook nadelen. De klant is blij dat het binnen budget is opgeleverd maar met CSS Grid Layouts heb ik nog niets gedaan: er was simpelweg geen tijd voor om eventueel onvoorziene problemen op te lossen. Onvoorziene problemen zijn er genoeg als je een nieuwe techniek inzet. Mijn vakgebied heet dan ook Front-end development. De term 'development' impliceert al dat ik iets ontwikkel en dingen tegen kan komen.
Het wiel opnieuw uitvinden
“Waarom bouw je dit filter zelf in vanilla JavaScript, terwijl je ook een jQuery plugin kan gebruiken?” is de meest recente vraag die ik kreeg die te maken had met het spanningsveld. Ik had voor deze user story (wens van de klant) bewust de keuze gemaakt dit handmatig te doen. Iets meer tijd nemen om er iets van te kunnen leren. Ik sprong er natuurlijk niet helemaal blanco in: ik heb eerder zoiets gemaakt, maar had tijdens dat project al een idee hoe het beter kon en dat wilde ik proberen.
Tijdens de bouw kwam ik onvoorziene bugs tegen, waardoor het meer tijd kostte dan ik zelf had ingeschat. Ik kreeg dan ook de vraag of het al bijna klaar was. Ik had voor mezelf de juiste keuze gemaakt: ik zou wat kunnen uitzoeken/leren maar had voor de klant de minder snelle optie gekozen. Mijn idee was eerst om dit thuis uit te zoeken, zodat het geen extra tijd zou kosten voor de klant en ik iets kon leren. Raar eigenlijk, nieuwe dingen leren hoort immers bij ons werk!
Thuis doorgaan
Ik spreek online, via meetups, en tijdens conferenties veel mensen die hetzelfde werk doen als ik. Velen herkennen zich in het verhaal dat ze thuis nog dingen uitzoeken na werktijd. Logisch: veel mensen herkennen het spanningsveld dat ik omschrijf en veel zijn erg enthousiast over het werk dat ze doen.
Dit is vaak niet puur en alleen enthousiasme. Vaak heeft het ook te maken heeft met een bepaalde druk die je als front-end developer kunt voelen. Online zie je de meest toffe dingen, op conferenties gaan mensen superhard, je hebt collega’s die een enorme ontwikkeling laten zien, en in vacatures worden ‘helden’ en ‘goeroes’ gevraagd.
Ook ik was thuis dingen aan het uitzoeken en proberen. Ik zat me thuis te verdiepen in dingen als routing in React en hoe ik in vredesnaam iets opmeet in Sketch. Dingen die ik nodig heb voor werk, die ik thuis aan het bijleren was.
We verwennen onze klanten
Een van de oorzaken van de druk die ik en mensen die ik spreek voelen is dat we onze klanten verwennen. Klanten zien de waarde van ons werk niet, en dat hebben we deels zelf veroorzaakt.
We kiezen in verband met tijdsdruk vaker een snelle route om binnen budget te blijven, we werken langer door om die gedoemde sprint tóch te halen, en we houden onszelf daarnaast thuis up-to-date in ons vakgebied. Begrijp me niet verkeerd; een keer is niet erg, ik heb het hier over dat ik merk dat mensen dit structureel doen.
Ook de klant is deel van de oorzaak. Ons werk als front-end developer is ontzettend complex. Klanten zien vaak niet hoeveel er mis kan gaan bij bijvoorbeeld iets simpels als het toevoegen van een knop.
We shouldn’t be surprised if anything fails, we should be surprised that anything ever works at all.
Een andere kijk
Op een avond stonden m'n ouders ineens voor de deur, ze waren bij het ziekenhuis geweest. Mijn moeder had daar de diagnose kanker gekregen.
Nieuws als dit leert je relativeren. Naar aanleiding van de diagnose heb ik uiteindelijk ontslag genomen bij m'n toenmalige werkgever, zonder iets nieuws te hebben. Ik trok aan de handrem. 1 januari van dit jaar was ik vrij om te doen en laten wat ik wilde. Werkloos maar heel tevreden; ik had aan de handrem getrokken door ontslag te nemen en was af van de druk om dingen snel op te leveren, maar tegelijkertijd ook bij te blijven.
In deze periode ben ik gaan inzien dat je, hoeveel je ook thuis bij leert, je het nooit gaat redden. En dat er andere dingen zijn in het leven; mijn werk en privé was achteraf gezien uit balans.
Ik heb inmiddels een nieuwe baan waarin ik de balans scherp in de gaten houd. Thuis is nu ook daadwerkelijk thuis, niet meer een verlengstuk van werk. Ik heb nog wel werkmail en Slack op m’n telefoon maar die zijn er on demand, de push notificaties staan uit.
Inzichten
De ziekte van mijn moeder heeft me dingen laten inzien die ik anders waarschijnlijk gemist had. Altijd maar haasten bijvoorbeeld, dit werkt als een patch. Je kunt het een paar keer doen maar uiteindelijk stort de boel in omdat je niet de aandacht hebt gegeven die het verdiende. Ditzelfde geldt voor je persoonlijke ontwikkeling: besteed hier tijdens werktijd gericht aandacht aan. Spreek je werkgever erop aan als je voelt dat je niet genoeg kunt leren op de plek waar je zit. De vraag naar front-end developers is enorm, ze zouden gek zijn je te laten gaan omdat je beter wilt worden!
Het meenemen van klanten in hoe complex iets kan zijn - van concept tot oplevering - helpt bij het minder gehaast werken. Er is uiteindelijk meer begrip en daarmee ook meer ruimte om eens te kunnen experimenteren voor je eigen ontwikkeling. Ook het niet halen van een sprint werd daardoor als minder erg gezien door de klanten voor wie ik heb gewerkt. Morgen weer een dag, hoe dramatisch die ook lijkt te gaan worden als iets niet afkomt.
Werk is ook maar werk, durf los te laten! Na werktijd is het tijd voor wat anders. Fanatieke sporters weten: rust is ook onderdeel van de training. Zo is het ook met werk. Wat ik eigenlijk wil zeggen, is dit: let op jezelf!
Nog een laatste inzicht (of eigenlijk meer een verzoek van mij) voor als je bij het kerstdiner aanschuift: Geef je familie en vrienden een extra dikke knuffel dit jaar als je ze ziet, ze zijn het waard!