JavaRush /Java Blog /Random-IT /Quanto vali (traduzione)
dksd
Livello 35
Москва

Quanto vali (traduzione)

Pubblicato nel gruppo Random-IT
Traduzione dal sito web yegor256.com . Articolo originale in inglese. L’articolo ha suscitato una forte reazione sul blog di Evgeniy Bugaenko. Descrive i criteri che, secondo l’autore, influenzano l’importo della retribuzione oraria di un programmatore. La posizione non è univoca, solleva interrogativi, ma ha comunque un posto dove stare. Il materiale non è rivolto ai principianti. Allo stesso tempo, mi sembra che l'articolo sarà utile per indicare la direzione del tuo sviluppo, ovviamente, oltre a potenziare le tue capacità di programmazione. La traduzione originale è pubblicata qui . ________________________ Ricevo diverse lettere ogni giorno da programmatori interessati a lavorare con teamed.io da remoto. La prima domanda che di solito faccio è “Qual è la tua tariffa oraria?” (paghiamo a ore ). Mi sorprende quanto spesso le persone si valutino erroneamente sia in alto che in basso. Mi danno vari numeri, da 5 a 500 dollari l'ora. Non dico mai di no, ma di solito faccio la mia stima della tariffa oraria. Questo articolo spiega quali fattori considero e cosa no. Questi sono i miei criteri personali, non prenderli come standard professionale. Mi sembrano oggettivi e logici. Contributo a progetti open source. distintivo Questa è la prima e più importante caratteristica di uno sviluppatore di software. Quali sono i tuoi contributi ai progetti open source? Hai le tue librerie open source che vengono utilizzate nella comunità? Stai scrivendo codice che è disponibile pubblicamente e utilizzato da altri? Se non hai una risposta a queste domande, vedo tre possibili ragioni. Innanzitutto, sei imbarazzato a condividere il tuo codice perché è una schifezza. Ovviamente questo non è un buon segno. Non perché il tuo codice potrebbe essere cattivo, ma perché non sei abbastanza coraggioso da riconoscerlo ed evolvere. Nei nostri team prestiamo grande attenzione alla qualitàcode e la maggior parte dei nuovi membri del nostro team sono sorpresi dai nostri elevati standard di qualità. Anche tu rimarrai sorpreso. La domanda è se puoi svilupparti o arrenderti. Se non hai condiviso prima il tuo codice e non hai mai gestito feedback negativi, non potrai sentirti a tuo agio nei nostri progetti, dove i requisiti di qualità sono molto alti. La seconda possibile ragione è che lavori dalle nove alle cinque per il cibo, senza passione. In effetti, nessuno lo ammette. Sento spesso cose come "la mia azienda non mi paga per contribuire a progetti open source e voglio trascorrere del tempo con la mia famiglia a casa". Nello sviluppo software moderno, la maggior parte del codice con cui lavoriamo è open source: librerie, framework, strumenti, ecc. Quasi tutto ciò che usi nel tuo progetto commerciale è open source. Pagandoti uno stipendio, il tuo datore di lavoro ha già contribuito ai prodotti open source perché li utilizzi attivamente. Il problema è che non sei interessato ad essere più attivo e a contribuire a progetti open source. Lo vedo come una mancanza di passione e motivazione. Sarai uno sviluppatore efficace nei nostri progetti? Improbabile, perché il nostro sistema di gestione si basa sull’automotivazione . L’ultimo motivo possibile è che non sai cosa scrivere e in quale progetto svilupparti, il che significa mancanza di creatività. Come ho notato sopra, quasi tutto ciò che utilizziamo oggi è open source. E questi strumenti sono pieni di bug, molte funzionalità non realizzate. Allo stesso tempo, non vedi alcun modo per migliorarli? Non sai cosa si potrebbe fare meglio? Non puoi almeno trovare un rapporto e correggere un bug nel prodotto che usi ogni giorno? Ciò significa che non sarai nemmeno in grado di trovare modi per migliorare i nostri prodotti, poiché facciamo affidamento sulla tua capacità di individuare i problemi in modo creativo . Pertanto, se il tuo account GitHub è vuoto e il tuo CV non contiene la riga “attivamente coinvolto nello sviluppo del kernel Linux” (e perché no?), perdo subito interesse. D'altra parte, quando vedo un progetto con più di 100 stelle sul tuo GitHub, mi emoziono e sono pronto a offrire un pagamento maggiore. Posizione È una pratica comune pagare di più per coloro che vivono in paesi più costosi. Quando ricevo curriculum da San Francisco, le tariffe richieste sono più di $ 70 l'ora. Le stesse capacità ed esperienza costano $ 15-20 per Karachi. Il motivo è che il costo della vita negli Stati Uniti è molto più alto che in Pakistan. Tuttavia, questo motivo è illogico per me. Se guidi un'auto più costosa, dobbiamo pagarti uno stipendio più alto ?? Lo stesso vale per la tua posizione. Hai scelto il tuo paese di residenza. Godi di tutti i vantaggi di un paese sviluppato e paghi per questo. È la vostra scelta. Hai deciso di spendere più soldi per la qualità della vita: cosa c'entra questo con me? Vuoi pagare $ 30 per il pranzo? Diventa uno sviluppatore migliore. Fino ad allora, compra un hot dog per un paio di dollari. Dire semplicemente: “Sono già qui e il mio pranzo costa 30 dollari” non è un argomento. Di conseguenza, se vivi in ​​​​un posto più costoso, avrai meno soldi in tasca. Per noi, questo significa che 100 dollari motiveranno un programmatore di Karachi molto più di quanto gli stessi 100 dollari motiverebbero la stessa persona se vivesse a San Francisco. Pertanto, preferiamo lavorare con persone i cui costi sono inferiori. I nostri soldi funzionano meglio in questo modo. Reputazione su StackOverflow.com Sappiamo tutti che ci sono pochissime persone su StackOverflow, anche sorprendentemente poche persone che contribuiscono attivamente ad esso. Se il tuo profilo è vuoto (o se non ne hai uno), allora è chiaro che 1) non hai domande da porre, 2) non hai nulla a cui rispondere. Innanzitutto, se non chiedi nulla lì, non cresci. Il tuo processo di apprendimento si è interrotto ad un certo punto, forse dopo aver ottenuto un lavoro d'ufficio . O forse sei troppo timido per chiedere? Oppure non riesci a descrivere le tue domande in modo sufficientemente accurato? O forse le tue domande hanno già una risposta? È triste in ogni caso. In secondo luogo, se non rispondi, significa semplicemente che non hai nulla da dire. Nella maggior parte dei casi, ciò significa che non stai risolvendo problemi complessi e unici. Scrivi semplicemente componenti noti insieme ad altri e ricevi il tuo assegno. Sento spesso che le persone risolvono la maggior parte dei loro problemi ponendo domande ai colleghi seduti accanto a loro in ufficio. Dicono che semplicemente non hanno bisogno di StackOverflow (o di altre risorse simili, se esistono) perché il loro team è così bravo che puoi sempre ottenere una risposta a qualsiasi domanda. È un bene per la squadra, ma un male per te. Perché? Non hai l'importante capacità di trovare una risposta sull'Internet pubblica. Nei nostri progetti non incoraggiamo alcuna comunicazione orizzontale tra programmatori e non potrai ottenere aiuto da nessuno. Sarai da solo e fallirai perché sei abituato a ricevere aiuto dagli anziani del tuo ufficio . StackOverflow non è solo un indicatore di quanto sei intelligente e di quanti voti hai per la migliore battuta sui programmatori . Questa è la prova che puoi ottenere risposte alle domande parlando con persone che non conosci. Questa è un'abilità molto importante. Esperienza di lavoro distintivo "Ho scritto Java per 10 anni!" - E allora? Questo numero per me significa solo una cosa: sei riuscito a sopravvivere in un ufficio per 10 anni. O forse in diversi uffici. Hai convinto qualcuno a pagarti per i tuoi 10 anni nel suo palazzo. Vuol dire che hai scritto qualcosa di utile? Questo significa che il tuo codice era perfetto? Né il primo né il secondo. L’esperienza lavorativa è un falso indicatore. Questo può anche funzionare contro di te, in combinazione con altri indicatori descritti sopra. Se il tuo CV dice che hai iniziato a programmare appena 2 anni fa e i tuoi account GitHub e StackOverflow sono vuoti, c'è la possibilità che migliorerai. Sei solo all'inizio della tua carriera. Tuttavia, se il tuo CV dice che sei un “architetto di sistemi da 10 anni” con zero contributi a progetti open source, significa che o stai mentendo su 10 anni o sei assolutamente inutile come architetto. Il mio punto è che l’argomento “esperienza lavorativa” dovrebbe essere usato con molta attenzione. Gioca questa carta solo se hai altri vantaggi. Altrimenti tienitelo per te. Certificati. Oracle, Zend, Amazon, IBM, MySQL e altri: questi sono i certificati di cui sto parlando. Per ottenerli è necessario superare un esame. Non facile e non online. Questo è un vero e proprio esame che viene sostenuto nei centri di certificazione dove ti siedi davanti a un computer, con un tempo limitato, senza libri o accesso a Internet, e rispondi a domande. Abbastanza umiliante per uno sviluppatore così rispettato? Sì. E c'è anche un'altissima probabilità di fallimento, il che è anche piuttosto imbarazzante. Se sei riuscito a superare gli esami, questo è un ottimo segno. Se l'hai fatto alcune volte, bene. Inoltre, se non hai certificati durante la tua carriera, è per uno dei seguenti motivi. Innanzitutto, hai paura di fallire. Una certificazione seria può costare diverse centinaia di dollari (io ho pagato più di 700 dollari per SCEA ) e non la riavrai indietro se fallisci. Se hai paura di perdere, hai paura di combattere. Ciò significa che ti tirerai indietro in situazioni reali quando è necessario risolvere problemi reali. Secondo, non stai investendo in te stesso. Ciò molto probabilmente significa che non vuoi cambiare azienda e preferisci trovare un ufficio accogliente dove poterti sedere per sempre. Ricordo che una volta dissi al mio amico: "Migliorerai notevolmente il tuo CV se ottieni questo certificato". Lui ha risposto con un sorriso: “Spero di non aver bisogno del curriculum. Mi piace questa compagnia." Questo approccio è positivo per l’azienda per cui lavori, ma sicuramente funziona contro di te. Secondo la mia esperienza, i migliori giocatori della squadraquesti sono quelli che lavorano per se stessi. Un sano individualismo è la chiave. Se il tuo obiettivo principale è ottenere qualcosa per te stesso (denaro, reputazione, competenze, conoscenza), sarai molto efficace nei nostri progetti. La presenza di certificati nel tuo profilo è indicatore del sano individualismo che cerchiamo. Diversità di competenze. Più tecnologie o linguaggi di programmazione conosci, meno vali. Non sto dicendo che sia impossibile essere esperti in molte cose contemporaneamente: è assolutamente possibile. Ma lascia che ti dia una ragione pragmatica per cui non dovresti farlo: la concorrenza. Ci sono migliaia di programmatori Java7 sul mercato: possiamo facilmente assumere chiunque ci serva. Ma non ci sono molti programmatori Hadoop o progettisti XSLT. Se ti concentri su un settore specifico e sei un esperto in esso, le tue possibilità di trovare lavoro sono inferiori, ma la tua tariffa sarà più alta. Tendiamo a pagare di più gli specialisti altamente specializzati, soprattutto perché non abbiamo scelta. Se il progetto su cui stiamo lavorando richiede un esperto Lucene, troveremo la persona giusta e faremo del nostro meglio per inserirlo nel nostro team. Fare del nostro meglio, nella maggior parte dei casi, significa aumentare la retribuzione. Quindi, quando sento che hai esperienza in MySQL, PostgreSQL, Oracle e SQLite, capisco che sai molto poco di database. Discorsi e pubblicazioni distintivo Ovviamente, avere un blog (sulla programmazione, non sul tuo gatto preferito) è un fattore positivo. È ancora meglio se parli alle conferenze di tanto in tanto. Sui blog, presto attenzione al numero di commenti che le persone lasciano sui tuoi articoli. Se si tratta di una conferenza, il criterio più significativo è quanto sia difficile entrare nel numero dei relatori. Sia gli articoli del blog che le presentazioni ti rendono più prezioso come specialista. Principalmente perché queste cose dimostrano che alcune persone hanno già apprezzato il tuo lavoro e il tuo talento. E questo non è solo un programmatore, ma un gruppo di programmatori e ingegneri. Ciò significa che possiamo contare anche sulla tua opinione. Inoltre, se scrivi e pubblichi regolarmente il tuo lavoro, possiedi già un'abilità/talento importante: puoi presentare le tue idee in un formato “digeribile”. Nei nostri progetti non incoraggiamo le comunicazioni informali e utilizziamo un sistema di ticket. In questi biglietti spiegherai le tue idee, domande e considerazioni in modo che gli altri possano capire. Senza le competenze per presentare idee, non sarai in grado di sopravvivere in un progetto. A proposito, alcuni sviluppatori depositano addirittura brevetti a proprio nome: perché non l'hai fatto tu? O magari pubblicare un libro? Perché no? Precedente datore di lavoro Di solito non presto molta attenzione a questa sezione del tuo CV. Il nostro modello di gestione è molto diversoda tutto quello che potevi vedere ovunque, che non importa quante volte sei stato licenziato o quanto era alta la tua posizione nella tua azienda. Anche se il tuo titolo è "Twitter CTO" non significa nulla per me. La mia esperienza mi dice che più grande è l'azienda e maggiore è la tua posizione al suo interno, più sei lontano dal codice sorgente e dalle soluzioni tecniche reali. VP e CTO trascorrono la maggior parte del loro tempo partecipando a riunioni e occupandosi di politica interna . Mi interessa più "Che cosa hai fatto" negli ultimi anni che "Dove lo hai fatto" o "Come ti chiamavi" mentre lo facevi. Istruzione Laurea triennale, magistrale, dottorato di ricerca... è importante? Non pensare. L’istruzione è molto simile al “Lavoro precedente” elencato sopra. Non importa dove hai trascorso i cinque anni dopo la scuola. Ciò che conta è quello che hai fatto in quel momento. Se non hai niente da dire sulla tua attività di studente, cosa mi dice il nome della tua università? Naturalmente, se si tratta di Stanford o del MIT, la questione è completamente diversa. In questo caso, mi risulta che hai superato gli esami finali e sei riuscito a trovare i soldi per studiare lì. Questo è un buon segno e farò sicuramente un'offerta più alta. Ma se ti sei laureato dal nulla (come la mia università), tieni queste informazioni per te. Pagando più di $ 100 l'ora, siamo felici di pagare un esperto che possiede diversi prodotti open source, ha una valutazione su StackOverflow di oltre 20.000, ha certificati, articoli, presentazioni o persino brevetti. Paghiamo più di 50 dollari a un programmatore professionista che possiede un progetto open source o partecipa attivamente a tale progetto, ha una valutazione su StackOverflow superiore a 5k, scrive di sviluppo software e detiene certificati. Paghiamo più di 30 dollari per un programmatore che contribuisce regolarmente a progetti open source, è attivo su StackOverflow e dispone di più certificazioni. Paghiamo $ 15+ a tutti gli altri. Non fraintendermi e non prendere questi numeri sul personale. Queste tariffe sono una metrica di valutazione del tuo livello professionale, non di te come individuo. Inoltre, il livello non è statico, cambia ogni giorno e tutto è completamente nelle tue mani. Sto scrivendo questo articolo principalmente per motivarti a crescere. Tutti questi criteri si applicano ai nuovi membri dei nostri team. Una volta che inizi a scrivere codice, misuriamo la tua produttività e puoi ottenere una retribuzione completamente diversa, guarda come calcoliamo le tariffe orarie . A proposito, le illustrazioni per il post sono state create da Andreea Mironiuc . https://www.youtube.com/watch?v=GS45LzE3LPQ
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION