10 cose che gli sviluppatori web devono sapere per diventare davvero sorprendenti

Autore: Laura McKinney
Data Della Creazione: 10 Aprile 2021
Data Di Aggiornamento: 16 Maggio 2024
Anonim
8 COSE da SAPERE prima di diventare un WEB DEVELOPER
Video: 8 COSE da SAPERE prima di diventare un WEB DEVELOPER

Contenuto

Gli sviluppatori devono essere qualcosa di più che semplici lavoratori grugniti che generano codice. Ci aspettiamo di più dalla nostra vita digitale e sono questi ragazzi che la costruiscono, quindi cosa devono sapere i migliori sviluppatori? Ecco le cose che vedo mancare a troppi sviluppatori. Questo non è esaustivo, ma sono queste qualità che trasformano un programmatore ragionevole in uno sviluppatore straordinario.

Ma non è una cosa, e soprattutto non è mai la capacità di analizzare XML o ottimizzare il codice, è una sorprendente raccolta di competenze che non vengono insegnate nei libri sulla scrittura di codice. Sono qualcosa in più.

Perché sfogarsi così? Perché lo sviluppo è importante ma gli sviluppatori sono troppo spesso consegnati in un mondo diverso, non sempre di loro creazione. Non funziona mai. Lo sviluppo - qualsiasi cosa tecnica - prospera sempre quando chi ha il know-how capisce più del semplice codice.

01. La codifica non la taglia più


Siamo in un mondo in cui la codifica sta diventando meno impressionante. Tutti costruiscono siti, alcuni di loro codice ma non è necessario. Non sono più solo i nerd che possono creare siti, app e funzionalità.

Da quando è arrivato il web e le persone potevano imparare da sole, ci sono stati sviluppatori autodidatti. Ma anche i laureati sono minacciati. Ricevo CV con persone con lauree in informatica, corsi di intelligenza artificiale, vari media e programmazione alle spalle, ma manca ancora qualcosa. A volte manca molto.

Non sono il primo a dirlo. "La codifica non tagliarla più" è il titolo del capitolo 3 di L'appassionato programmatore, che insieme a libri come Pensiero e apprendimento pragmatico esortare i programmatori a migliorare se stessi oltre il codice; per diventare membri responsabili e interamente umani del team.

Ampiezza e profondità

Gli sviluppatori devono essere migliori in due modi: ampiezza e profondità. Devono capire l'ampiezza delle interazioni umane nella loro squadra e con le cose che costruiscono. Hanno bisogno di capire la profondità del sistema con cui stanno lavorando, fino all'O / S.

E non sono solo gli sviluppatori che dovrebbero leggere queste cose. Se lavori con sviluppatori, penso che dovresti aspettarti di più da loro. Fagli abbozzare ciò di cui stanno parlando. Fagli spiegare con immagini, oggetti e (funziona) ritagli di persone esattamente come sarà il sistema per gli esseri umani che lo utilizzano.


02. Il grande avvertimento

Parlerò negativamente degli sviluppatori, ma penso di essere autorizzato perché lo sono. Anche perché almeno una cosa di cui parlo qui è vera per molti degli sviluppatori che incontro. Sebbene il loro lavoro sia ottimo e conoscano il loro codice, i tempi sono competitivi. Devi avere un vantaggio, e questo è:

  • essere più tecnico

e

  • essere tanto più umano

03. Cosa dice Internet

Cercare su Google "competenze essenziali per lo sviluppo web" fa emergere ciò che ti aspetteresti. Conoscenza del framework, x-browser, CSS e JS. Elenca i framework che dovresti conoscere, le piattaforme per cui devi scrivere e le nuove tendenze che dovresti tenere d'occhio.

Questi sono i nostri media. Sono le cose con cui costruiamo, ma non sono ciò che garantisce il successo di un progetto. Uno sviluppatore può comprendere ogni dettaglio del sistema, dirti ogni caratteristica di un'API e una nuova tecnologia CSS, ma produrre comunque qualcosa di inutilizzabile.

Comprendi il mezzo

Gli sviluppatori, come tutti, hanno bisogno di capire il loro mezzo, ma devono anche capire il pubblico, sia che si tratti degli utenti, del team o di altri sviluppatori. Devono capire come il loro mezzo si inserisce nel mondo (in altre parole, l'ambiente di produzione) e che effetto ha (come le persone lo usano).

Ho visto questo descritto come la persona "ampia e profonda". Ampio, perché devi capire il mondo come un essere umano che lavora con altri umani. Profondo perché hai bisogno di una conoscenza tecnica approfondita al di sotto del livello della tua parte del progetto. Questi sviluppatori danno al tuo progetto un enorme impulso e cambiano il ritmo del progetto, senza il quale troverai personale non tecnico impantanato in noiosi dettagli che traboccano dal team tecnico.


04. Le cose con cui costruiamo

Recentemente ho scritto un elenco di tutto ciò che utilizziamo per creare siti, gestire l'hosting e fare cose in modo che le persone che si uniscono possano avere un cheat sheet sulle tecnologie da imparare nelle prime settimane. Pensavamo che le persone sapessero queste cose, quindi per dare un buon inizio alle nuove reclute elenchiamo tutto ciò che usiamo ogni giorno.

Mi aspettavo una mezza dozzina di tecnologie, ma alla fine ne ho avute molte di più. Questo elenco - "quello che usiamo" - include i soliti CMS, linguaggi di programmazione e tecnologie dei browser, ma anche una serie di strumenti che il team non si ricordava nemmeno di aver utilizzato. Era tutta memoria muscolare. Digitando 'git', 'phing', 'thor' sulla riga di comando, non abbiamo nemmeno pensato che qualcuno potrebbe non farlo.

Strumenti di costruzione; CI; git per il controllo della versione era dato per scontato, ma guardando indietro nei CV questi non apparivano quasi mai. Sembrerebbero quelli trendy (ed è cinico pensare che certe agenzie li aggiungano ?!) ma spesso senza esperienza concreta.

Questi strumenti sono importanti per accelerare lo sviluppo del progetto, quindi assicurati di disporre di un set di strumenti molto più ricco del tuo linguaggio, del CMS e di un paio di framework. Hai bisogno di distribuzione, test, CI, forte controllo della versione (in team, non da solo) e devi comprendere i concetti fondamentali di questi piuttosto che solo alcuni tutorial.

05. Devops

Questi strumenti e trucchi extra si adattano perfettamente a ciò che le persone chiamano "devops". Devops si scontra con due silos tradizionali: la produzione, che fa funzionare le cose, e lo sviluppo, che fa cose nuove (e spesso ferma le cose). I silos si traducono in due campi con poca simpatia l'uno per l'altro.

Gli sviluppatori senza conoscenze di produzione producono più spesso codice non adatto alla produzione, utilizzando configurazioni o funzionalità non ancora nello stack di produzione. Poiché non sono consapevoli dei problemi dell'ambiente di produzione, codificano per completare la funzionalità piuttosto che per distribuirla in produzione.

Questi piccoli dettagli possono creare dolorosi ritardi, aggravati dalla tendenza a inviare la gestione dei server all'estero.

Comprendi lo stack

Devops è un campo enorme in sé, che comprende la distribuzione continua e molta automazione. Questo è un ampio riepilogo, ma la cosa fondamentale che gli sviluppatori devono capire è lo stack su cui stanno lavorando. Non è sufficiente delegare questo all'amministratore del server, devi capire le implicazioni che la piattaforma ha sul tuo codice.

Se lavori su Rails, leggi il codice Rails e scopri come Ruby viene eseguito da Apache. Se lavori in Java, conosci le opzioni di configurazione. Se usi Perl, comprendi come installare i moduli Perl e configurarli.

Lavoro misterioso

L'elenco "cosa usiamo" contiene molte di queste cose, e i bravi sviluppatori ci saltano sopra per capire come viene svolto tutto questo lavoro misterioso. E una volta ottenuto, le distribuzioni procedono più velocemente, il lavoro viene distribuito in modo più fluido e tutti sono semplicemente più contenti.

L'implementazione continua e le relative pratiche di devops stanno diventando così standard che qualsiasi sviluppatore o azienda che non lo pratichi si sta preparando per essere superato. Qualcun altro inizierà a farlo e poi sarà più veloce di te.

Strumenti pratici

Cercare su Google "devops" ti dà un'idea degli strumenti che utilizzano questi ragazzi. Non si tratta di PHP e MySQL o Rails. Si tratta di distribuire software e mantenere i pezzi rischiosi dei progetti privi di rischi. Si concentrano sulla distribuzione, sull'automazione e sul mantenimento più veloce possibile della pipeline dallo sviluppatore all'ambiente di produzione.

Scoprirai che questo stile di sviluppo ti offre sviluppatori che lavorano meglio tra loro e con altri reparti e aziende. Se stanno lavorando con un'API di una terza parte, capiranno i problemi che potrebbero sorgere dall'altra parte. Quando lavorano con gli amministratori del server, capiranno che cosa hanno bisogno di installare e sanno come i loro siti software si trovano sui server di produzione. Il contrario di questo può essere doloroso ...

06. Devo aggiustarlo ... forse

La ricerca di "competenze essenziali per gli sviluppatori web" porta una bella risposta da Michael Greer (CTO di The Onion) su Quora:

  • Pigrizia: rifiuta di fare qualcosa due volte: scrive un copione o un algoritmo per questo.
  • Codardia: pensa di testare, preoccuparsi del carico e dell'impatto del codice
  • Sconsideratezza: prova costantemente nuove cose, lancia idee lo stesso giorno

La codardia è un bel modo di esprimere "attenzione ai dettagli". Il debug e il test sono il 99% della vita di uno sviluppatore che nessuno ha menzionato quando ha raggiunto W3Schools o ha iniziato il corso di informatica 101.

La capacità di riparare le app richiede eccellenti capacità di problem solving, ma non solo di debug del codice. A volte la soluzione per gli utenti che non sono in grado di scaricare le fatture è rendere la pagina stampabile, piuttosto che passare una giornata a generare PDF. A volte un collegamento può sostituire una settimana di sviluppo, ma quell'elegante soluzione non si realizzerà se gli sviluppatori risolvono i problemi semplicemente scrivendo molte righe di codice.

Il test è un meraviglioso punto cieco per molti sviluppatori, nonostante i molti strumenti disponibili. Utilizza unit test, selenio, test di carico e strumenti di profilazione come xhprof. Analisi da elementi come New Relic per ridurre l'ingombro della tua app. E considera tutto questo parte del lavoro dello sviluppatore: è il tuo codice, assicurati di sapere che funziona come previsto piuttosto che sperare che lo faccia.

Debug

Anche il debug è un punto dolente. Non come utilizzare un debugger, ma come eseguire il debug di un problema, quindi aggiungerei all'elenco di Michael Greer:

  • Impazienza: ignora aggressivamente le informazioni irrilevanti per trovare e risolvere il vero problema

Questa è la pietra angolare di tutte le tecniche di debug. Ignorare l'irrilevante e trovare significato nel rilevante. Sfortunatamente, molti sono inclini a martellare pedissequamente l'irrilevante per ore o giorni, risolvendo un problema provando la stessa cosa 10 volte.

Ci sono molti libri (purtroppo, non quello che ho proposto all'editore che non nomino) sul debugging e ogni sviluppatore dovrebbe leggerli tutti. Uno sviluppatore davvero eccezionale può eseguire il debug dei problemi su un sistema senza vedere una riga di codice.

07. Cosa vogliono gli utenti

Comprendi cosa stanno cercando di fare le persone intorno a te. Goditi il ​​codice: adora l'arte di far rientrare perfettamente i file CSS o di ottimizzare un'app di rails, ma ricorda che è tutto per uno scopo.

Gli sviluppatori devono comprendere il business, le operazioni ei processi aziendali perché le loro cose aiutano a eseguirlo. Gli sviluppatori con questa conoscenza sono in grado di creare software e app che aiutano gli utenti, ma spesso sembrano insolitamente produttivi. Ciò potrebbe essere dovuto alla loro rapidità di digitazione o alla straordinaria conoscenza dello stack, ma è più probabile che sia dovuto alla loro conoscenza di ciò che vogliono gli utenti.

Mercato competitivo

Tornando al punto iniziale, che lo sviluppo sta diventando più semplice e il mercato dei grandi sviluppatori è più competitivo, qualsiasi sviluppatore che sia in grado di comprendere i requisiti aziendali e portare qualcosa di eccellente per soddisfarli avrà un vantaggio. Comprendere il mercato, i clienti e il motivo per cui le persone si separano dal denaro aiuta.

Comprendi i dati e come cambieranno nel tempo. Nella mente dello sviluppatore dovrebbero allinearsi alle nuove tecnologie con le sfide che avete oggi o che vedete arrivare. In questo modo, quando suggerisci una nuova idea stravagante al MD o a un cliente, sarà basata su ciò che i clienti vogliono veramente e tu avrai il budget / tempo su di essa. (Al contrario, la cosa peggiore a cui assistere sono gli sviluppatori che vendono la loro nuova tecnologia preferita come soluzione a tutti i nostri mali.)

Gli sviluppatori hanno molto controllo: hanno bisogno di sapere cosa significa ogni campo del database per l'utente finale? Se modifichiamo i dati, cosa vedranno gli utenti? Esiste un modo migliore per aiutare gli utenti? Troppo spesso l'opinione degli amministratori di DB è che il mondo è un cattivo riflesso del loro database piuttosto che il loro database è una cattiva rappresentazione del mondo reale. Il mondo è caotico e sorprendentemente pieno di casi limite. Affrontalo, amministratori di DB.

08. Disegno e scrittura

Il disegno è il modo più diretto per comunicare come saranno le cose. Gli sviluppatori devono essere in grado di disegnare le proprie idee su lavagna bianca, carta e tappetini per birra.

Gli sviluppatori devono essere in grado di creare prototipi su carta, stampare schermate e scribacchiarci sopra solo per comunicare le loro intenzioni. Non fidarti dello sviluppatore che annuisce, dice di aver capito e apre il proprio editor.

Fallire a buon mercato: la migliore codifica inizia con il disegno come prototipo rapido. Fallisci più spesso e assicurati che tutti gli sviluppatori intorno a te facciano lo stesso perché è più probabile che tu abbia successo in questo modo.

09. Divertiti

E se dovessi dedicare 10 ore alla risoluzione di un problema spostando un collegamento? Divertiti, anche se è solo la sfida di portare a termine il lavoro.

L'atteggiamento peggiore degli sviluppatori (o di chiunque altro) è l'apatia nei confronti di ciò che il team sta cercando di ottenere. Sfortunatamente questo è comune, perché gli sviluppatori si considerano al di fuori di ciò che il team sta ottenendo. (L'appassionato programmatore pone la domanda, "quanto più divertente potresti rendere il tuo lavoro?" - provalo.)
E sii pronto a mostrare il tuo lavoro poiché è il contrario di questo: non espandere dopo aver provato un paio di tutorial su Ruby a "Experience of Ruby"!

Lo sviluppo di web e app è ancora una professione giovane, ma il set di competenze di cui gli sviluppatori hanno davvero bisogno si sta espandendo. Tutti dovrebbero aspettarsi di più dagli sviluppatori perché prima usciamo tutti dalla brutta stanza sul retro e ci lasciamo coinvolgere nel processo creativo, migliori saranno i risultati.

10. Stai attento

Per portare questo fino a un bel round 10 aggiungerò un'ultima cosa. Stai attento. Trova la concorrenza. La peggior specie di qualsiasi cosa è quella isolata.

"Sii sempre il peggior ragazzo in ogni band in cui fai parte."

I peggiori - davvero, i pessimi - programmatori, programmatori, designer imparano le loro cose e si adagiano sugli allori. Senza un pacemaker è troppo facile rallentare e senza vedere la concorrenza diventa un'abitudine vedersi al di sopra della media.

Quindi, sii il peggio che puoi trovando di meglio. Partecipa a progetti al di fuori del lavoro, contribuisci e cerca feedback e critiche perché più critiche ricevi, meno persone ti daranno in futuro. Quando indovini cosa vogliono meglio di loro, allora sei lo sviluppatore ninja che tutti vogliono.

Dan Frost è il direttore tecnico della società web a servizio completo 3EV, un partner AWS ufficiale. Da sette anni lavora nel CMS e nello sviluppo di web app.

Questo mi piaceva? Leggi questo!

  • Come costruire un'app
  • I migliori font web gratuiti per i designer
  • Scopri le prospettive per la realtà aumentata
Il Nostro Consiglio
Come bypassare la password di Windows 8 in diversi modi
Leggi

Come bypassare la password di Windows 8 in diversi modi

Ho pero la paword di Window 8 e ho biogno del PC per la cuola online. Come faccio ad accedere quando non conoco la mia paword di amminitratore? Hai incontrato la ituazione del genere? In effetti, pi&#...
Posso scaricare Windows Password Key Professional Crack? Rispondi qui!
Leggi

Posso scaricare Windows Password Key Professional Crack? Rispondi qui!

È abbatanza comune utilizzare la protezione tramite paword poiché aggiunge una funzionalità di icurezza al computer. È poibile che molte perone utilizzino lo teo computer, quindi i...
Perso il codice Product Key di Windows 10, come recuperarlo?
Leggi

Perso il codice Product Key di Windows 10, come recuperarlo?

Il codice Product Key di Window è un codice alfanumerico fornito dagli viluppatori della macchina. Queti viluppatori generano una chiave univoca per ogni macchina per mantenere l'autenticit&#...