Che tipo di programmatore sto cercando?

Informazioni sui nostri principi di esclusione, come “non stabiliamo partnership”, “niente bonus”, “non compriamo nessuno e non ci facciamo comprare da nessuno”, “niente balle”, “nessuno sconto”, “non accettiamo sovvenzioni statali”, “non assumiamo personale privo di basi scientifiche (anche designer e responsabili marketing)”, e molti altri; una posizione da capo programmatore che richiederà la creazione di un intero set dei nostri programmi; una libreria per l’emulazione delle reazioni chimiche, un visualizzatore 3D di dinamiche delle reazioni molecolari (con molta probabilità, usando Unity3D), un laboratorio chimico virtuale, un sito Web contenente attività e funzioni sociali, l’intero pacchetto software del tablet da includere nel set; questo sviluppatore non lavorerà da solo per creare tutti questi programmi, ma sarà responsabile di gettarne le fondamenta.


Ho già spiegato in un post precedente di che tipo di persone ho bisogno per visualizzare la conoscenza scientifica: un chimico quantistico e un designer 3D. Per completare il team, ho bisogno di un’altra persona: uno sviluppatore. Per me, quella dello sviluppatore è la posizione più impegnativa. Sebbene lavoreremo su un tipo di prodotto simile a un set chimico, il principale valore di questa offerta risiederà nel software responsabile di visualizzare le reazioni chimiche e mostrare i processi dall’interno. Ho assunto più di cento sviluppatori nel corso della mia carriera, e il numero di colloqui che ho organizzato è praticamente incalcolabile. Tuttavia, questa esperienza non mi facilita la ricerca di un programmatore di grande talento.

Approfondimento sugli sviluppatori geniali

John Carmack ha scritto da solo più della metà di Quake

Ritengo che la cosa più inverosimile e insolita riguardo agli sviluppatori sia la colossale differenza tra un buon programmatore e un genio.
Molti di voi avranno sentito dire che esiste una differenza colossale tra buoni e cattivi sviluppatori. La portata di questa differenza non si limita a una piccola percentuale o a un numero limitato di volte, ma piuttosto a dozzine di volte. Ricordatevi che più del 50% di Quake è stato creato da un solo uomo, John Carmack, e Nginx, il terzo server più popolare al mondo, ha un singolo sviluppatore – Igor Sysoev.

Un individuo che lavora in un settore diverso troverebbe incredibile una tale differenza, ma si tratta di un fatto. Alla SPB Software, assumiamo soltanto gli sviluppatori di maggior talento. Spesso, avevamo bisogno di trovare urgentemente un candidato, ma in sei mesi non siamo riusciti a trovare uno sviluppatore con basi abbastanza solide. A volte, abbiamo finito per non assumere qualcuno dopo 20-30 colloqui personali (con candidati che avevano precedentemente superato le selezioni iniziali). Perché vi racconto queste cose? Perché, anche in un team solido come il nostro, c’erano dei geni la cui produttività era da 3 a 5 volte superiore rispetto a quella di chiunque altro.

Outsourcing

Se operate nel settore della consulenza/dell’outsourcing, dello sviluppo personalizzato o interno per la vostra azienda, non avete davvero bisogno dei migliori sviluppatori. Non ho mai incontrato un cliente disposto a pagare per uno sviluppatore che lavora il triplo del resto del team, anche se si tratta di un genio. La genialità del vostro sviluppatore è una cosa difficile da “vendere”. Anche un sistema aziendale con 528 moduli non ha bisogno di assumere dei geni; non offre spazio sufficiente a consentire a questi individui di dimostrare il proprio talento. Immaginate una situazione in cui state sviluppando un sistema di automazione aziendale. Diciamo che siete in grado renderlo due volte più economico, ma riducendone del 10% la qualità o la funzionalità. Funzionerà? Nella maggior parte delle situazioni, sì. Per un progetto interno, la misura del successo corrisponde al periodo di ritorno dell’investimento.

Creare un prodotto per un mercato competitivo è tutta un’altra storia. Presumiamo di avere un prodotto A e B, laddove A è migliore del 10% rispetto a B. Quanto sarà migliore in termini di vendite, utenti, profitto? La risposta è: non solo del 10%, ma più probabilmente 10 volte meglio o più. Che cosa spinge un utente ad acquistare un prodotto peggiore di un altro? Agli utenti non interessa quanto avete investito nello sviluppo. Vogliono solo trovare una soluzione adatta alle loro esigenze.

Situazione del prodotto

Ecco perché è importante che le società di prodotti assumano dei geni. Questa non è un’idea rivoluzionaria, Joel ha scritto sul problema centrale della ricerca di geni nel campo dello sviluppo: la maggior parte di loro ha già un impiego e non sta cercando lavoro.

Quindi, che cosa posso fare per trovare il candidato migliore? Ebbene sì, ci siamo imbarcati in uno dei progetti più ambiziosi e impegnativi del settore. Eppure, per quanto possa sembrare banale, il denaro fa la differenza. Penso che, offrendo un salario doppio rispetto alla media di settore, darò a molti un buon motivo per pensare a questo progetto o mandare un messaggio su Facebook ai loro amici dicendo “Hey, penso di aver trovato il lavoro dei tuoi sogni”.

Questo approccio offre un altro vantaggio. Alcuni dei migliori sviluppatori che abbia mai incontrato nella mia vita non scrivono codice. Spesso succede che gli sviluppatori seguano un percorso professionale estremamente diverso rispetto ai manager. Ecco perché molti sviluppatori diventano manager. Eppure, se li metteste a tavolino a scrivere codice, il risultato sarebbe paragonabile all’opera di un intero gruppo di sviluppatori. È vero che spesso sentono la mancanza della programmazione. Desidero offrire un salario in grado di promuovere il coinvolgimento di questi individui nella propria mansione.

Che tipo di individuo sto cercando

È semplice: Ho bisogno di un genio della programmazione con competenze in campo fisico e chimico. Un programmatore in grado di compilare rapidamente ottimo codice e creare un’architettura di sistema conveniente e studiata nei minimi dettagli. Un programmatore consapevole delle attuali tendenze, piattaforme e tecnologie, in grado di selezionare il gruppo di tecnologie ottimale sia per il sito che per il visualizzatore di reazioni 3D. La programmazione avverrà probabilmente in C++, Java e altri linguaggi come Ruby o Python. Ecco perché la conoscenza di C++ e Java costituisce un requisito fondamentale (oltretutto, non mi fido dei geni della programmazione che non conoscono C++ o Java).

Condizioni:

  • 250.000 rubli al mese
  • Nessun impiego part-time, questo deve essere l’unico e il principale impiego
  • Lavoro in ufficio, nella zona sud-ovest della città (temporaneamente, la nostra sede verrà trasferita questo autunno)
  • Vacanza - 1 mese
  • Assicurazione sanitaria

Che cosa dovrete scrivere

La nostra è una situazione unica: potete unirvi a noi e iniziare a creare una vasta piattaforma completamente da zero:

  • Una libreria di emulazione delle reazioni chimiche
  • Un visualizzatore 3D delle dinamiche delle reazioni molecolari per il Web e i tablet
  • Un sito Web con attività e logica motivazionale-sociale
  • In base a tutte queste tecnologie, dovrete scrivere un laboratorio chimico virtuale con funzioni di simulazioni dei processi

Candidatevi per questa posizione e inviate il vostro curriculum vitae

I nostri principi

Alcune parole sui nostri principi. Vogliamo creare una società operante a livello globale. A tal fine, dobbiamo essere un’attività redditizia con una struttura scalabile. Vogliamo creare una società longeva, che permetterà alle menti più brillanti di lavorare sull’ottimizzazione del trasferimento delle informazioni scientifiche. Salterò la catena intermedia di conclusioni alle quali sono giunto e condividerò soltanto le conclusioni finali. Sono tutte espresse sotto forma di negazioni, dal momento che ritengo che il messaggio risulti più evidente in questo modo:

  • Nessun trucco: non abbiamo paura di misurare tutti i nostri dati; le persone spesso sentono di essere state imbrogliate quando comprano un’illusione invece di un prodotto funzionante; nel nostro caso, invece di vendere un prodotto in grado di aumentare le capacità cognitive di un bambino, potremmo vendere l’illusione che quel prodotto sia in grado di aumentare le capacità cognitive di un bambino; nel caso di un’illusione, la valutazione dell’efficienza è fatale; siamo disposti a interrompere lo sviluppo di un prodotto redditizio nel caso in cui dovesse rivelarsi inefficiente per l’educazione
  • Non stabiliamo partnership con nessuno. Potremmo utilizzare dei subcontraenti, ma non stabiliremo mai delle partnership
  • Non accettiamo alcun tipo di sovvenzione statale
  • Non acquisiamo altre società
  • Non venderemo mai la società. Questa azienda non è stata creata per essere rivenduta in futuro
  • Non assumiamo manager di alto livello dall’esterno (li formiamo all’interno dell’azienda)
  • Non assumiamo individui che non sono in grado di superare i test di conoscenza scientifica, anche nel caso di designer o specialisti di marketing
  • Non assumiamo individui che non parlano inglese
  • Non paghiamo bustarelle a nessuno, a prescindere da quanto desideriamo velocizzare un processo di certificazione o un’altra operazione simile
  • Non offriamo sconti sui nostri prodotti
  • Non creiamo prodotti che non possono essere scalati in modo da consentirne l’uso a livello globale
  • Non puniamo mai le persone per i loro errori: vogliamo che gli individui si sentano liberi di sperimentare e crediamo che il fallimento sia uno dei possibili risultati di un’impresa rischiosa
  • Nessun impiego esterno
  • Non paghiamo alcun bonus, il salario costituisce l’unica retribuzione; i bonus possono compromettere gravemente la comprensione intrinseca di giusto e sbagliato
  • Non partecipiamo ad alcun sistema di classificazione, senza eccezioni