/ Startup Stories

I linguaggi di programmazione per le Startup

Nell'immaginario comune la parola startup è istintivamente associata alla tecnologia, e in particolare alla programmazione. Non sempre questi elementi sono collegati e si può, per esempio, fare startup anche senza scrivere una riga di codice. Ma quando, come spesso accade, le righe di codice da scrivere sono tante, come si sceglie il linguaggio migliore?

La forza e il lato oscuro...

Questa storia inizia, come tutte le storie che si rispettino, col quadro sereno di una galassia lontana lontana, nella quale regnava un quieto equilibrio tra Java e .Net, tra PHP e Python, Beatles e Stones, e così via.

Si indossava una t-shirt un giorno, e spesso si finiva per non cambiare maglia per tutta la carriera, come i grandi capitani dei bei tempi andati.

Un giorno, mentre la complessa macchina organizzativa della repubblica era sempre più impegnata nella ricerca della metodologia migliore per mantenere in forma i suoi innumerevoli ingranaggi, diversi gruppi di ribelli iniziarono a minare il campo in direzione ostinata e contraria, apparentemente senza un disegno preciso e coerente, ma proprio per questo con straordinaria efficacia.

Qualche nome? Il capitano JQuery Solo, Backbone Skywalker, Knockout-becca e tanti altri eroi, con in comune solo uno slang antico e recuperato, che sarebbe poi diventato il deus-ex-machina dei nostri tempi: Javascript.

Dai linguaggi ai framework

Usciamo dalla metafora per introdurre un concetto fondamentale del ragionamento: oggi noi guardiamo orizzonti lontanissimi salendo sulle spalle di questi giganti.

Parlare di linguaggi di programmazione nel 2020 è infatti piuttosto complesso, perchè non sono più al centro dell'universo, e i posti d'onore sono ormai saldamente nelle mani dei framework.
D'altra parte, puoi entrare in un negozio di bricolage e costruire un armadio passo dopo passo, oppure entrare in un negozio giallo e blu e ottenere lo stesso risultato assemblando i pezzi di un kit.
pD7bpCY
Da un lato il romanticismo (e la fallibilità) della creazione, dall'altro l'efficienza di un design illuminato che ti porta al re in poche semplici mosse.
Scacco matto.

Startup: cosa scegliere?

Risposta semplice: dipende!
Non esistono risposte giuste o sbagliate a questa domanda, ma ci sono tante variabili da considerare, vediamo un elenco:

  • Requisiti dell'applicazione
  • Popolarità e supporto della community
  • Maturità del framework
  • Target audience del framework
  • Costi di sviluppo
  • Costi di deployment
  • Learning curve

Provando a riassumere tutto in una ricetta semplice: cercate di capire le caratteristiche fondamentali del prodotto da realizzare, esplorate i 2/3 framework più popolari e con buone probabilità di longevità (LTS). Verificate che il framework sia sufficientemente maturo da coprire tutti gli scenari richiesti (autenticazione, concorrenza, scalabilità, etc...). Cercate di capire se il framework fa per voi, se il progetto è semplice probabilmente un prodotto di natura enterprise porterebbe più oneri che onori, e viceversa.

Se siete una startup, sicuramente avete ben chiaro un principio: la cosa che conta di più nel vostro business sono le persone del team: per questo è fondamentale scegliere uno stack che abbia caratteristiche adatte al team, che consenta alle persone di lavorare in modo agile e veloce, di cambiare idea e fare sperimentazioni rapide, e, non ultimo, di lavorare con soddisfazione personale e acquisire skills professionali durante tutto il percorso.

Mantra finale: non fate invecchiare il vostro team su stack noiosi, non restringete le vostre possibilità di ampliare il team per colpa di stack troppo esotici.

Veterani e rookies

Concludiamo con una panoramica di strumenti/stack validi e interessanti per lo sviluppo di API, Websites e Apps, valutati secondo una personalissima metodologia:

Z > ZZZ = Boring level
8 > 888 = Nerdy level

Veterani

  • Java Spring - Z8
  • .Net Core - Z8
  • NodeJS + Express - 88
  • Angular - Z8
  • React - Z8
  • Ruby/Rails - Z88
  • Django/Python - ZZ888

L'elenco dei rookies è ovviamente parziale e senza valutazioni, ma contiene elementi molto promettenti, che vale la pena valutare e approfondire prima di tracciare la propria rotta:

Rookies

  • Socket.io
  • Firebase
  • GoLang
  • Flutter
  • React Native

Conclusioni

In sintesi, il suggerimento è di avere un approccio aperto, sperimentale, innovativo ma solido, non mettere in piedi uno stack solo perchè è quello che conosci meglio, ma sforzati di conoscere meglio tutte le alternative disponibili per la tua scelta.
GoodLuck();
Return;

Bibliografia
https://www.webdatarocks.com/blog/which-tech-stack-to-choose-for-your-project-in-2020/
https://towardsdatascience.com/top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e