Perché scegliere di lavorare come programmatore freelance?
Intervista a Claudio Cipullo, programmatore freelance in BitBoss
Perché scegliere una carriera da libero professionista piuttosto che da dipendente? Cosa spinge un programmatore a intraprendere questa strada? Abbiamo fatto queste domande e tante altre a Claudio Cipullo, sviluppatore freelance in BitBoss, che ci ha spiegato qual è stato il suo percorso formativo e professionale e perché ha scelto una vita da freelance. Ci ha anche spiegato come, secondo lui, un giovane dovrebbe approcciare questa professione per avere successo.
Raccontaci la tua storia: come sei diventato uno sviluppatore, quando hai iniziato, di cosa ti occupi e con quanti clienti lavori?
Sono diplomato in ragioneria, ho un’infarinatura di informatica e feci anche un corso di html, ma dopo il militare intrapresi una strada nel commercio. Lavoravo per una grande compagnia di distribuzione quando ho ripreso in maniera collaterale a sviluppare, lavorando su Wordpress e robe così. L’azienda poi ha fallito e io decisi che l’ambito commerciale non faceva più per me. Cominciai allora ad approcciare il php facendo gavetta con piccoli clienti e piccole aziende e nel 2012–2013 feci della programmazione il mio lavoro vero e proprio. Ho fatto esperienze in varie società anche con contratto a tempo determinato e dal 2018 ho aperto partito iva perché ebbi l’occasione di continuare con uno di questi clienti come libero professionista, nel frattempo si sono aperte altre strade e opportunità. Attualmente collaboro principalmente con 3 società tra cui BitBoss.
Quali sono i vantaggi e gli svantaggi dell’attività da libero professionista e da dipendente?
Attualmente preferisco la posizione da libero professionista, quando ho fatto il collaboratore presso una società ero su un progetto ma ero chiuso su quel progetto, mi accorgevo che non stavo crescendo, vedevo sempre applicazioni vecchie: usavamo un versioning che non avevo mai sentito che aveva ereditato il sistema operativo Ubuntu. La mia esperienza mi dimostra che il lavoro da dipendente è limitante se sei una persona interessata alle novità e se ti piace rimanere aggiornato. Da libero professionista invece tu hai un progetto, sei tu che scegli i tuoi strumenti di sviluppo, dedichi del tempo a documentarti e a fare i dovuti test. Lavorando in remote working risparmi il tempo perso nel traffico e sei fresco, puoi dedicarti allo studio e a fare qualcosa in più oltre ai consueti task del lavoro. Lo svantaggio di fare il freelance è sicuramente la mancanza di stabilità: se un cliente ti dice da un giorno all’altro che è in crisi e che non ha più lavoro per te, finisce lì. Anche se hai un contratto non è come essere dipendente. Capita che magari tu a quel cliente hai allocato 30 ore settimanali perché si trattava di un progetto grosso e ti ritrovi dall’oggi al domani a dover cercare un altro cliente. Devi poi stare un po’ attento perché avere troppi clienti è un problema. Devi resistere alla tentazione di accettare qualsiasi lavoro, anche se la situazione di avere tanti clienti ti garantirebbe un cuscinetto in caso di emergenza, ti richiederebbe troppo tempo gestirli tutti e finiresti per scontentarne una parte.
La mia esperienza mi dimostra che il lavoro da dipendente è limitante se sei una persona interessata alle novità e se ti piace rimanere aggiornato.
Quali sono i motivi che ti spingono a fare il freelance?
Principalmente la crescita e l’approccio ai progetti. Scelgo quale progetto effettivamente mi interessa seguire. Per esempio con BitBoss ho fatto il colloquio e ho visto che la mentalità aziendale era in linea con la mia, quindi ho deciso che mi interessava collaborare con loro. Da dipendente questa possibilità non c’è, devi lavorare con gli strumenti e gli approcci che trovi o che il loro cliente vuole continuare ad utilizzare anche se obsoleti.
Quali canali utilizzi per trovare nuovi clienti?
Principalmente Linkedin. In alcuni periodi ricevo molte richieste e allora valuto chi mi ha cercato, ma ad esempio nel lockdown ho interrotto collaborazioni con diversi clienti, ho dovuto cercare e guardarmi intorno per poter integrare il lavoro che ho perso. In questo caso ho trovato BitBoss.
I vantaggi e gli svantaggi del remote working e del lavoro di ufficio
Tra le due preferisco assolutamente il remote working, innanzitutto perché così mi risparmio i tempi spesi durante gli spostamenti per andare in ufficio. Nel mio caso ci metterei minimo due ore e mezza ad arrivare in azienda, perché abito fuori città. Questo a dire il vero è l’unico svantaggio del doversi recare sul posto di lavoro perché se l’ambiente in ufficio è piacevole non mi pesa spostarmi. L’ideale sarebbe fare una un po’ e un po’: due giorni a settimana in ufficio e tre a casa. Il contro del remote working è che si finisce per lavorare anche di più rispetto all’orario di lavoro in ufficio. Quando hai degli orari prestabiliti, una volta che stacchi non ti metti più al lavoro, invece a casa finisce che non ti allontani mai dal pc.
Quando lavori da remoto cerchi di simulare la giornata lavorativa in ufficio o hai orari più flessibili?
Solitamente cerco di lavorare nei normali orari di ufficio. Può capitare che il mio lavoro si prolunghi oltre, ma non è la norma. Magari lo faccio per non invadere il weekend o nel momento in cui mi capita di avere impegni personali durante la giornata, ma solitamente cerco di simulare la giornata lavorativa standard: dalle 9.00 alle 18.00–18.30.
Più o meno come organizzi i tuoi progetti, dividi il lavoro in task?
Alloco delle ore settimanali a un progetto in modo da arrivare a non avere accumuli di lavoro durante il fine settimana, per non dover fare orari eccessivi. Nel caso di BitBoss usiamo Clickup e mi va bene così, ma in altri casi mi adatto ai tool che usano i miei clienti. Ad esempio mi capita spesso di usare Asana anche nel caso in cui il cliente sia meno organizzato. Se invece il committente usa tool diversi cerco di imparare ad utilizzare i suoi.
Durante la tua esperienza hai mai svolto il ruolo del project manager?
Tendenzialmente sono sempre stato coordinato. Nel caso del lavoro in team non c’è mai stato un project manager che dirigeva il lavoro di tutti, ma ognuno si organizzava in autonomia e ci si gestiva tutti insieme.
Ti piacerebbe fare il project manager in futuro?
Magari in futuro sì, attualmente mi piace sviluppare e imparare cose nuove, amo il lavoro che faccio. In futuro non mi dispiacerebbe approfondire anche il ruolo più gestionale che operativo.
Pensi che sia utile la figura del project manager?
Avere un coordinatore è sicuramente un vantaggio. Quando eravamo in team non lo avevamo perché era più che altro un lavoro individuale, non c’era bisogno di un direttore d’orchestra. In altri casi come per BitBoss può essere molto utile.
Perché hai deciso di fare lo sviluppatore?
Ho sempre avuto la passione per i computer come tutti gli sviluppatori, questo lavoro è venuto un po’ da sé. Mi sono sempre tenuto molto aggiornato sul mondo dell’informatica e quando sono passato dal mio lavoro in ambito commerciale a quello da sviluppatore ho percepito la differenza: il lavoro da sviluppatore mi ha subito fatto sentire più gratificato perché avevo la percezione di creare qualcosa di tangibile. Vedevo un prodotto fatto da me, funzionante e che veniva utilizzato. Mi sono da subito sentito più gratificato.
Da freelance ti è mai capitato di trovarti in un progetto troppo grosso rischiando di non poterlo gestire? Se sì come ti sei comportato? Ti è mai passato per la testa di creare una software house?
Quando sono diventato libero professionista conoscevo altri freelance e ho pensato di poter trasformare queste conoscenze in qualcosa di più di una semplice collaborazione, magari trasformandola in una piccola società. Non è successo e non credo che succederà. Dal mio punto di vista per creare una piccola azienda devi già avere un cliente grande che ti alimenta: una volta che ti trovi ad avere un grosso cliente per le mani puoi pensare di mettere le basi per far partire la macchina, altrimenti non vedo il motivo di imbarcarmi in un’impresa del genere. Di base per farmi compiere questo passo dovrebbe nascere una collaborazione importante, ma fino ad adesso non è mai successo perciò per ora mi va bene così, non cerco attivamente di creare una realtà più complessa.
Mi è successo di avere per le mani un lavoro troppo grande per me, ma in realtà lo è diventato con il tempo. All’analisi preliminare sembrava fattibile per una persona sola, poi tra riunioni e altri responsabili ognuno mette la sua idea e si è trasformato in una cosa enorme, io ho fatto capire che le esigenze erano diventato molto più grandi, ora sto facendo un passaggio di consegne ad un’altra azienda.
Ti aggiorni sulla programmazione? In che modo? Quando non sai fare qualcosa come affronti il problema?
Seguo innanzitutto canali Twitter che trattano argomenti legati allo sviluppo. Facebook non è adatto per aggiornarsi, Twitter è più rapido in questo senso e lo trovo più efficace. Poi generalmente cerco video tutorial sfruttando diversi canali, principalmente Udemy e Laracast. In generale solitamente mi affido ai video. In ogni caso prima di buttarmi sul codice voglio vedere di che si tratta, studiare, vedo qualche video e poi capisco se ho le conoscenze necessarie per partire.
Ti formi a prescindere dei nuovi lavori che arrivano, o studi dal momento in cui si presenta l’occasione di un nuovo cliente o progetto?
Questo era un approccio che adottavo prima, studiavo Python, da solo mi ero studiato qualcosa, poi però non si è mai presentata l’esigenza di dover fare un lavoro sfruttando quella tecnologia. Mi è anche capitato di studiare cose nuove e poi pensare: “per questo progetto uso questa tecnologia nuova per provarla”, però queste occasioni non si presentano e le cose finisce che te le dimentichi, semplicemente non ti servono e te le scordi. Adesso preferisco studiare dal momento in cui vedo che il mio studio mi serve per un nuovo progetto, perché ciò che vedo nella teoria posso metterlo subito in pratica. Ora continuo a tenermi sempre aggiornato, ma un vero approfondimento su una tecnologia lo faccio solo se poi ci devo lavorare. Avevo preso anche dei libri per studiare, ma le evoluzioni nel settore sono talmente rapide che il libro diventa subito obsoleto, ora studio sempre online.
Che consigli daresti ad una persona che vuole intraprendere questo percorso?
Mio nipote sta facendo l’industriale in informatica, gli dico sempre: “d’estate invece di giocare mettiti su un progetto, fai una pagina web, approfondisci, cerca di essere più curioso e nel tempo libero cerca di fare qualcosa in più”. Se l’argomento ti piace, bene o male la professione esce fuori da sola.
Come vedi il lavoro dello sviluppatore in futuro?
È una domanda che mi pongo spesso. Sicuramente da qui a 5–10 anni qualcosa cambierà. Con i nuovi approcci, alcuni cambiamenti avverranno già tra questo e il prossimo anno. Sinceramente non penso che ci sarà una grossa rivoluzione, anche perché noi in Italia abbiamo progetti e grosse strutture che hanno del codice talmente vecchio che per i prossimi anni ci sarà ancora una grande richiesta di programmatori. Sicuramente qualcosa cambierà, ma qualcosa che metta in dubbio la figura stessa del programmatore penso di no. Certo, emergeranno dei tool che permettono ai programmatori di sviluppare in modo più rapido, forse un utente senza conoscenze tecniche potrà sviluppare app e siti web, ma saranno sempre applicazioni molto standard. Chi vorrà software personalizzati avrà sempre bisogno di un bravo sviluppatore.