Sono un programmatore informatico e quindi voglio spiegarti cosa fa un programmatore. Questo è il punto di vista di qualcuno che lo vive da dentro.
Mi capita spesso, al bar con gli amici, al ristorante il sabato sera, quando conosco qualcuno, di sentirmi chiedere: “cosa fa un programmatore?”.
In questo articolo ho deciso quindi di raccontarti cosa faccio io, cosa ho visto fare ai miei colleghi e ti offro un piccolo sguardo sul mondo dei programmatori dato direttamente dai miei occhi.
Cosa fa un programmatore?
Vorrei iniziare raccontandoti 2000 cose, ma ci sono termini tecnici ed abbreviazioni che spesso noi programmatori usiamo e che complicherebbero la tua lettura.
Se sei un programmatore non ti accanire, sto cercando di spiegare ad altri lettori cosa fa un programmatore facendo finta di aver davanti un bambino.
Cosa fa un programmatore
Un programmatore è una persona uomo o donna che si è innamorata dell’utilizzo del computer sin da quando era bambino.
L’amore per il computer in sé però non basta, perché serve comunque anche una passione speciale per la risoluzione di problemi, lo studio di algoritmi e per scrivere codice. Questa cosa è molto importante perché la passione per il computer e la tecnologia da sole possono dar vita ad un video-giocatore, ad un perito elettronico ed altre figure non pertinenti con il programmatore.
Cosa fa
Un programmatore vuole risolvere problemi, velocizzare il modo di fare le cose e creare qualcosa di nuovo.
Il bello è che quando crei qualcosa sei un po’ una divinità. Hai il potere di creare e distruggere.
Un programmatore programma, ovvero scrivere codice. Questo codice viene capito dal computer o da un altro programma creato da qualche altro programmatore e dà vita a mille cose differenti a seconda dello scopo del lavoro.
Ci sono programmatori che creano siti web, programmatori che creano sistemi operativi, programmatori che creano app per smartphone. Alcuni programmatori sanno fare più di una cosa, altri soltanto una ma sono il punto di riferimento in quel settore.
L’esperienza non si misura per forza in anni di lavoro, ma la passione e le ore che passi durante il giorno ad informarti ed a studiare, oltre che a lavorare, fanno di te una persona più o meno brava.
Un programmatore non scrive solo codice. Rimane chiuso nella sala riunioni per ore a discutere sulle migliori soluzioni per creare un software sicuro, rapido e studia le migliori soluzioni per scrivere codice allo stato dell’arte.
Cosa non fa
Sembra banale, ma quando si parla di cosa fa un programmatore poi spesso ci si dimentica di cosa non fa un programmatore.
Perché una delle situazioni più assurde per un programmatore è che chi lo conosce e non si occupa del suo mestiere è convinto che un programmatore sappia:
- Riparare schermi
- Riparare smartphone
- Formattare un computer
- Cambiare scheda video, scheda madre, ventola ad un computer
- Installare uno o più router o creare una rete anche aziendale
- … e tanto altro…!
Nella realtà dei fatti esistono programmatori che sanno fare anche le cose elencate, ma non è il loro primo compito e non è detto che debbano saper fare tutto ciò perché sono programmatori.
Per farvi un esempio io non so riparare schermi, né riparare smartphone, né mettere le mani a tutto ciò che è l’hardware di un computer. Per esigenze personali ho imparato però a formattare un computer ed a configurare una linea internet attaccando tutti gli apparecchi del caso.
Una giornata tipo?
Più o meno adesso sai cosa fa un programmatore, ma probabilmente con il racconto di una giornata tipo ti può essere ancora più chiaro.
Fino a quando ho lavorato in azienda, come dipendente, mi sono alzato ogni mattina arrivando a lavoro al classico orario di ufficio. Una volta arrivati a lavoro si accende il computer, si capisce cosa bisogna fare (solitamente già deciso in una riunione) e si inizia a programmare.
Ma dove si inizia? Ti ho già raccontato della mia giornata tipo a questo indirizzo e ti ho spiegato come lavoravo nella prima azienda dove sono stato. Ovviamente lì ho raccontato di alcuni aspetti abbastanza tecnici delle modalità in cui affrontavamo il lavoro. Per arrivare al dunque normalmente durante il mese viene fatta qualche riunione che vede coinvolti i programmatori che stanno lavorando su un progetto ed i team leader.
Le riunioni sono il momento in cui si capisce cosa bisogna implementare, se ci sono errori da risolvere (i famosi bug!) e si cerca di capire quanto si riuscirà a fare durante la settimana tenendo conto di possibili complicanze.
Immagina di dover creare qualcosa per Facebook. Vogliamo fare in modo che gli utenti possano cancellare le foto caricate dai loro amici (esempio senza senso?!). Allora nella riunione si dividerà il problema in sotto-problemi: mettere una X in alto a destra, mettere messaggio “sei sicuro?”, implementare la chiamata al server per salvare sul database la cancellazione, implementare sul server la logica per cancellare una foto.
Ognuna delle attività sopra elencate avrà un tempo stimato di realizzazione. Dopo di che è possibile che tutti possano scegliere un’attività ed iniziare a farla, come è possibile che un’azienda abbia persone specializzate nel costruire la grafica di un sito e quindi saranno solo loro ad occuparsi di mettere la X sull’immagine dell’utente e nessun altro.
Abbiamo deciso cosa fare
Se ti chiedono cosa fa un programmatore ora hai capito che non programma e basta.
Una volta deciso cosa fare nelle giornate seguenti non sono escluse riunioni, momenti allocati alla formazione e momenti allocati a sane discussioni sulle modalità di lavoro o di affrontare un problema.
In ogni caso un programmatore poi scrive codice. Normalmente è quello che fa per la maggior parte del tempo fin quando non inizia ad avere persone da guidare e tante mansioni amministrative da svolgere.
Durante la risoluzione di un problema a volte si programma anche in due per condividere la conoscenza o anche per farsi venire idee migliori. E non è vero che un programmatore scrive codice ininterrottamente. Spesso capita che qualcosa va cercato sul caro amico Google o che va chiesto a qualche collega.
Una volta finita la settimana si cerca di capire cosa è stato realizzato, cosa si è finito e si fanno un po’ di test finali prima di dare al cliente tutto ciò che è stato sviluppato.
E’ facile diventare un programmatore?
Beh a questa domanda mi è sempre difficile dare una risposta.
Hai capito cosa fa un programmatore. Fa un lavoro particolare in cui la cosa che crea più dubbi è lo scrivere codice. Tu che leggi hai capito le riunioni, hai capito la formazione, hai capito tutto, ma il codice ancora è un punto interrogativo.
Esistono infatti diversi linguaggi di programmazione e non esiste un programmatore che li conosca tutti. Esistono linguaggi che servono per costruire app ed altri più adatti per inserire della logica in un sito web.
La mia risposta comunque è “SNI” se per te va bene. Tecnicamente se una persona ha la passione ed a casa si informa un po’, ci prova, magari affronta la programmazione a scuola o comunque ha voglia di perderci tempo e seguire le diverse guide così come i corsi su Udemy (se non sai cos’è Udemy te lo spiego quì), allora la risposta può essere “sì”. Diventare un programmatore bravo è qualcosa che si impara dopo tanta pratica ed esperienza. La risposta sarà invece “no” per tutti quelli che davanti al PC si stufano dopo 3 minuti o che dopo 3 righe di articolo per imparare un linguaggio cambiano pagina e vanno su YouTube.
E’ stressante?
Prova ad immaginare cosa fa un programmatore dopo quello che ti ho descritto. Aggiungi il fatto che spesso si ha a che fare con clienti che, giustamente, non capiscono nulla del lavoro che fa un programmatore.
Aggiungi il fatto che un programmatore non crea qualcosa di tangibile, non costruisce una casa, non pittura e che tutto sembra comparire per magia.
Può diventare un lavoro davvero stressante. Può diventare un lavoro davvero stressante quando persino la persona che hanno messo a fare il project manager non ha mai fatto il tuo lavoro.
Non mi scorderò mai un cliente che era convinto di sapere quanto tempo ci sarebbe voluto per aggiungere un pulsante che doveva solo nascondere una scritta. Lui aveva stimato il tempo in 7 giorni lavorativi. Fin quì tutto positivo, ci volevano 15 minuti in realtà. Accade però anche il contrario. Ovvero che si aspetta di vedere realizzato uno strumento di salvataggio globale per 10’000 utenti connessi da tutto il mondo con possibilità di vedere la situazione passata di migliaia di progetti in sole 2 ore. E per lui è così, perché lo ha letto su Google.
So che ti racconto degli estremi, ma non sono così rari. Ieri un tizio mi ha chiamato dicendo che voleva un sito web gratuito perché su Google aveva visto che i siti web si possono fare anche gratis, ma che lui non è capace. Quindi per sua logica io dovevo farlo gratis.
Ho già scritto un articolo sui clienti che non vorrebbe mai avere un programmatore, puoi leggerlo quì.
Le Scadenze
Quindi cosa fa un programmatore oltre a programmare, fare riunioni e parlare con persone che non capiscono nulla (e dico sempre “giustamente”) del suo lavoro?
Un programmatore deve rispettare le scadenze. In alcune aziende viene creato un processo di stima del lavoro che viene presentato al cliente esattamente come descritto prima. In altri casi le scadenze sono definite da persone che non hanno idea del lavoro da fare.
E lì si corre, si corre parecchio. Spesso il cliente cambia anche idea ad un certo punto e questo può essere un pro o un contro dal punto di vista dell’azienda, del programmatore e del cliente. Dipende tutto dalla metodologia di lavoro che si utilizza (leggi per esempio l’articolo sulle metodologie Agili e Lean a questo indirizzo).
P.S. Le scadenze ci sono in tutti i lavori, ma la particolarità di questo lavoro è che il cliente non vede nulla di tangibile e pensa sempre di essere truffato.
La cosa peggiore
Sia che vuoi diventare un programmatore sia che non ti interessa hai capito sicuramente che se impari e lavori in aziende valide puoi sicuramente trovare un buon ambiente di lavoro e fare quella che è la tua passione.
La cosa peggiore però è quella sensazione mistica che hanno le persone che non hanno ancora capito cosa fa un programmatore. Sono clienti ed amici che dopo averti chiesto qualcosa ti guardano sempre sospettosi di qualche arcano che stai nascondendo. Con i clienti che hanno letto su Google che ogni cosa è possibile, ma probabilmente non si rendono conto che è fuori dal loro budget. E poi ci sono i clienti che se ne escono con questioni del tipo “ho letto su Google che sarà illegale avere un e-commerce dal 2018, però a me serve!”. Quando gli dici che tu non trovi niente al riguardo o che sono tutte “cavolate” ti fanno domande con aria di sfida, andando a non calcolare minimamente la tua professionalità.
Alcuni ti dicono “sei matto? Io massimo un programmatore lo pago 15 euro lordi all’ora se è bravo”. Sì? E dove lo trovi? Un’ officina, senza nulla togliere a meccanici ed altri lavoratori, guadagna in media 35/40 euro all’ora quando porti lì la tua auto. Non ti dico che devi pagare un programmatore di più di un meccanico per forza di cose, ma ti assicuro che con 15 euro lordi all’ora non trovi nessun programmatore bravo, probabilmente non trovi un programmatore.
Conclusioni
In questa guida su cosa fa un programmatore ho cercato di farti capire che un programmatore scrive codice, ma si occupa anche di altro. Si arriva ad una velocità di lavoro stressante e se bisogna gestire anche i clienti spesso ci si ritrova davanti a persone che non sanno dare valore ad un lavoro che senza di persone come me non sa fare nessuno.
O lo sai fare, o non lo sai fare.
Ciò non toglie che esistono grandi gioie e che si lavora anche a progetti di grandi dimensioni per clienti importanti. Inoltre è possibile lavorare anche da casa, leggi quì.
Vuoi provare a studiare qualcosa? Inizia dai corsi su Udemy e da libri come questi.
Se vuoi iscriviti alla newsletter e non ti perderai i nuovi articoli. Mando da 1 a 4 mail al mese ricapitolando dove siamo arrivati con ogni guida. Con la newsletter hai anche accesso a libri ed ebook gratuiti, così come a coupon Udemy ? .
Per dubbi o domande scrivimi nei commenti ? .
Se ti è piaciuto l’articolo seguimi su Facebook e Twitter oppure rimani sempre aggiornato con la newsletter (da 1 a 4 mail al mese!).