The Full Stack Design Concept

È stato il caso in cui la maggior parte delle persone che lavoravano allo sviluppo di un sito Web aveva ruoli chiaramente definiti all'interno di un team di sviluppo e raramente si pensava che si sovrapponessero ad altri ruoli.

Le cose sono cambiate. Ora ci si può aspettare che le persone facciano più compiti, e anche nelle grandi organizzazioni, i ruoli di lavoro possono essere intercambiabili tra i membri del team.

Sempre di più, stiamo vedendo annunci di lavoro che richiedono "sviluppatori di stack completi", e il problema è che non tutti comprendono appieno cosa significa questo termine. Inoltre, in molti casi non è un requisito ragionevole. Spesso si può vedere che chiunque abbia inserito l'annuncio non ha idea di cosa significhi il termine, e lo ha semplicemente usato perché tutti gli altri lo stanno facendo.

Lo sviluppo completo dello stack non è, in effetti, niente di speciale. Molto probabilmente hai già tutte le competenze richieste, ma probabilmente eccoti di più in una particolare area dello stack che in altre. Diventa sempre più difficile essere assunto come specialista, tuttavia, essere certi di una comprensione ampia delle tecnologie core stack è una buona idea.

immagine di

Perché la richiesta di sviluppatori di stack completi è controproducente

I designer sono bravi nel design. I coder sono bravi nella codifica. Gli ingegneri sono bravi in ​​ingegneria. Quando si richiede a un individuo di essere competente in ogni parte del lavoro di progettazione e sviluppo, si può finire con risultati meno che perfetti.

Questa è una semplice logica. Qualcuno con una passione per il design dovrebbe progettare, così come dovrebbe essere codificato qualcuno con la passione per il codice. Se un programmatore nato è costretto a progettare qualcosa, lui o lei può venire con un design accettabile, ma molto probabilmente non sarà buono come qualcosa progettato da un designer nato.

Mentre può essere utile per i membri del team capire i lavori degli altri, e anche per essere in grado di riempirsi l'uno con l'altro, di solito è meglio consentire a ciascun membro di lavorare con i propri punti di forza.

Che cos'è uno sviluppatore stack completo?

Inizieremo definendo cosa sia effettivamente "lo stack". L'idea dello stack è un gruppo di tecnologie interconnesse che rendono possibile l'esistenza di un sito.

Uno sviluppatore stack completo, quindi, è qualcuno in grado di gestire ogni livello in quella pila di tecnologie senza battere ciglio.

Il primo livello: UX Research

Il processo di sviluppo di un sito Web inizia con la determinazione di quale obiettivo il sito dovrebbe raggiungere e quindi lo sviluppo di un piano basato su tale obiettivo.

User Experience (UX) è un concetto liberamente definito che è fondamentale per la progettazione e lo sviluppo di siti moderni. Quando si pianifica il sito Web, è necessario considerare la UX che si sta creando. Ciò richiede alcune ricerche per determinare quali attributi del sito serviranno per fornire un UX positivo.

gif di

Il secondo livello: UI Design

Dopo aver determinato i fattori che forniranno un UX positivo, passerai ora a progettare un'interfaccia utente (UI) che risolverà i fattori UX che hai identificato.

Ciò significa pensare a cose come gli indicatori di caricamento, il menu di navigazione, i breadcrumb di navigazione, il layout del sito, gli sfondi, le immagini, i caratteri, i colori e forse anche le cose più avanzate come audio e video.

L'obiettivo è di rendere tutte queste cose il più semplici possibile per accedere e di garantire che abbiano un bell'aspetto e funzionino bene. Garantire che i singoli componenti siano ottimizzati è anche una buona idea per pianificare in anticipo.

Il terzo livello: sviluppo front-end

È qui che inizia la vera azione. Fino ad ora è stato tutto pianificato e progettato, ma in questa fase siamo in realtà realizzare il design. Usando HTML, CSS, JavaScript e forse altre tecnologie, il prototipo del sito web prende forma e (alla fine) vita.

A meno che non sia un sito molto semplice, probabilmente non funzionerà a questo punto. Sarà, tuttavia, un prototipo funzionante che almeno ha l'aspetto e la sensazione di come dovrebbe essere il sito finito.

gif di

Il quarto strato: sviluppo back end

Il back-end del sito è dove vengono impiegate tecnologie abilitanti speciali. Se il tuo sito ha bisogno di do qualsiasi cosa sul lato server in base alle azioni dell'utente (ad esempio, l'elaborazione dei contenuti di un carrello degli acquisti prima di passare una richiesta a PayPal), allora questo è dove accade.

Ci sono molte tecnologie diverse tra cui scegliere per occuparsi di questi compiti, e alcuni sono più adatti di altri. Le scelte più comuni al momento sono PHP e Ruby, ma ci sono ben oltre le scelte 1000 che potrebbero essere selezionate allo stesso modo.

PHP è la soluzione più flessibile e più semplice, ma potrebbe non essere necessariamente la più efficiente. Per chiunque abbia appena iniziato la propria carriera, è il miglior linguaggio lato server da apprendere perché è facile da imparare e perché è ampiamente utilizzato in molti modi.

Questo livello può a volte includere aspetti come l'installazione e l'amministrazione del server, l'ingegneria di rete e così via.

Il quinto livello: amministrazione del database

Progettare e sviluppare database per supportare le attività che il tuo sito deve gestire può essere un compito importante. Per fare questo bene, è necessario padroneggiare l'architettura del database e diventare anche un esperto di SQL.

Questa è una di quelle cose che sembra davvero facile e in realtà si rivela più complessa del previsto. Tutto dipende da quanto saranno elaborati i compiti da svolgere.

illustrazione di

Come dovrebbe un nuovo sviluppatore ottenere le competenze necessarie?

Il modo migliore è iniziare a imparare dal quinto livello e lavorare fino al primo livello. Questo perché gli strati sono ordinati in base alla loro difficoltà di apprendimento. Il compito più difficile è creare database eccellenti e sarà anche il compito meno interessante per la maggior parte delle persone. Meglio toglierlo di mezzo velocemente, allora.

Passerai poi ad apprendere un linguaggio di programmazione come PHP, Ruby, Python, Java, ecc. Potresti imparare il maggior numero di desideri, ma le opportunità disponibili per i programmatori PHP sono molto più abbondanti che per le altre lingue quando si tratta di sviluppo web. L'eccezione è JavaScript, ma questo è ancora principalmente considerato come un linguaggio lato client, quindi tecnicamente appartiene al terzo livello.

Dopo aver padroneggiato un linguaggio di programmazione back-end, passerai all'apprendimento del compito molto più semplice di creare siti con HTML, CSS e JavaScript (e / o altre tecnologie).

Successivamente, si passa al compito ancora più semplice di progettazione dell'interfaccia utente. Considerando quanto sia facile, è sorprendente che molti siti abbiano interfacce utente mal progettate o interfacce utente estremamente derivate. Il design dell'interfaccia utente non è il meno difficile.

Finalmente si arriva alla cosa più semplice di tutte, che è la ricerca UX. Il motivo per cui questo è così facile è perché sei stato coinvolto in esso sin dal giorno in cui sei nato. Veniamo nel mondo reagendo a cose che ci portano gioia o angoscia.

Quando sarai adulto, dovresti avere una buona conoscenza di queste cose, e il design UX è semplicemente la pianificazione di un'esperienza utente che include più cose che causano gioia e meno delle cose che causano angoscia.

immagine di cortesia per gentile concessione di

Bogdan Rancea

Bogdan è membro fondatore di Inspired Mag, avendo accumulato quasi 6 anni di esperienza in questo periodo. Nel tempo libero ama studiare musica classica ed esplorare le arti visive. È piuttosto ossessionato dai fissaggi. Possiede già 5.