Una volta che inizi a cercare uno sviluppatore freelance con cui collaborare, noterai che sono ovunque. I mercati online freelance sono ricchi di candidati esperti. Oltre a quelli, sei tenuto a trovarne almeno uno o due (cento) nella città più vicina.

Ora, ti rimane il difficile compito di restringere questo pool di talenti fino a quello che funzionerà in modo più efficace con te. È scoraggiante anche se hai un po 'di acume tecnico, ma può sembrare quasi impossibile se non lo fai. D'altra parte, è facile pensare che le considerazioni tecniche siano le uniche che contano. Chiunque abbia ingaggiato un genio con cui è impossibile lavorare, può dirti quanto può essere sbagliato.

In questo articolo, ci concentreremo su alcuni modi in cui puoi essere sicuro di ottenere il partner più compatibile.

Guarda il loro lavoro

Chiedi di vedere alcuni dei lavori finiti dallo sviluppatore. Prima di iniziare a valutare, assicurati di comprendere le parti su cui il tuo potenziale cliente ha lavorato. Passa un po 'di tempo per esplorare il loro progetto. Prendi nota di ciò che ti piace e non ti piace. Forse hanno costruito un'app web che è molto veloce, ma pone alcuni vincoli dispari sulla password dell'utente. Chiedi loro cosa li ha spinti a prendere quelle decisioni.

Qualsiasi tipo di sviluppo del software, che si tratti di web, app per dispositivi mobili o desktop, è un gioco per trovare i migliori compromessi. Sentendo i vari trade-off che uno sviluppatore ha dovuto affrontare e il loro approccio alla risoluzione del problema è estremamente prezioso nel valutare come affronteranno i problemi che il tuo progetto incontrerà.

Se conosci un po 'di codice da solo, puoi scavare nell'account GitHub dello sviluppatore per vedere cosa hanno scritto e quali progetti hanno contribuito. Vedere il loro codice ti aiuterà a capire se sono una buona misura dal punto di vista tecnico. Questo ti dà un'idea più concreta di ciò che la lista degli sviluppatori di realizzazioni in realtà significa in termini di abilità.

Ecco alcuni aspetti del GitHub del freelancer che potrebbero non essere ovvi all'inizio, ma dovresti prestare particolare attenzione a:  

  • Lingue: il freelancer si attacca a una o due lingue preferite o si diletta in molte lingue diverse? Trovare uno specialista nelle tecnologie necessarie per il tuo progetto può far progredire rapidamente le cose, ma un libero professionista con una vasta esperienza può offrire suggerimenti su altri tipi di strumenti più adatti al tuo lavoro.
  • Commenti e documentazione: quanto è documentato il codice? La natura del freelance significa che potresti avere altre persone che lavorano sul codice a un certo punto. Il codice di questo libero professionista sarà facile da lavorare? Altrimenti, significa che potresti impegnarti con loro più di quanto tu voglia. Alcuni sviluppatori credono che il codice di auto-documentazione significhi che non hanno bisogno di commenti. Se non vedi commenti, quanto leggibile trovi il codice?
  • Contribuiscono ad altri progetti? Per quanto poco intuitivo possa sembrare, è spesso più difficile contribuire ad altri progetti open source che costruirne uno proprio. Il codice di altre persone può essere difficile da capire, ma farlo è un'abilità necessaria. Questo è particolarmente importante se stai portando uno sviluppatore a lavorare su una base di codice esistente. Se hanno contribuito all'open-source, è più probabile che scriveranno codice che altri potranno conservare in seguito poiché capiscono le difficoltà di farlo.

Scopri come (e cosa) imparano

Dalle migliori pratiche all'attuale tecnologia utilizzata, lo sviluppo del software cambia rapidamente. Se ti ritroverai con uno sviluppatore rimasto bloccato nelle pratiche e nella tecnologia di 10 anni fa, perderai strumenti e tecniche che potrebbero rendere il tuo progetto migliore, più veloce e più facile da mantenere.

Chiedi ai potenziali clienti come imparano nuove cose e quale è la cosa più recente che hanno imparato e che li aiuta nel loro sviluppo. Cosa hanno guadagnato dall'apprenderlo? Qual è la prossima cosa che vorrebbero imparare e perché?

Anche se non hai familiarità con le specifiche delle loro risposte, puoi avere un'idea di quanto sia curioso questo sviluppatore. Troppa curiosità può portare a progetti costruiti su fondamenta sperimentali e non provate, ma, in generale, uno sviluppatore curioso può portare di più al tuo progetto.

Trova un comunicatore compatibile

La comunicazione può creare o distruggere un progetto. Assicurati che gli sviluppatori con cui lavori siano disponibili e in grado di comunicare in un modo e con una frequenza con cui puoi convivere. La maggior parte degli sviluppatori dispone di strumenti di comunicazione che utilizzano con i colleghi. Guarda in quelli e vedi se lavoreranno per te. In caso contrario, scopri se lo sviluppatore sta utilizzando gli strumenti alternativi suggeriti.

Questo è anche un ottimo momento per scoprire quante volte sarai ascoltato dallo sviluppatore. Se la risposta è "una volta alla fine di ogni traguardo", probabilmente sarai infelice. Quali sono le possibilità che lo sviluppatore capisca il tuo progetto esattamente come lo intendi per la prima volta? Quali sono le possibilità che ogni pezzo distinto che costituisce una pietra miliare completata sia perfettamente a posto proprio come l'hai immaginato?

I check-in regolari (almeno una volta alla settimana) possono correggere piccoli malintesi prima che diventino grandi.

Provali con un progetto

Imparerai di più con questo metodo rispetto a tutti gli altri combinati. Fare domande probanti e sbirciare nel loro codice può solo darti piccoli scorci su come sia lavorare con una persona. Il modo migliore per capire cosa vuol dire lavorare con loro è farlo. Un test è anche la tua migliore opportunità per superare le questioni tecniche e le cose che contano davvero: stiamo andando a essere infelici cercando di lavorare con questa persona?

Se possibile, interrompi un piccolo pezzo del tuo progetto e lavora con il potenziale cliente per completarlo. Se possibile, pagali per farlo. Questo fa alcune cose carine per te:  

  • ti dà un modo a basso rischio per testare il lavoro con lo sviluppatore;
  • ti lascia un risultato utile anche se la relazione non funziona;
  • se puoi permetterti di pagare un prezzo equo, è vantaggioso per te e per lo sviluppatore.

Ho citato questo ultimo punto perché a volte le aziende sono tentate di chiedere agli sviluppatori di creare un piccolo progetto di test gratuitamente allo scopo di valutarli e il loro stile di lavoro. Questo non è un buon modo per iniziare una relazione con il tuo sviluppatore. Se possono costruire qualcosa che ti sarà utile, anche se, all'inizio, non è l'intero progetto che vuoi costruire, non vale la pena pagare?

Probabilmente è meglio non presentarlo allo sviluppatore come progetto di test. Non è necessario mentire o ingannarli in alcun modo, ma presentarlo come progetto. In realtà, è il progetto per ora. Se tutto funziona, avrai un altro progetto da offrire, ma non tenerlo su di loro. Influenzerà negativamente la dinamica della relazione. Nessuno vuole essere oggetto di sperimentazione. Se tutto va bene, lo sviluppatore vorrà lavorare con te su progetti futuri; non devi usarlo all'inizio per tenerli all'amo.

Durante questo fidanzamento, tieni gli occhi aperti per le bandiere rosse. Pensa attentamente a quali tipi di comportamento non puoi aggirare.

Il controllo accurato ripaga

Se la tua cronologia per il completamento del progetto si avvicina e non hai il tempo di fare tutti questi passi, almeno fai il progetto di test. Avere la tua prospettiva costruire un pezzo del progetto più grande, in questo modo il rischio è basso e non si perde tempo. È uno strumento estremamente prezioso per garantire che si tratti di una relazione che si desidera avere. Anche se fallisce e devi trovare qualcun altro, ti costerà meno tempo e denaro che impegnarsi con un partner di sviluppo per costruire l'intero progetto solo per farlo fallire.

È molto più facile all'inizio scegliere qualcuno che ti piace e sperare per il meglio. A volte questo può funzionare, ma, per il bene del tuo progetto, dovresti entrare in relazioni con gli occhi aperti il ​​più possibile.

Immagine in evidenza, immagine di lavoro di squadra via Shutterstock.