Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

Questo post è nato da un commento a un articolo qui su Habré. Un commento del tutto normale, tranne per il fatto che diverse persone hanno detto che sarebbe molto utile trasformarlo in un post separato, e MyCircle ha addirittura condiviso hanno pubblicato quel commento separatamente nel suo gruppo su VK con una dolce introduzione.

Il nostro recente post con il report sui salari nell'IT per il primo semestre di quest'anno ha raccolto un incredibile numero di commenti dagli utenti di 'Habr'. Hanno condiviso opinioni, osservazioni e storie personali, ma uno dei commenti ci è piaciuto talmente tanto che abbiamo deciso di pubblicarlo qui.

Quindi alla fine mi sono deciso e ho scritto un articolo separato, approfondendo e giustificando le idee.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

A volte, negli articoli e nei commenti che discutono i redditi degli specialisti IT, si possono incontrare affermazioni del tipo 'Da dove tirate fuori queste cifre? Lavoro in X da molti anni e né io né i miei colleghi abbiamo mai visto questi soldi...'.

A dire il vero, anni fa avrei potuto scrivere un commento simile. Ora non posso più 🙂

Attraverso diverse esperienze lavorative, organizzazioni e situazioni di vita, ho formulato un insieme piuttosto semplice di regole sul tema 'cosa fare per guadagnare bene e lavorare in condizioni confortevoli nell'IT'. Questo articolo non parla solamente di soldi. In alcuni punti, tocco il tema della possibilità di migliorare il proprio livello professionale e apprendere nuove competenze richieste, e per 'buone condizioni' intendo non solo un ufficio accogliente, attrezzature tecniche e un buon pacchetto di benefit, ma prima di tutto l'assenza di follia, tranquillità mentale e nervi saldi.

Questi consigli sono particolarmente rilevanti per i programmatori, ma molti punti possono essere utili anche per altre professioni. Inoltre, quanto descritto si riferisce principalmente alla RF e ad altri paesi ex-USSR, sebbene, ripeto, alcuni punti siano applicabili ovunque.

Dunque, andiamo.

Evitate a tutti i costi enti statali e parastatali e istituzioni simili.

In primo luogo, quando un'istituzione è finanziata dal bilancio, il limite massimo degli stipendi è limitato naturalmente — "non ci sono soldi, ma voi resistete". Inoltre, negli enti pubblici e in posti simili, spesso gli stipendi sono legati ai piani organici. E può accadere che nel documento sia scritto che un programmatore guadagna tanto quanto un qualche impiegato, e questo non può essere cambiato. Alcuni dirigenti, rendendosi conto dell'assurdità di questa situazione, assumono semi-legalmente i programmatori con contratti da una e mezza a due volte, ma questo è piuttosto un'eccezione alla regola.

In secondo luogo, nel caso in cui l'istituzione non operi in un mercato competitivo libero, i suoi dirigenti probabilmente non avranno l'obiettivo di migliorare la qualità e la competitività di prodotti e servizi (l'obiettivo sarà al massimo di non abbassare questa qualità al di sotto di una certa soglia, per non incorrere in sanzioni da parte delle autorità di supervisione), e di conseguenza, non si sforzeranno di assumere i migliori dipendenti e di motivarli economicamente o in altro modo.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

A causa della mancanza di focus e motivazione da parte della direzione sulla qualità e sui risultati, e poiché spendono, in effetti, non i propri, ma i soldi degli altri, si osserva spesso un fenomeno come il collocamento di bambini/parenti/amici ecc. in “posizioni comode” all'interno dell'organizzazione. Tuttavia, bisogna comunque lavorare. Quindi, in primo luogo, può accadere che la persona, arrivando lì dalla strada, debba svolgere il lavoro sia per sé stesso che per qualcun altro. In secondo luogo, è poco probabile che sarà circondato da professionisti di alto livello, dai quali si potrà imparare molto.

Nel caso di assunzione in una società privata che opera con appalti pubblici, sfortunatamente, si possono incontrare situazioni simili. Se l'azienda riceve ordini e gare perché «è già tutto fissato», ci troviamo ancora in una situazione in cui «non ci sono concorrenti», con le conseguenti ripercussioni. E anche se le gare vengono assegnate in modo equo, non dobbiamo dimenticare che il vincitore sarà colui che offre il prezzo più basso, e può succedere che i risparmi riguardino principalmente gli sviluppatori e i loro stipendi, poiché l'obiettivo sarà non «creare un prodotto di alta qualità», ma «realizzare un prodotto che soddisfi in qualche modo le normative formali».

E anche quando l'azienda entra nel mercato libero e si trovano dei concorrenti, il modo di pensare della leadership e il loro atteggiamento verso i dipendenti non si adattano sempre di conseguenza, con le relative tristi conseguenze. Il concetto di «management sovietico», purtroppo, è derivato dalla vita reale.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

A volte è il contrario, in alcune aziende pubbliche anche i dipendenti comuni possono guadagnare somme piuttosto buone secondo gli standard locali (ad esempio, nel settore petrolifero e del gas). Ma, purtroppo, la 'gestione sovietica' non è scomparsa, e spesso ci si imbatte in un assurdismo amministrativo, come 'giorno lavorativo rigorosamente dalle 8 del mattino, penalizzazione per un minuto di ritardo', infinite scritture di documenti ufficiali e passaggi di responsabilità, e una mentalità del tipo 'paghiamo bene, quindi lavorate di più, non pagheremo le ore straordinarie' e 'se non vi piace, nessuno vi tiene'.

Se sei un programmatore, non considerare posizioni in aziende per le quali lo sviluppo software non rappresenta l'attività principale.

… comprese varie organizzazioni di ricerca, uffici di progettazione, società di ingegneria e stabilimenti, aziende commerciali, negozi, ecc.

In una comunità c'è persino una battuta che circola.

«Se il tuo titolo non è 'Senior Developer' o 'Team Lead', ma 'Ingegnere di 1° categoria' o 'Specialista senior del dipartimento di tecnologie dell'informazione', significa che hai preso una strada sbagliata.«

Sì, è una battuta, ma in ogni battuta c'è un fondo di verità.

Definisco il criterio "generatore di reddito principale" piuttosto semplicemente:
è o

  • l'azienda guadagna realmente la maggior parte delle sue entrate dalla vendita dei propri prodotti o servizi IT, oppure si occupa dello sviluppo di tutto ciò su commissione

oppure

  • il software sviluppato è uno degli aspetti importanti, se non il più importante, che definiscono le caratteristiche del prodotto o del servizio.

Perché un consiglio del genere?

In primo luogo, leggete l'ottimo articolo "13 sorprese di un'azienda non IT", dove sono realmente evidenziate molte differenze tra le aziende non IT. E se avete lavorato in aziende IT, ma avete sempre notato i punti dal 5° al 13° descritti in quell'articolo, allora è già un motivo per riflettere e studiare più attentamente il mondo e il mercato del lavoro circostante.

Nelle aziende puramente IT, le persone che si occupano direttamente dello sviluppo software (programmatori, tester, analisti, designer UI/UX, DevOps, ecc.) sono la forza trainante principale. È il loro lavoro a generare reddito per l'azienda. Ora diamo un'occhiata a un'azienda "non IT". I loro maggiori incassi provengono dalla rivendita di beni, dalla fornitura di "non servizi IT" o dalla produzione di "non prodotti IT". In questa azienda, i professionisti IT sono considerati personale di supporto; sì, sono necessari per lavorare in modo più efficiente (ad esempio attraverso l'automazione, la gestione automatica delle scorte, la raccolta degli ordini online, ecc.), ma non generano reddito diretto. Pertanto, l'atteggiamento dei dirigenti a breve termine nei loro confronti sarà probabilmente proprio questo — come qualcosa su cui si devono spendere soldi.
Questo è ben spiegato nell'articolo citato sopra:

La differenza concettuale tra un'azienda IT e una non IT risiede, ovviamente, nel fatto che in un'azienda IT tu - come programmatore, tester, analista o IT manager - sei parte della voce di reddito del bilancio (per la maggior parte), mentre in una non IT sei semplicemente una spesa, spesso una delle più evidenti. Di conseguenza, gli interni IT vengono percepiti in un certo modo - come parassiti che noi, in quanto azienda, dobbiamo pagare di tasca nostra, e osano anche desiderare qualcosa.

Spesso la direzione di un'azienda del genere non comprende affatto l'IT e lo sviluppo software. Questo rende difficile convincerli della necessità di apportare cambiamenti. Inoltre, la creazione di un dipartimento IT potrebbe avvenire in modo non ottimale: per la posizione di capodipartimento viene scelto qualcuno le cui competenze non possono essere verificate adeguatamente dai dirigenti. Se va bene, potrà reclutare un buon team e definire la corretta direzione di sviluppo. Se non va bene, può succedere che il team stia sviluppando qualcosa e il prodotto sembri funzionare, ma in realtà rimane isolato dal mondo esterno, non progredisce molto e le persone veramente competenti e talentuose non riescono a rimanere. Purtroppo, ho osservato tutto questo con i miei occhi.
Come individuare questa situazione in anticipo, durante il colloquio? Esiste il cosiddetto Test di Joel, tuttavia bisogna ammettere che è molto superficiale e, in effetti, ci possono essere molti più fattori da considerare e segnali d'allerta, ma questo è un argomento per un altro articolo.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

Vale la pena dire alcune parole sulle diverse aziende di ingegneria, sulle unioni produttive, sulle organizzazioni di ricerca scientifica, sugli studi di progettazione e su tutto ciò che vi è collegato. Ci sono varie ragioni per cui "non è consigliabile andare lì, o almeno è meglio pensarci molto bene prima di farlo", secondo la mia esperienza.

Innanzitutto, ancora una volta, lì spesso regna l'oscurantismo e il ritardo tecnologico. Perché — è un argomento a parte e meriterebbe un buon articolo, ma su questo tema le persone si esprimono regolarmente anche qui, su Habr:

"Svelerò un segreto orrendo: il software embedded è testato almeno dieci volte meno e peggio di qualsiasi server web trascurato. E spesso è scritto da dinosauri, il debugger è per deboli, e "se il codice viene compilato, significa che tutto funziona".
… Non sto scherzando, purtroppo». [dai commenti]

«Non c'è nulla di sorprendente. Dalla mia esperienza, molti 'ingegneri' pensano che produrre un dispositivo sia un'arte riservata a pochi eletti, mentre scrivere il codice per esso pensano di poterlo fare da soli, giusto così, alla rinfusa. È solo un dettaglio. Risultato: un funzionamento che è un vero incubo. Si offendono molto quando si spiega loro, passo dopo passo, perché il loro codice ha un cattivo odore, perché... beh... loro hanno fatto l'hardware, quindi che ne è del programma?». [dai commenti]

«Dalla mia esperienza di ricerca posso dire che, quando su un compito lavorano da una a più persone, non si parla di riutilizzo del codice. Scrivono come riescono, utilizzando le possibilità minime del linguaggio, e la maggior parte non è a conoscenza dei sistemi di controllo versioni». [dai commenti]

In secondo luogo, tutto si basa spesso sulla gestione e sulle tradizioni consolidate:

Lo sviluppo di attrezzature statistiche è spesso un'impresa autoportante e autofinanziata russa, con clienti, mercato e dirigenza russi, in genere un ex ingegnere over 50 che ha lavorato per poco. La sua mentalità è: 'Ho lavorato tutta la vita, perché dovrei pagare un giovane? Si arrangi!’ Di conseguenza, tali aziende raramente hanno grandi capitali e, se ce l'hanno, non investiranno mai nella vostra retribuzione.dai commenti]

In terzo luogo... In questi ambienti spesso non si distingue tra programmatori e altri ingegneri. Certo, un programmatore può essere considerato un ingegnere, e il termine 'software engineering' lo suggerisce. In entrambi i casi, si tratta di lavoro intellettuale e sviluppo di nuove entità, ed entrambi richiedono conoscenze, competenze e uno specifico modo di pensare.

Ma... il punto è che, nella situazione attuale del mercato del lavoro, queste categorie sono compensate in modo molto diverso. Non dico che sia giusto, ma considero che sia sbagliato; purtroppo, al momento questo è un dato di fatto: gli stipendi dei "programmatore" e degli altri "ingegneri" possono variare da un rapporto di uno a uno e mezzo a due, e talvolta anche di più.

E in molte aziende ingegneristiche e para-ingegneristiche, la direzione non capisce affatto "perché dovremmo pagare il doppio per questo"; a volte dicono anche "ma che c'è di strano, il nostro Vasja, l'elettricista, scriverebbe un codice non peggiore" (e Vasja non si oppone, anche se lui è non è uno sviluppatore software).

In una delle discussioni sul tema "il cammino del programmatore è difficile" con il rispettato Jef239 una volta nei commenti è stata pronunciata una frase del tipo "Beh, che c'è di strano, noi paghiamo i nostri dipendenti al di sopra della media degli stipendi degli ingegneri a San Pietroburgo", anche se, in buona sostanza, se l'azienda apprezza e rispetta i suoi dipendenti, dovrebbe pagare "... al di sopra della media degli stipendi dei programmatori a San Pietroburgo."

Un'immagine molto significativa, che alcuni anni fa circolava in vari gruppi sui social dedicati all'automazione dei processi industriali, parla da sola.Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

Non lavorare con i militari

Questa conclusione l'ho fatta per me stesso quando ero ancora studente presso il dipartimento militare in università 🙂

In realtà, personalmente non ho mai lavorato nelle aziende legate a questioni militari e con clienti di questo settore, ma i miei amici lo hanno fatto, e dalle loro storie, un folclore abbondante come «Ci sono tre modi per fare qualcosa: giusto, sbagliato e militare» e «Adesso radunerò un gruppo ristrettissimo di persone con capacità limitate, su cui mi baserò per capire a fondo la situazione e punire chiunque» non è nato dal nulla.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

Nel mio caso, i colloqui in queste aziende finivano solitamente con la necessità di rispettare una forma di segretezza. Gli intervistatori assicuravano giurando che «la terza forma è solo una pura formalità, non significa nulla, non si viene nemmeno interrogati, potrai viaggiare all'estero senza alcun problema», ma di fronte alle domande «Se non significa nulla, perché esiste e perché firmerla?» e «Quali garanzie ci sono che, considerando l'assurdità attuale, un giorno non cambi la legislazione e tutto non diventi diverso?» non ho mai ricevuto risposte.

Non lavorare come un tuttofare

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

… è come quando sei contemporaneamente programmatore, amministratore, tecnico di rete, acquista hardware, ricarica cartucce, DBA, assistenza tecnica e telefonista. Se nel tuo ruolo ti occupi contemporaneamente di "tutto e di più", probabilmente non sarai un esperto in nessuna di queste aree, il che significa che puoi essere sostituito da alcuni studenti o junior, che è facile trovare anche a basso costo. Cosa fare? Scegliere una specializzazione ristretta e svilupparsi in quella direzione.

Inizia a studiare stack più attuali

… se lavori con strumenti legacy. A volte, ad esempio, una persona scrive in Delphi 7 o in antiche versioni di PHP con framework di pari passo. Non dico che sia sbagliato di default, dopotutto il principio "funziona — non toccare" non è stato cancellato, ma quando un stack obsoleto viene utilizzato non solo per mantenere vecchi progetti, ma anche per sviluppare nuovi moduli e componenti, questo fa riflettere sulla qualificazione e sulla motivazione del team di sviluppatori, e sull'opportunità di avere davvero buoni professionisti in azienda.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

A volte si presenta l'opposto: stai supportando un progetto legacy su una tecnologia legacy, e ti va abbastanza bene (forse perché nessun altro vuole addentrarsi in quel pantano), ma quando per qualche motivo il progetto o l'azienda fallisce, c'è un grande rischio di ritrovarsi col cerino in mano, e tornare alla dura realtà potrebbe essere molto scomodo.

Non lavorare in piccole e medie aziende che operano sul mercato interno (russo).

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

Qui tutto è piuttosto semplice. Le aziende che operano sul mercato internazionale hanno un afflusso di denaro in valuta estera e, considerando i tassi di cambio attuali, possono permettersi di pagare i loro sviluppatori buone cifre. Le aziende che operano sul mercato interno devono rincorrere, e se le grandi e ricche aziende possono permettersi di offrire stipendi competitivi per non perdere i buoni professionisti, le piccole e medie aziende, sfortunatamente, non sempre hanno questa possibilità.

Impara l'inglese. Anche se al momento potrebbe non sembrarti particolarmente necessario.

La lingua inglese è estremamente utile per un moderno specialista IT: la stragrande maggioranza della documentazione, delle manpage, delle note di rilascio, delle descrizioni di progetti, e così via, è scritta in inglese. I migliori libri e articoli scientifici vengono pubblicati in inglese (e non sempre vengono tradotti in russo, e ancora meno spesso vengono tradotti correttamente), le conferenze di livello mondiale si svolgono in inglese, e il pubblico delle comunità internet internazionali di sviluppatori è centinaia di volte maggiore rispetto a quello russo, e così via.

Voglio sottolineare un altro fatto: ci sono moltissime aziende con compiti interessanti e stipendi molto allettanti, dove senza la conoscenza dell'inglese non sarete nemmeno presi in considerazione. Queste includono compagnie di outsourcing, integratori, filiali di aziende internazionali e semplicemente aziende che operano nel mercato globale. In molte di esse dovrete lavorare in team con colleghi di altre nazioni e spesso interagire direttamente con clienti e loro specialisti. Pertanto, non avendo una buona padronanza dell'inglese, vi escludete immediatamente da una parte significativa del mercato del lavoro, quella parte in cui spesso è possibile trovare progetti molto interessanti con retribuzioni elevate.

Inoltre, la padronanza della lingua vi dà accesso a lavorare su piattaforme internazionali di freelance e a lavori remoti per aziende estere. E c'è anche la possibilità di prendere un trattore e trasferirsi in un altro paese, soprattutto considerando che, al giorno d'oggi, anche persone che prima non pensavano mai a una cosa del genere hanno iniziato a farlo.

Non temete i «galler»

A volte si può sentire opinioni secondo cui le cosiddette «galere» (aziende che si occupano di consulenza, sviluppo in outsourcing, o che vendono le competenze dei loro specialisti come outstaffing) sono da evitare, mentre le aziende di prodotto sono fantastiche.

Non sono d'accordo con questa opinione. Almeno due luoghi di lavoro in cui ho lavorato per un bel po' sono state proprio queste «galere», e posso dire che le condizioni di lavoro, il livello di stipendio e l'atteggiamento verso i dipendenti erano davvero buoni (e ho esperienze per fare il confronto), e intorno a me c'erano persone molto piacevoli e qualificate.

Non pensate che se nel vostro attuale posto tutto non va molto bene, allora sarà così ovunque.

Probabilmente i psicologi un giorno studieranno questo fenomeno e gli daranno un nome, ma per ora bisogna riconoscere che questo fenomeno esiste: a volte le persone lavorano nel posto dove non sono molto soddisfatte, ma pensano che «sì, sicuramente è così ovunque» e «cosa cambia, tanto è tutto uguale». Dico semplicemente: no, non è così ovunque. E per convincersi, passiamo ai punti successivi.

Partecipate ai colloqui

… semplicemente per fare esperienza nei colloqui, scoprire i requisiti e i livelli salariali in diverse aziende. Nessuno vi lancerà sassi se alla fine riceverete un'offerta e la rifiuterete cortesemente. Acquisterete invece esperienza nei colloqui (ed è importante, sì), che potrebbe esservi molto utile in un momento successivo. Potrete ascoltare cosa fanno altre aziende nella vostra città, scoprire quali conoscenze e abilità i datori di lavoro si aspettano dai candidati e, cosa più importante, quali salari sono disposti a offrire. Non esitate a fare domande sui processi interni al team e all'azienda in generale, chiedete delle condizioni lavorative, chiedete di mostrarvi l'ufficio e le postazioni di lavoro.

Cosa fare per guadagnare bene e lavorare in condizioni confortevoli come programmatore

Studiate il mercato e conoscete il vostro valore

Esplorate HeadHunter, Mójkrug e risorse simili per avere un'idea generale di quanto realmente vale ciò che sapete e fate.

Non lasciatevi spaventare da cifre elevate nella sezione delle retribuzioni offerte, anche se sembra che un'azienda prometta di pagarvi molto di più per lo stesso lavoro che fate adesso. Va tenuto presente che l'IT è uno dei pochi settori in cui, se un'azienda scrive nella descrizione del lavoro che è disposta a pagare un professionista 100-150-200 mila, è molto probabile che lo faccia davvero.

Non sottovalutatevi

Vedi. «Sindrome dell'impostore», di cui si è già parlato su Habr. Non pensate di essere inferiori, meno qualificati o in qualche modo svantaggiati rispetto agli altri candidati. E soprattutto, non chiedete un salario inferiore alla media di mercato basandovi su queste considerazioni: al contrario, _dovete_ sempre proporre una cifra leggermente superiore alla media, ma fate capire chiaramente che siete disposti a discuterne.

Non esitate a negoziare un aumento con la direzione

Non restate seduti in silenzio ad aspettare che qualcuno dall'alto si illumini e vi offra un aumento di stipendio. Potrebbe arrivare l’illuminazione, oppure no.

È molto semplice: se pensi che il tuo stipendio sia basso, parlane con la direzione. Non è necessario inventare motivazioni per il perché credi di meritare di più; possono variare da "dopo questi N anni di lavoro sono cresciuto come professionista e ora posso affrontare compiti più complessi e lavorare in modo più efficiente" a "in altre aziende per questo lavoro offrono talmente tanto".

Nel mio caso ha sempre funzionato. A volte subito, a volte dopo un po'. Ma quando un mio collega, stanco della mancanza di soldi, ha trovato un nuovo lavoro e ha lasciato la lettera di dimissioni sul tavolo, dall'altra parte del tavolo sono rimasti molto sorpresi e hanno chiesto "Perché non ci hai mai parlato di un aumento?", e hanno insistito a lungo per farlo rimanere, offrendo addirittura una cifra maggiore rispetto a quella del nuovo contratto.

Trasferitevi o passate al lavoro da remoto

Se tutto dipende dal numero limitato di offerte di lavoro in città (in altre parole, se non ci sono «altri posti» dove cercano persone con la tua qualificazione, o se non è così facile entrarci)... Allora migliora le tue competenze e trasferisciti in un'altra città, se possibile. Conosco personalmente persone che si sono trasferite da città di un milione di abitanti a San Pietroburgo e Mosca con un aumento del reddito di due volte, anche passando a una posizione inferiore.

Ancora una volta, non lasciarti ingannare dai miti del tipo «nelle capitali pagano di più, ma le spese sono molto più alte, quindi non ne vale la pena», leggi i commenti a questo articolo, ci sono molte opinioni e storie a riguardo.

Studia il mercato del lavoro delle grandi città, cerca aziende che offrono pacchetti di rilocalizzazione.

Oppure, se sei già un professionista esperto e affermato, prova il lavoro remoto. Questa opzione richiede determinate competenze e buona autodisciplina, ma potrebbe rivelarsi molto adatta e vantaggiosa per te.

Per ora è tutto. Voglio sottolineare ancora una volta che questa è la mia opinione personale e la mia esperienza, che, ovviamente, non è la verità assoluta e potrebbe non coincidere con la tua.

Materiali relativi all'argomento:

13 sorprese di un'azienda non IT
Test di Joel
Non confuse lo sviluppo software con la programmazione

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster