Approfondire i principali punti deboli degli sviluppatori web

Una raccolta di approfondimenti sui principali punti deboli degli sviluppatori, raccolti da una serie di conversazioni individuali.

Qualche mese fa, Paul Kinlan ha pubblicato un post sui principali punti dolenti per gli sviluppatori del 2021, quindi è opportuno iniziare questo articolo con un aggiornamento sugli ultimi due trimestri. I numeri si sono spostati un po', ma la classifica non è cambiata.

Sfida T1 2021 T2 2021 T3 2021 T4 2021
Restare al passo con le modifiche apportate alla piattaforma web o agli standard web. 27% 26% 27% 22%
Stai al passo con un gran numero di strumenti o framework nuovi ed esistenti. 26% 26% 25% 21%
Fare in modo che un design o un'esperienza funzionino allo stesso modo in tutti i browser. 26% 28% 24% 21%
Test nei vari browser. 23% 24% Il 20% Il 20%
Comprensione e implementazione di misure di sicurezza. 23% 25% Il 20% 19%

Come menzionato nel post del blog di Paul, dobbiamo affrontare questi problemi. Nell'ambito di uno sforzo più ampio in tal senso, io e Kadir Topal abbiamo intervistato oltre 18 sviluppatori. Il nostro obiettivo è indagare e iniziare a comprendere il percorso per risolvere i principali punti deboli per gli sviluppatori.

Discussioni con gli sviluppatori

Disclaimer: queste informazioni si basano su un numero limitato di conversazioni con gli sviluppatori. Quando usi "tutti" o "alcuni", si riferisce agli sviluppatori intervistati, non all'intera community. Sono necessarie ulteriori ricerche per estrapolare questi insight in modo più ampio.

Queste conversazioni sono un ottimo promemoria di quanto sia straordinaria e diversificata la community degli sviluppatori web e vorrei ringraziare tutti gli sviluppatori che hanno parlato con noi. Alcuni sviluppatori hanno avuto più di 25 anni di esperienza, mentre altri hanno iniziato da poco più del 2020. Alcuni sviluppatori hanno iniziato la loro carriera dopo una laurea formale in informatica, mentre altri hanno iniziato la loro carriera in modo indipendente. Alcuni sviluppatori cercano attivamente le novità e tengono il passo leggendo le note di rilascio del browser, mentre altri imparano a conoscere nuove cose tramite colleghi e amici. Alcuni pensano che la complessità sia parte del lavoro e apprezzano le difficoltà, mentre altri vogliono solo portare a termine il loro lavoro. Quando si pensa a risolvere questi problemi, è importante tenere a mente questa diversità.

Una delle cose più comuni tra tutti gli sviluppatori è che usano tutti un CMS o un framework per svolgere il proprio lavoro. Sono stati menzionati Wordpress, React, Bootstrap, Angular e Tailwind; nessuno degli sviluppatori utilizzava la piattaforma web Vanilla in produzione. Scegliere un framework quando inizia un progetto è difficile e gli sviluppatori spesso tengono conto di requisiti non tecnici. Ad esempio, valutiamo se sarà facile assumere uno sviluppatore per lavorare con quel framework. Non possiamo migliorare le criticità degli sviluppatori se i framework e i CMS non sono inclusi nella soluzione.

Parlando di piattaforma web, la maggior parte degli sviluppatori la considera come l'aspetto su cui sta sviluppando. che include non solo la definizione classica della piattaforma web, ma anche i CMS, il framework, gli strumenti e i polyfill. In molti casi, tenersi aggiornati su queste è dove si trovano le maggiori difficoltà. Questo ha cambiato la nostra interpretazione della domanda e ora sappiamo che dobbiamo aggiornare il sondaggio per suddividerlo in parti diverse meno ambigue.

Un'altra area di ambiguità è la definizione di standard web. Alla domanda su esempi di come stare al passo con gli standard, molti sviluppatori hanno evidenziato invece le difficoltà a stare al passo con le best practice. Questa è un'altra area che dobbiamo chiarire in merito al sondaggio.

Gli sviluppatori cercano best practice per l'implementazione di casi d'uso e pattern specifici. I post del blog e StackOverflow sono menzionati come fonti per le best practice, ma gli sviluppatori spesso si chiedono se le informazioni che stanno leggendo siano davvero le best practice e se siano aggiornate con le funzionalità e le API più recenti. Vorrebbe consultarne una più ufficiale.

Stare al passo con funzionalità e API che consentono nuovi casi d'uso è un problema minore. Gli sviluppatori faticano di più a causa di funzionalità, API e modifiche alla piattaforma che portano a un cambiamento delle best practice.

La maggior parte degli sviluppatori concorda sul fatto che la compatibilità è una delle principali sfide. Le cose stanno migliorando grazie a iniziative come Compat 2021 e Interop 2022, ma è chiaro che gli sviluppatori non lo vedono ancora come un problema risolto.

La maggior parte degli sviluppatori utilizza i polyfill in un modo o nell'altro. In molti casi, tuttavia, l'utilizzo è trasparente per gli sviluppatori, poiché il polyfill può essere aggiunto automaticamente da uno strumento come Babel o un framework. Per coloro che gestiscono autonomamente i polyfill, capire se un polyfill è "buono" può essere un problema. Gli sviluppatori hanno menzionato l'utilizzo del numero di installazioni su Gestione dei partner di rete e l'autore del polyfill come indicatori. Un paio di sviluppatori ha accennato al lavoro per rimuovere i polyfill che non erano più necessari a causa dell'interruzione del supporto di IE 11.

I framework introducono problemi di frammentazione. Abbiamo ricevuto segnalazioni in cui gli sviluppatori erano "bloccati" in una versione precedente di un framework e limitato le funzionalità che potevano utilizzare per questo motivo, ma che la migrazione a una versione più recente dello stesso framework potrebbe essere costosa e difficile da giustificare.

Conclusione

Lo sviluppo web moderno è caratterizzato da molte parti in movimento tra cui standard, browser, librerie, polyfill, CMS, framework, best practice e strumenti. Questa diversità è uno dei grandi aspetti del web ma, al momento, sta a ogni sviluppatore individualmente dare un senso a ogni pezzo e a come sono compatibili tra loro.

Mi chiedo se esiste un modo per fare chiarezza sugli sviluppatori in merito a come si integrino tutti gli elementi e su come siano più allineati, senza compromettere la diversità. È un problema grande e complesso ed è difficile da risolvere tutti insieme. Ma da dove iniziare?

Se hai opinioni e punti di vista che vorresti condividere, Vorrei parlare anche con te. Preparerò direttamente un modo per le conversazioni di prenotazione ma, nel frattempo, i miei messaggi diretti sono aperti su Twitter. Contattaci, potremo fissare un appuntamento per una chiacchierata.