The problem with modern web dev summed up in a tweet:
— Jeremy Wagner (@malchata) May 8, 2021
The problem isn't frameworks themselves, but the fervent euphoria around them, where a privileged majority gets to say "this is a best practice, learn it", while ignoring the unsustainable burnout that sort of churn invites.
En tråd som belyser något jag själv känt, men haft svårt att sätta orden på: att det faktiskt kostar något att försöka hänga med på frameworks.
Jag har likt @malchata också rätt många år i yrket, och har flera gånger investerat massor av tid och ork på att lära mig något - bara för att bli tvungen att helt kasta bort kunskaperna och ersätta dem med nya.
Det jag har kommit att eftersträva, och även råda andra att göra, är att ställa frågan Vad gör X som jag inte redan har i verktygslådan? X är i detta fall
- ett nytt ramverk,
- ett nytt bibliotek,
- Ett nytt API,
- En ny paradigm,
- ett nytt programmeringsspråk eller
- En vidareutbyggnad/återupptäckelse av något av ovantående.
En annan viktig fråga att ställa sig är Är det möjligt att lösa problem/behov Y utan att introducera något nytt, och hur svårt är det i så fall? Om X inte har ett tydligt övertag eller glasklar fördel, så är det förmodligen inte värt besväret.
En blandning av magkänsla, fingertoppskänsla och omvärldsbevakning gör att jag avfärdar en majoritet av alla X som trendar. Jag lutar mig tillbaka, iakttar vad som händer och är sällan först på bollen på något - även om jag gärna bekantar mig med X rätt tidigt, så undviker jag att försöka göra riktiga saker med X.
Några exempel.
- Saker jag ägnat tusentals timmar åt, som inte längre är relevant: PHP4-5, ASP, XHTML, tabellbaserad layout, diverse Google-API:er, CSS sprites, CSS sliding doors, ActionScript/Flash, buggar i IE6.
- Saker jag lärt mig från grunden sedan mycket länge sedan, och fortfarande har fördelar av: Progressive enhancement, Prototyp-arv och scopes i JavaScript, CSS Grids, Elixir/OTP, sass, BEM.
- Kunskaper jag vet är på väg bort, men haft stor nytta av att använda mig av: layout med CSS floats, Python 2 unicode, Angular, React+Redux.