Blog
  • SCOPRI I CORSI LACERBA
  • CATEGORIE
    • Creare business
    • Fare carriera nel digitale
Blog
  • SCOPRI I CORSI LACERBA
  • CATEGORIE
    • Creare business
    • Fare carriera nel digitale

programmazione

Fare carriera nel digitale

Nel 2021 ha ancora senso la differenza tra back end e front end?

by Daniele Ugolini 17 Giugno 2020
by Daniele Ugolini

Scopri cosa sono la programmazione front-end e back-end, le principali competenze richieste per queste professioni e i trend del futuro nel settore.

corsi online per aziende

INDICE

  • Introduzione
  • La differenza tra front end e back end
  • Chi è il programmatore front end?
  • Chi è il programmatore back end?
  • Come scegliere tra front end e back end nel 2020?
  • Trend del futuro nella programmazione
  • I corsi che ti consigliamo

Introduzione

Quando mi sono affacciato per la prima volta al mondo della programmazione web ho iniziato a chiedere consiglio ad amici programmatori su quale linguaggio di programmazione fosse il migliore per poter iniziare. Molto spesso la loro risposta era sempre la stessa:

“non conta il linguaggio che sceglierai di imparare all’inizio, quello che conta davvero è capire se vuoi fare front-end o back-end”. 

Anni dopo, sono passato dal lato degli sviluppatori, e molto spesso mi trovo a dare lo stesso suggerimento per orientare chi vuole affacciarsi allo sviluppo web. 

Ma quale è la differenza tra lo sviluppo front-end e quello back-end? E perchè questa differenza è così importante?

cosa sono la programmazione front end e back end

La differenza tra Front-End e Back-End nella pratica

Partiamo dal capire che cosa sviluppa un programmatore front-end e cosa sviluppa un back-end. Ad esempio, quando apriamo il nostro browser e inseriamo “https://lacerba.io” sulla barra di ricerca verrà visualizzata l’homepage del sito Lacerba. Questa home è composta da una serie di elementi strutturati e organizzati all’interno della pagina, come la la barra di navigazione in alto oppure la sezione con i percorsi disponibili. La disposizione di questi elementi nella pagina, e il loro stile è uno dei compiti principali di uno sviluppatore front-end. Se invece proviamo a fare login per accedere alla nostra area riservata avremo un form che ci chiede email e password. Quando inseriamo le nostre credenziali e clicchiamo sul bottone ‘invia’, viene effettuata una chiamata al server Lacerba che si occuperà di interagire con il database e verificare se questo utente esiste e se la mail è corretta. Il server si occuperà di rimandare al browser un’informazione positiva se l’utente esiste e la password è corretta oppure, in caso contrario, un errore. L’interazione tra front-end, server e database è uno dei compiti principali di uno sviluppatore back-end.

Di seguito trovi un anche breve video che ho realizzato dove spiego la differenza tra front-end e back-end, utilizzando come esempio un fast food.

L’esempio di un Fast Food per capire il front-end e il back-end

La differenza tra front-end e back-end molto spesso va oltre il concetto di codice, rappresenta due culture e paradigmi di sviluppo tra loro diversi, con un obiettivo molto spesso condiviso, realizzare applicazioni e siti web utilizzabili e performanti, e questo non è possibile senza il lavoro di entrambi. Andiamo ad analizzare nel dettaglio la differenza tra front-end e back-end, facendo riferimento non solo al codice, ma anche alla soft skills utili per diventare una di queste figure. 

Chi è il programmatore front-end?

Il front-end è la parte di un sito web con cui l’utente interagisce. Tutto quello che vedi in una pagina web, dal font alla disposizione dei bottoni, passando per i popup, fa parte del front-end del sito web.

Hard Skills richieste

Il front-end developer è responsabile di realizzare la parte del codice del sito che viene visualizzato dall’utente e la sua user experience. I linguaggi principali richiesti sono HTML, css e Javascript. In aggiunta a questi linguaggi è importante che uno sviluppatore front-end abbia familiarità con dei framework di User Interface come Bootstrap, delle librerie come jQuery per la gestione di interazione ed eventi oppure linguaggi di css avanzato come SASS.

Da qualche anno ormai si sono diffusi dei framework javascript, come ad esempio React o VueJs, che permettono di sviluppare interfacce e interazioni complesse all’interno del sito velocemente e in maniera strutturata. Questi framework, molto spesso però hanno delle logiche di sviluppo vicine al back-end, rendendo la differenza tra front-end e back-end sempre meno netta.

Soft Skills Richieste

Gli sviluppatori front-end si troveranno a lavorare a stretto contatto con dei web designer e per questo può aiutare conoscere dei software di mockups o wireframe come ad esempio sketch o photoshop. Per un front-end può essere un valore aggiunto avere un approccio orientato al design e alla user experience, in modo da contribuire direttamente alla realizzazione e progettazione delle interfacce. Per questo gli sviluppatori front-end spesso sono orientati al dettaglio, esprimono la loro creatività in maniera visuale e ricevono un feedback immediato.

Se desideri approfondire gli aspetti relativi al front end ti consiglio anche l’articolo “Il web design al servizio del Ma(rketing)le”, sempre su questo blog.

Chi è il programmatore back-end?

Il back-end è quello che sta dietro un sito, quello che non si vede ma che ne permette il funzionamento generale. Il back-end consiste di un server, un’applicazione web e un database. Il back-end developer si occupa di costruire e mantenere la tecnologia che abilita e collega queste tre componenti.

Hard Skills richieste

Per far comunicare il server, database e l’applicazione tra di loro, gli sviluppatori back-end utilizzando uno o più linguaggi server-side, come ad esempio Ruby, Python, Java, PHP, .NET o Node per costruire l’applicazione, e strumenti come SQL Server per interagire con il database. 

La maggior parte degli sviluppatori back-end conosce, almeno ad un livello base, i principali linguaggi front-end, HTML, css e Javascript. Javascript, come già menzionato, è un linguaggio front-end molto diffuso che negli anni si è evoluto tantissimo, ed è ormai molto comune trovare sviluppatori back-end che utilizzano quotidianamente uno dei framework front-end basati su javascript come React, VueJS o AngularJS. Proprio perché Javascript è un linguaggio così diffuso sono nati anche dei linguaggi di programmazione server-side basati interamente su Javascript, il più famoso è sicuramente NodeJS che è un framework back-end a tutti gli effetti basato su Javascript.

Soft Skills Richieste

I programmatori back-end molto spesso si trovano ad integrare diverse componenti tra loro, molto spesso in maniera astratta, quindi è importante avere un approccio orientato al problem solving. Al back-end developer spettano anche decisioni su tecnologie, integrazioni o architettura del software e spesso si occupano di convertire richieste di business in requisiti tecnici per trovare la soluzione più efficiente per sviluppare la tecnologia. Se lo sviluppatore front-end ha più un approccio orientato all’utente, lo sviluppatore back-end ha un approccio più orientato alla tecnologia e alle funzionalità.

Come scegliere tra Front-end e Back-end nel 2020?

Ma come possiamo scegliere se iniziare dallo sviluppo front-end o back-end? Ci sono alcune variabili che ci possono aiutare nella scelta.

Obiettivo

Quale è l’obiettivo che ci spinge ad imparare a programmare? Se l’obiettivo è la ricerca lavoro possiamo dire che non c’è una forte differenza tra le due figure, entrambe sono molto richieste nel mercato. Anche come stipendio medio le due figure sono più o meno in linea su un entry level.

Se invece l’obiettivo è quello di imparare a programmare per realizzare dei progetti personali oppure per diventare un freelance, la scelta tra un percorso front-end e uno back-end può impattare. Se i progetti che si vogliono realizzare sono dei progetti che non richiedono un server/database come ad esempio dei siti statici (sito vetrina di un’attività, portfolio di un professionista, etc…) allora la scelta migliore può essere quella di focalizzarsi sul front-end. Se invece si vogliono creare delle applicazioni web che necessitano dell’architettura con il server e database per la gestione dei dati allora la scelta è forzata verso il back-end.

Caratteristiche Personali 

Le caratteristiche personali, soft skills e passioni possono essere un fattore determinante nella scelta della carriera.

Una figura orientata all’estetica, alla parte visuale, al dettaglio probabilmente sarà più appassionata dallo sviluppo front-end, visto che la sfida principale di questo lavoro è realizzare applicazioni che siano utilizzate e amate dagli utenti. Mentre una figura più orientata al problem solving e all’integrazione di diversi sistemi sarà più appassionata dalla parte back-end, dato che la sfida principale del suo lavoro è quella di ridurre al minimo gli errori e garantire il funzionamento di tutta l’architettura.

I trend del futuro nella programmazione

Come abbiamo visto la differenza tra front-end e back-end è ancora attuale anche se con lo sviluppo di Javascript e dei suoi framework la distinzione è decisamente meno netta e ormai è abbastanza comune trovare sviluppatori front-end che sono in grado di scrivere del codice attraverso linguaggi server-side così come è comune trovare programmatori back-end che sono dei guru di javascript. Basta analizzare questo report realizzato da stackoverflow (il sito più utilizzato da ogni programmatore) per vedere che javascript è ormai il linguaggio più diffuso.

i trend del futuro nella programmazione
Un’immagine estratta dal report di stackoverflow.

In aggiunta a javascript ed i suoi framework ci sono una serie di strumenti di sviluppo che ormai sono utilizzati quotidianamente da entrambe le figure, come ad esempio Git e Github per gestire il codice e lavorare in team sullo stesso progetto, oppure Docker per semplificare il setup di una nuova applicazione e ridurre eventuali problematiche relative ad ambienti di sviluppo diversi. Anche nel modo di impostare il lavoro ormai è comune vedere lo stesso approccio tra le due figure, ovvero sviluppo agile, che sfrutta la metodologia lean basata su cicli di sviluppo brevi a sprint.

Allo stesso tempo il web development sta andando verso una direzione modulare, con la creazione di componenti indipendenti, riutilizzabili, e semplici da mantenere nel lungo termine. Questo significa che sviluppatori front-end e back-end si trovano a lavorare a stretto contatto, spesso in piccoli team ed è molto comune che queste figure siano in grado di capire il lavoro dell’altro per raggiungere al meglio gli obiettivi di business prefissati.

È importante sottolineare come il coding sia un mondo in continua evoluzione, molte tecnologie nascono e muoiono velocemente, così come paradigmi di sviluppo, mentre quello che rimane invariato è l’obiettivo della programmazione: ovvero creare applicazioni che hanno l’obiettivo di essere utilizzabili, performanti e sicure.

Fra 10 anni i linguaggi di cui ti ho parlato potrebbero essere in disuso, allora non sarai più un programmatore Back End o Front End? Non sono tanto le etichette a definire chi sei nella programmazione, ma il tipo di soluzione, la strategia di problem solving che sceglierai di attuare per risolvere o aggirare un dato problema. Perché tutto è in costante evoluzione nel mondo della programmazione, ma una cosa resta invariata: si tratta di risolvere problemi. 

I corsi che ti consigliamo

Se desideri approcciarti alla programmazione su Lacerba abbiamo sia dei corsi introduttivi di livello base, che corsi verticali per apprendere il front-end e il back-end.

Corso base di programmazione – (accedi con il 20% di sconto attraverso questo link)

Percorso da front end developer – accedi con una borsa di studio e inizia la tua carriera

Percorso da programmatore back end – accedi con una borsa di studio e inizia la tua carriera

17 Giugno 2020 2 commenti
1 FacebookLinkedinEmail
Creare business

Il Web Design al servizio del Male (del Marketing)

by Luca Boudidat 26 Maggio 2020
by Luca Boudidat

Come progettare una Landing Page user-friendly, che rispecchi le esigenze del mercato, senza tradire la tua creatività.

corsi online per aziende

INDICE

  • La sfida di un nuovo prodotto
  • Ma quindi come si progetta nel pratico una Landing Page?
  • Fase 1. Porsi le domande giuste e fare un’attenta analisi di studio
  • Fase 2 progettazione e prototipo
  • Fase 3 revisione e sviluppo
  • Conclusioni
  • I corsi che ti consigliamo

Caro lettore, che tu sia un Web Designer, uno sviluppatore Front End o un Ux Designer , non potrai scappare dalle logiche imprenditoriali che il mercato ti impone. Il solo piacere di poter creare un prodotto puramente visivo ed estetico è lasciato agli artisti, poiché trascende dagli obiettivi di business della realtà lavorativa in cui sei immerso. Start up o azienda consolidata che sia, il tuo contributo sarà sempre condizionato da input esterni, andando a fondere il lato estetico a quello funzionale. (Se ti interessa la programmazione puoi leggere anche “Nel 2020 ha ancora senso la distinzione tra front end e back end” sempre sul nostro blog.)

Non me ne vogliano i miei amici markettari, la mia è una vera e propria provocazione, web designer e professionisti del marketing devono aiutarsi per arrivare ad un obiettivo comune. Le due sfere si intrecciano, influenzandosi a vicenda, e se da un lato Il web designer adatta le proprie skills e la propria creatività  al fine di raggiungere l’obiettivo di mercato prefissato, dall’altro il marketing deve tener conto di quella che è l’esperienza utente e dei limiti che lo sviluppatore può trovarsi davanti.

La sfida di un nuovo prodotto.

La realizzazione di un nuovo prodotto è sempre una sfida, su tanti aspetti differenti. A noi Web Developer, nello specifico, ci costringe ad uscire dai nostri pattern e a provare nuove strategie. Quando avrai terminato il lavoro non avrai semplicemente creato un prodotto del tutto nuovo, ma in ultima analisi sarai un programmatore migliore, grazie agli sforzi che avrai dovuto affrontare.

In questo articolo voglio raccontarti quelli che sono gli aspetti strategici che entrano in gioco quando dobbiamo realizzare una pagina di prodotto del tutto nuova, e per farlo userò l’esempio dell’Executive Master di Lacerba a cui ho lavorato. 

L’Executive Master ha segnato una pietra miliare nella storia di Lacerba e ha coinvolto gli sforzi di tutto il team. Con questo prodotto la nostra scuola faceva un salto di qualità in quanto si trattava di proporre al pubblico un percorso professionalizzante di lunga durata, certificato a livello universitario e con un prezzo del tutto differente da quello degli altri corsi presenti su Lacerba. Ci siamo quindi posti la sfida di presentare questo prodotto sotto una  nuova chiave, mostrando agli studenti i passi fatti in avanti, la nuova direzione presa, ma senza snaturare o perdere quella che è la nostra identità, che ci aveva distinto da sempre come piattaforma e-learning.

La posta in gioco era tanta e serviva un lavoro eccellente per sostenere il nuovo progetto che stava venendo alla luce.

web designer wanted

Ma quindi come si progetta nel pratico una Landing Page?

Sebbene si possa pensare al processo di creazione di una Landing Page come qualcosa di ciclico e standardizzato, nella realtà, anche se ci sono sicuramente tratti comuni a livello di impostazione, ogni flusso di lavoro sarà unico.

Perché questo?

Ogni Landing Page ha uno scopo preciso e definito che si riferisce esclusivamente al prodotto e/o servizio che si sta presentando, quindi obiettivi e messaggi da trasmettere saranno diversi fra loro.  C’è poi da aggiungere che i valori aziendali, l’identità del brand e la tipologia di comunicazione scelta sono elementi che andranno ad influenzare la tua pagina. Quando dicevo che un Front End developer deve sottostare alle logiche di mercato non intendevo che egli non abbia potere decisionale, e anzi, forse la sfida più bella è proprio questa: utilizzare la propria creatività per trovare il giusto equilibrio tra estetica e funzionalità. Creare una Landing Page è un gioco di equilibri: se ci si focalizza puramente sul lato estetico si rischia di perdere di vista quelli che sono i reali obiettivi per cui quella pagina è stata creata. Di contro, un lavoro troppo istituzionale e impostato, rischia invece di non avere sufficiente impatto visivo per il nostro utente ed essere facilmente dimenticabile.

Ma andiamo più nel pratico, ora vi racconterò quelli che secondo la mia esperienza sono i tre punti fondamentali da cui partire per creare la tua Landing page.

Fase 1. Porsi le domande giuste e fare un’attenta analisi di studio.

Prima ancora di poter entrare nel vivo del lavoro creativo è importante una fase di studio e analisi, da non fare soli, ma con tutti i membri del team coinvolti nella realizzazione del prodotto. 
Avere ben chiaro in mente quale sia l’obiettivo finale della nostra Landing Page è fondamentale per evitare di andare fuori strada.
Nel caso specifico che ti sto riportando, quello della Landing page dell’Executive Master, l’obiettivo primario era quello di fare Lead Generation, portando gli studenti a fare una pre-iscrizione ad nuovo percorso formativo. Una notevole differenza rispetto alle pagine dei corsi Lacerba, che sono invece delle sales page a pieno titolo. 

Bisognava dunque realizzare una Landing differente, unica come lo era il prodotto, ma che al contempo fosse in linea con lo stile e i valori della nostra scuola online. L’obiettivo era orientare lo studente, prima ancora di vendergli il Master e dargli la possibilità di comprendere se un percorso lungo e impegnativo come quello fosse adatto per i suoi fini di formazione. Risultava dunque fondamentale essere estremamente chiari e capaci di mettere in rilievo tutti i punti di forza di un percorso del genere, come la certificazione universitaria, le ore di tutoring e quant’altro.

In generale ogni processo di analisi iniziale è unico, ma ci sono tre domande che non puoi evitare di porti prima di realizzare una Landing Page:
– Qual è il mio obiettivo, che cosa voglio comunicare davvero?
– Chi è il mio target, a chi si rivolge il mio messaggio?
– Qual è lo stile, design, che renderà più efficace quello specifico messaggio?

Fase 2 progettazione e prototipo

Questa è la fase più creativa e stimolante, ma attenzione a non partire in quarta! 

Prima di scrivere anche solo una riga di codice è fondamentale disegnare dei prototipi di come la pagina si presenterà e funzionerà. Io personalmente utilizzo Sketch, un’app molto intuitiva e semplice da usare, ma ce ne sono tantissime e anche carta e penna vanno benissimo per questa fase. Disegnare la nostra Landing Page ci farà risparmiare tante ore in fase di sviluppo e fidatevi è fondamentale! Lo dico perché anche io, quando ero più inesperto, partivo gasato a scrivere codice con solo un’idea mentale di quello che dovevo andare a realizzare e questo faceva sì che dovessi poi tornare molte volte sugli stessi elementi, allungando notevolmente i tempi di lavoro. 

web design applicato al marketing
La mi schermata di lavoro su Sketch.

Per la landing dell’Executive Master abbiamo studiato i maggiori competitor sul mercato ed abbiamo compreso come tutti avessero delle caratteristiche comuni: un aspetto molto istituzionale con un approccio descrittivo molto testuale, poco in linea con lo stile “friendly” e giovane della nostra piattaforma.  Lavorando in una startup io potevo svecchiare questi criteri dell’insegnamento, senza però lasciare nulla al caso: ho potuto “giocare” sugli elementi grafici, sui colori, su tutti i minimi dettagli con cui l’utente interagisce all’interno della pagina. Tutto questo rispondendo alle domande che ci siamo posti nella fase iniziale e dando valore ai nostri punti di forza.
È importante in questa fase condividere il proprio lavoro con il resto del team e ricevere dei feedback, positivi o negativi, perché lavorare completamente in autonomia può portare ad un auto compiacimento del proprio lavoro senza avere un vero sguardo critico.

Ogni Landing page che andrete a creare non sarà mai la sua versione definitiva, faccio fatica oggi a contare quante volte ci siamo fermati e abbiamo ripensato alcuni aspetti della pagina, andando a modificare quelle parti che risultavano bloccanti o frenanti rispetto all’obiettivo finale. Questo è un aspetto che vi troverete ad affrontare nel tempo, anche dopo aver pubblicato la vostra pagina e di cui te ne parlerò approfonditamente in un prossimo articolo.

Fase 3 revisione e sviluppo

Ultima ma non meno importante è la fase di revisione e sviluppo; una volta approvato il design e gli elementi che andranno a caratterizzare la pagina, è appropriato affidare i copy della landing al reparto marketing, poiché avendo fatto un’attenta analisi sui messaggi da comunicare e conoscendo i nostri punti di forza sapranno esattamente cosa e come comunicare.

Una volta ottenuto il testo e gli sketch della pagina abbiamo tutti gli elementi per assemblare il nostro lavoro ed iniziare e fare le ultime modifiche e ottimizzazioni.

Ma quindi la mia landing page è finita?

Assolutamente no, durante lo sviluppo vero e proprio della Landing Page ti troverai di fronte a molteplici problematiche che semplicemente in precedenza non ti eri posto o che magari davi per scontate ed è in questa fase che si mette in moto la tua capacità di risolvere problemi da sviluppatore; saper conciliare le richieste con le proprie capacità e cercare di tirare fuori qualcosa di entusiasmante, che sia appagante per l’utente finale e che funzioni.
La landing page dell’Executive Master in Digital Marketing Strategist che attualmente potete trovare online su Lacerba è il risultato di quasi 4 o 5 grandi modifiche avvenute nell’arco di due anni.

Conclusioni

Lo scopo di questo articolo non era quello di darvi una guida step by step di come andrebbe fatta una landing page, per quello abbiamo ore di corsi su Lacerba che saranno sicuramente più efficaci di questa chiacchierata. Il mio obiettivo era quello di mostrarti la fase precedente alla creazione di una Landing Page: quella strategica, fatta di analisi, confronto anche col marketing e scelte oculate. 

Saper programmare è un gioco di problem solving continuo, utile tanto nel suo intento finale di realizzare un prodotto, quanto in quello di darvi degli stimoli nuovi per pensare a soluzioni diverse. Affrontare i propri limiti nella programmazione ti aiuta ad aumentare le tue abilità, ampliando la tua visione e rendendo, infine, il lavoro più interessante e competitivo.  

I corsi che ti consigliamo

Se ti incuriosisce la possibilità di canalizzare la tua creatività attraverso il codice ti consigliamo alcuni dei nostri corsi di programmazione più studiati su Lacerba: 

  • (corso base) Crea una Landing Page – gratuito
  • Landing Page & Ux Masterclass (accedi con il 20% di sconto attraverso questo link)
  • Diventa programmatore Front End (accedi con il 20% di sconto attraverso questo link)

26 Maggio 2020 0 commenti
2 FacebookLinkedinEmail

TAG 1

Manager Startupper

TAG 2

business human skills marketing podcasting programmazione

Social Networks

Facebook Instagram Linkedin Youtube

Iscriviti alla Newsletter

Resta aggiornato con le novità dal blog di Lacerba.io

  • Facebook
  • Instagram
  • Linkedin
  • Youtube
  • Email

@2020 - All Right Reserved. Developed by Lacerba.io