Software Development for Dummies

I'll take that as a challenge... :ghigno

Io mi sono sempre chiesto per pura curiositá: come comincia la creazione di un software? Cioé, io nella mia totale ignoranza mi immagino due scenari: i mattoncini del lego, che hai giá e assembli, oppure @marc.overmars che si mette lí a scrivere codici con la penna d'oca come Leonardo scriveva i suoi codici...?

Non so se mi spiego, praticamente: se io ti chiedo di disegnarmi un software per permettermi di gestire le mie fatture, tu parti da elementi giá pronti che assembli e modifichi, o parti da 0?
Diciamo che dipende

A seconda del grado di personalizzazione che desideri, si può partire sia completamente da 0 (che poi non è zero effettivamente, perché in una maniera o nell'altra comunque userai codice scritto da altri per non reinventare la ruota come si suol dire) oppure partire da cose già fatte, più o meno complesse, che puoi usare addirittura senza modificare se necessario

Alla fine è come se ti servisse armadio blu in casa con il tuo nome scritto sull'anta

Dal punto di vista di chi deve creare l'armadio (aka chi deve sviluppare il software) quello che puoi fare va dall'andare al brico e comprare il pannello di legno, sega, trapano, viti, pittura blu ecc e iniziare a costruire tutto l'armadio oppure partire da un armadio che già c'è, magari simile ma non esattamente uguale a quello che tu vuoi, ma gli dai una pitturata con la vernice e sei a posto

Chiaramente il primo approccio è più faticoso, costoso (soldi e tempo), però hai massima personalizzazione, l'altro è veloce ed economico ma quello è, rischi di doverti accontentare, perché modificarlo può costare molto.
 
Al momento mi posso definire full stack developer visto che sto lavorando su un progetto dove mi occupo del backend e anche della rappresentazione dei dati.
Come detto da altri la creazione di un software non parte mai da zero ma sfrutta ampiamente cose già sviluppate e funzionanti, anche se ogni tanto l’ansia da pagina bianca c’è sempre.

Comunque credo che uno dei pro di questo tipo di lavoro è che ti porta a stare sempre aggiornato su ogni nuova tecnologia che ti può essere utile e quindi di non fossilizzarti su una sola cosa.

Approfitto del topic per chiedere se avete mai usato i database non relazionali tipo MongoDb? Vale la pena studiarli?
 
Io non sono un software developper mancoperunkeiser, ma smanetto al computer piu' che altro per data analysis, quindi prendi tutto con le pinze.
...
A spanne. Per ciascun punto, tendenzialmente, chi ci lavora sa gia' dove andare a parare e sfruttare algoritmi gia' scritti.
E il sempre valido xkcd:

:giusto:)

e frequenti fermate al box stackoverflow.com, a quanto pare pure i pro lo fanno
 
Alto