Ho pagato 750 euro per un app, ecco il risultato.
Pro e contro di una scelta apparentemente economica
Oggi vi parlo della mia esperienza per lo sviluppo di software con programmatori a basso costo. E’ una tentazione che riguarda tutti coloro che si affacciano al mondo della programmazione quella di rivolgersi alle piattaforme di freelancing quando si ha un progetto in cui si crede fortemente, che sia un sito, un’app etc. etc. da sviluppare, e si desidera realizzarlo velocemente ma si ha un budget contenuto.
E’ la prima cosa che viene in mente ed e’ quello che ho fatto anche io per un certo periodo.
Queste piattaforme funzionano in pratica come un mercato: da una parte c’e’ la domanda dell’utente con il suo progetto da realizzare e dall’altra una quantità di soggetti che offre il servizio di sviluppatore.
Parlo di “soggetti che offrono il servizio di sviluppatore”, perche’ in realta’ le persone con cui si entra in contatto sulle piattaforme di freelancing non sono gli sviluppatori veri e propri, ma solo dei “procacciatori” di clienti. Cosa che ho imparato a mie spese.
Questa ed altre situazioni – che ho sperimentato personalmente – mi hanno fatto riflettere sulla necessita’ di scrivere un blog per informare, e mettere in guardia, chi si affaccia per la prima volta in questo mondo e compie, ingenuamente, degli errori che rallentano il suo processo di produzione. Errori che possono essere alla base, non solo di perdite di tempo e di denaro ma, soprattutto, del fallimento di progetti che, invece, affidati professionisti seri avrebbero avuto successo.
Dove si trova un programmatore Low Cost
Esistono numerose piattaforme di freelancing, si trovano facilmente con Google.
Qui i programmatori provengono prevalentemente da paesi in via di sviluppo, dove i salari molto bassi e quindi possono offrire servizi a prezzi competitivi a livello globale; d’altra parte “chi cerca” (come nel mio caso), si trova in una posizione di enorme vantaggio, in quanto puo’ contrattare con una valuta più forte e risparmiare notevolmente sui gia’ bassi costi del servizio di programmazione.
Pronti? Si parte!
Per prima cosa, una volta fatto l’accesso alla piattaforma di freelancing in questione, le operazioni da fare sono semplici:
a) inserisci la descrizione del tuo progetto,
b) fissi il tuo personale budget di spesa
c) attendi le offerte e cominci a contrattare
Quì cominciano i problemi. Di cosa stiamo parlando?
- Il primo problema e’ proprio la contrattazione che viene sempre fatta al ribasso del prezzo. Cosa significa? Significa che chi vi contatta cerca di spuntare il prezzo a lui piu’ favorevole per il lavoro di programmazione, senza tenere in conto la maggiore o minore complessita’ del progetto. Strano, dite? Per niente!
Questo accade perche’ la persona che contratta con noi non e’ il programmatore in persona, che sarebbe in grado di analizzare la complessità del progetto, ma solo quello, che potrei definire, con tutto il rispetto per la categoria, “un procacciatore di affari”, “un cd. commerciale”, il cui unico scopo e’ portare a casa il contratto a tutti i costi!
Cioe’ tu puoi anche chiedere il software per mandare i razzi sulla Luna, lui ti dira’ sempre che e’ in grado di farlo, tanto non capisce nulla di programmazione. - Il secondo problema e’ la difficoltà di comunicazione, in senso stretto e in senso lato. Non c’e’solo il problema di conoscere o meno la lingua, ma c’e’ anche il problema di comprendere cio’ di cui si sta parlando.
La maggior parte degli interlocutori con cui si e’ in contatto (via chat) non parla bene l’inglese, per lo piu’ usa Google translate. Inoltre, non legge e, se anche lo facesse, non sarebbe in grado di capire i documenti che accompagnano il progetto. Al massimo approfondisce il caso solo dopo che hai accettato il contratto e…pagato!
E non dimentichiamo anche quello che chiamo il “fattore ingorgo”: cioe’ parlare con 20/30 persone contemporaneamente non consentirebbe a nessuno, neanche con tutta la buona volonta’, di analizzare a fondo i progetti.
Ben presto mi sono accorto che trattavo con persone che non andavano neanche a vedere i documenti che inviavo.
Infatti, quando ho cominciato a fare domande specifiche sul progetto, per capire se lo avessero letto, mi sono accorto che non solo non avevano la minima idea di cio’ di cui si parlava, ma le mie domande tecniche o cadevano nel vuoto, oppure creavano imbarazzo e fastidio!
- Superficialita’ ed errori. Un terzo problema riscontrato nell’usare queste piattaforme e’ che i programmatori a basso costo prendono tanti lavori contemporaneamente. I developers low cost, dati i bassi salari, devono lavorare piu’ sulla quantita’ che sulla qualita’. Dovendo accontentare tanti clienti, il lavoro risulta fatto male e in maniera molto superficiale. Cosi’, siccome tutti quanti vanno di fretta, e loro vogliono consegnare nel piu’ breve tempo possibile, inevitabilmente si crea un danno.
Il lavoro alla fine sara’ pieno di errori che si riveleranno col tempo, man mano che si usera’ la piattaforma, o addirittura saltano fuori gia’ dall’inizio.
- Inoltre, sempre per questi motivi, gli sviluppatori sono spesso in ritardo con la consegna dei lavori.
Dopo avere sperimentato queste situazioni e aver dovuto richiedere revisioni su revisioni per lavori fatti male, alla fine ci si stanca…e i problemi non sono ancora finiti.
- Perche’ interviene il fattore pietistico (ecco cosa comporta la non professionalita’).
Colti in fallo, questi soggetti non esitano a usare, come scuse per le loro mancanze, tutta una serie di problemi personali/familiari/economici. Così cercano di far leva sul buon cuore, chiedendoti di accontentarti di un lavoro fatto male, e in ritardo, tanto lo hai pagato poco, no?…in fondo che pretendi?
Questa e’ una cosa che mi da’ particolarmente sui nervi. Come anche il non rispettare le condizioni del contratto fissate all’inizio. - Un altro problema in cui si incappa usando queste piattaforme, infatti, e’ che, anche se e’ stato concordato all’inizio, questi developers low cost cercano comunque di alzare il prezzo in corso d’opera.
La verita’ e’ che tutto il sistema e’ sbagliato. E lo sappiamo anche noi che ricorriamo a queste piattaforme di freelancing. Non staro’ a fare una predica sul politically correct, o sull’ingiustizia dello sfruttamento dei paesi in via di sviluppo da parte dei paesi del primo mondo, ma questa e’ purtroppo la legge del mercato: domanda e offerta si incontrano e fissano il prezzo.
Errori Fatali
In questo tipo di errori ci finiscono piu’ o meno tutti; la tentazione c’e’, anche ad alti livelli, ma poi la paghi cara. Uno per tutti, il caso dei drammatici incidenti aerei Boeing 737 di Lion Air e di Ethiopian Airlines, che sono costati la vita a 346 persone e hanno portato allo stop completo dei voli di tutti i velivoli della Boeing del tipo 737 Max 8. Secondo quanto ricostruito, il codice vitale per il funzionamento degli aerei della casa costruttrice era stato subappaltato a lavoratori temporanei e inesperti in India, pagati $9 all’ora. Il tutto mentre l’azienda licenziava centinaia di programmatori senior interni. Una scelta per ridurre i costi della compagnia che e’ costata la vita di centinaia di persone oltre ad aver portato la Boeing in crisi perche’ i problemi del software sul modello 737 sono molto piu’ profondi di quanto non ritenuto precedentemente. Il titolo della societa’ e’ diminuito dopo che e’ stato riscontrato un ulteriore problema con un chip del computer che ha registrato un ritardo nella risposta alle emergenze quando e’ sovraccaricato di dati.
Infine, non illudiamoci di poter mettere rimedio ad un lavoro fatto male. Una volta scritto un codice sara’ difficile farci mettere su le mani da altri dopo. Queste persone non commentano il codice e quindi rendono difficile la lettura.
Quindi dopo questa esperienza, posso dire che rivolgersi alle piattaforme di freelance developers e’ un potenziale rischio; per cui tengo sempre a mente queste linee guida come una bussola per i miei progetti futuri:
1.Fondamentale e’ creare fin dall’inizio un prodotto eccellente, che non significa necessariamente che debba essere completo.
2. All’inizio concentrati solo sulla funzione che hai percepito come essenziale per cambiare il mercato! Non distrarti con altre secondarie funzioni, altrimenti l’app diventera’ vaga e ci vorra’ piu’ tempo per completarla.
3. Come business partner trova un amico (o gruppo di amici) di cui ti fidi, che non deve essere necessariamente competente, ma deve essere affidabile.