it-swarm.it

Perché gli analisti aziendali e i project manager ottengono salari più alti rispetto ai programmatori?

Dobbiamo ammettere che la programmazione è molto più difficile della creazione di documentazione o persino della creazione del diagramma di Gantt e della richiesta di progressi ai programmatori. Quindi per noi che siamo ingenui, sapendo che la programmazione è generalmente più difficile, perché gli analisti aziendali e i project manager ottengono uno stipendio più elevato rispetto ai programmatori? Che cosa rende il loro lavoro un lavoro ben pagato quando anche nella maggior parte dei casi i programmatori sono quelli che vanno a casa tardi?

[~ ~ #] aggiornamento [~ ~ #]

Scusa la mia ignoranza, da alcune delle risposte sembra che il motivo per cui BA e PM ottengano uno stipendio più alto perché sono quelli che di solito sono responsabili dei programmatori di pasticci. Ma alla fine della giornata, sono i programmatori che si sporcano le mani per sistemare il caos e lavorare di più. Quindi non ha ancora senso.

324
Joshua Partogi

Il fatto che i project manager ottengano stipendi più alti rispetto ai programmatori e agli analisti aziendali esiste in quanto una classe dipende direttamente dal mondo del software in cui vivi.

na semplice risposta a questa domanda sarebbe "perché nelle nostre società, pensiamo ancora che lo stipendio sia legato alla posizione nella gerarchia". Ma questa risposta, pur riflettendo il fatto che le persone sono pagate in base al loro valore percepito, non spiega perché PM e BA sono in cima alla gerarchia in molte organizzazioni di software e perché la gestione va per gerarchia in primo luogo come struttura di scelta per il team di progetto del software. Queste sono le due domande che sembrano essere veramente degne di essere poste.

In generale, ci sono due categorie di organizzazioni che producono software. Li chiamerò Widget Factories e Film Crews.

Le fabbriche di widget nascono dalla scuola di gestione del pensiero che ruota intorno a teoria della motivazione X proposta da McGregor: i dipendenti di livello sono pigri e richiedono un controllo e una supervisione costanti, i lavori vengono svolti in nome di un controllo salariale, i dirigenti sono sempre in grado di fare i lavori dei loro subordinati al livello superiore o, almeno, allo stesso standard. Questo pensiero arriva all'idea naturale che l'intero team può essere facilmente sostituito e rappresentato dal solo manager - dopo tutto il resto del team è facilmente sostituibile o lì solo per migliorare la capacità del manager di completare le attività. Da qui la gerarchia come struttura e ruoli di lavoro piuttosto orizzontali.

Il management di Widget Factory opera partendo dal presupposto che il software può essere prodotto secondo una specifica preparata da un analista aziendale attraverso un processo chiaramente definito eseguito sotto la stretta supervisione di un project manager. La produzione è curata dal personale del progetto con risorse di programmazione e test sufficientemente qualificate ma intercambiabili. Il lavoro è guidato da un budget prestabilito basato sul caso aziendale iniziale preparato da PM e BA.

La gestione che gestisce una Widget Factory è facile da individuare prestando attenzione al modo in cui queste persone parlano. È probabile che si occupino di risorse (anche quando si fa riferimento ai membri del team), processi, efficienza operativa, uniformità, ripetibilità, controllo rigoroso sull'uso delle risorse, ruoli di lavoro chiari e input e output dei processi definiti. Indicherebbero casualmente la metafora della fabbrica reale quando provavano a trasmettere l'immagine dell'operazione di sviluppo software ideale come la vedono.

Poi ci sono personaggi del cinema. Si basano sul concetto che le persone sono intelligenti, automotivate, lavorano molto duramente e godono il proprio lavoro tanto quanto i bambini si divertono a giocare. Gli operatori cinematografici riconoscono che, grazie alla specializzazione, le capacità dei singoli collaboratori possono superare di gran lunga le capacità delle persone di organizzare, coordinare e dirigere il lavoro. Dal momento che il manager non può più sostituire tutti, la struttura gerarchica non funziona così bene - le persone devono cooperare all'interno di una formazione molto più piatta e complessa per fare le cose. I ruoli di lavoro stessi tendono ad essere molto più verticali - dall'inizio alla fine - e comportano una più ampia varietà di competenze. Questo pensiero manageriale è sostenuto da Teoria Y di McGregor .

Un regista di una troupe cinematografica sa che la sua visione di un software può realizzarsi solo se fosse in grado di riunire un grande equipaggio, affascinare l'immaginazione e aiutare la squadra a gelificare e lavorare insieme. Il suo ruolo è ispirare, proteggere la visione, fornire direzione e focalizzare gli sforzi. Ogni singola persona è importante perché "il regista" crede che il software derivi dalla combinazione di visioni del mondo e abilità di tutti i partecipanti e di un modo unico in cui il gruppo svolge il lavoro insieme. Tutti riconoscono fin dall'inizio l'importanza di far entrare le star nell'equipaggio: le star star aumentano ogni possibilità di successo. Vision guida il budget e attira finanziamenti.

Quando si tratta di compensazione Le fabbriche di widget ritengono che il massimo valore derivi dal lavoro svolto dal project manager e dall'analista aziendale che risiedono in cima alla gerarchia e devono essere compensati di conseguenza, il resto del team non ha molta importanza, purché abbiano le giuste qualifiche per convertire i requisiti in codice di lavoro. PM e BA lavorano duramente per mantenere la loro posizione in cima al pacchetto limitando l'accesso gratuito alle fonti di informazioni sul progetto al resto del team. Senza accesso formale alle fonti di informazioni primarie il team faticano a dare giudizi di valore o a trovare buone soluzioni, i programmatori sono relegati a prendere ordini dall'alto e a lavorare sul problema come definito da PM e BA. Questa situazione rafforza ulteriormente la nozione di Widget Factory che i programmatori sono simili agli operai delle officine in grado di svolgere meccanicamente solo compiti tecnicamente complicati, ma comunque standard.

In netto contrasto, Film Crew agisce come una formazione più egualitaria; i membri hanno accesso illimitato alle informazioni primarie, sono incoraggiati a formare giudizi di valore e sono liberi di selezionare un corso di azioni per realizzare e contribuire alla visione. La struttura della leadership si basa sull'abilità piuttosto che su un ruolo specifico all'interno del team. La compensazione riflette quanto sia desiderabile ottenere una persona specifica per prendere parte al progetto, spesso legato alla percezione di quanto più prezioso diventerà il risultato finale se quella persona può essere convinta a dedicare le proprie energie alla creazione di quel software. In questo ambiente il ruolo di project manager diventa meno importante in quanto è improbabile che sia il leader creativo; il ruolo si riduce principalmente al supporto amministrativo e alle relazioni esterne. I compiti dell'analista aziendale sono in parte sostituiti dal ruolo di Visionary (l'ho definita prima "un regista") e in parte assorbita da altri membri del team.

Ora, non sorprende che la maggior parte dei team di sviluppo software interni e alcune società di consulenza siano gestite come Widget Factories basandosi su un processo per produrre software costantemente noioso; sono questi ambienti in cui i responsabili di progetto e gli analisti aziendali sono regolarmente pagati più dei programmatori in base al presupposto che apportano il massimo valore con l'ambiente strutturato di conseguenza, rendendo difficile per i programmatori dimostrare la gestione sbagliata.

Le aziende di software di successo tendono ad adottare il punto di vista di Film Crew, qualsiasi altra filosofia ostacolerebbe la loro capacità di attrarre grandi persone sulle quali fanno affidamento così tanto per produrre ottimi software. È improbabile che tu abbia mai visto un ruolo di analista aziendale in quell'ambientazione e i project manager sono meno importanti e vengono regolarmente pagati meno dei grandi programmatori.

389
Vlad Gudim

Perché nelle nostre società, pensiamo ancora che lo stipendio sia vincolato alla posizione nella gerarchia.

Gli analisti o i project manager sono più alti nella gerarchia, quindi dovrebbero essere pagati di più.

Lascia che ti racconti una storia vera che illustri perché questo è un problema.

Un buon amico ha iniziato come programmatore in un grande ospedale. Grazie al suo duro lavoro e alla sua dedizione, è diventato rapidamente Oracle DBA, una posizione critica in un'azienda in cui i dati sono sia sensibili che preziosi.

L'ospedale ha lavorato con livelli. I livelli sono legati alla tua posizione nella gerarchia, eredità e diplomi.

Il mio amico ha ricevuto una proposta per diventare DBA in un'altra società che non utilizzava i livelli salariali. Il suo stipendio potrebbe essere aumentato molto. Poiché gli piaceva e rispettava l'ospedale per cui lavorava, decise di parlare con il capo, chiedendo un aumento.

Il capo ha rifiutato. Era impossibile a causa dei livelli e i sindacati non avrebbero permesso che ciò accadesse.

Il mio amico se n'è andato.

Alla fine l'ospedale ha assunto un consulente esterno (non vincolato ai livelli) e ha pubblicato un lavoro sul loro sito web. Il consulente non sapeva nulla dell'infrastruttura in atto, quindi la sua curva di apprendimento era enorme. L'ospedale ha perso molti soldi a causa di ciò.

L'ospedale ha perso molto di più. Il consulente esterno è stato pagato fino a 5 volte quello che il mio amico ha chiesto e non sono riusciti a trovare un dipendente qualificato per sostituirlo.

Questo è successo quasi tre anni fa. Il mio amico è ancora al suo nuovo posto e sta salendo la scala gerarchica molto velocemente facendo ciò che ama.

L'ospedale paga ancora 5 volte di più.

IMHO, lo stipendio dovrebbe essere relativo al valore fornito alla società.

UPDATE : quando ti sposti più in alto nella gerarchia, si verifica l'effetto leva. Quindi, in realtà, sei pagato per il valore che porti. Ma i programmatori brillanti che sono 10 volte più produttivi dovrebbero essere pagati 10 volte di più, indipendentemente dalla loro posizione in quella gerarchia (di solito in fondo). Questo è quello che volevo evidenziare.

276
user2567

Prendono più rischi rispetto ai programmatori. Devono prendere decisioni basate sulle informazioni che abbiamo loro fornito, e quindi affrontare le dure critiche degli stakeholder quando le loro aspettative non vengono soddisfatte. Parte del pacchetto retributivo compensa questo rischio.

Un altro fattore possono essere gli anni di esperienza necessari per preparare un project manager in grado di pianificare, stimare e mitigare correttamente. In un certo senso, un project manager con sfumature è addestrato a fallire, rendendolo un'abilità costosa da acquisire. Una volta raggiunto il livello di anzianità, un'azienda potrebbe non essere disposta a lasciar andare personale così prezioso.

Modificare:

Esistono più tipi di rischi rispetto a danni finanziari o fisici. Ad esempio, considerare il rischio di essere rimproverato dal gestore o dal cliente. Anche se non viene fatto alcun danno reale, è ancora abbastanza indesiderabile che adattiamo i nostri comportamenti al fine di evitare questo tipo di risultato. Tuttavia, i manager devono prendere sempre buone decisioni e devono bilanciare diversi tipi di rischi nell'interesse dell'azienda, non secondo le preferenze personali.

84
rwong

La programmazione può essere più difficile per qualche misura, ma è anche più piacevole. Ti siedi lì e risolvi il puzzle di programmazione di Nizza mentre i gestori affrontano tutti i tipi di schifezze tra i loro subordinati, i loro clienti, i loro capi e le parti interessate. Ecco perché così poche persone sane vogliono davvero essere manager, quindi devi compensare pagando di più.

La programmazione è più difficile, ma la gestione fa più schifo.

Un modo di pensare quale sia il valore di qualcuno per un'azienda è immaginare come sarebbe se quella persona lasciasse l'azienda. Di solito i manager risultano essere più preziosi in questo senso rispetto ai programmatori. James Gosling , il creatore di Java, ha recentemente lasciato Oracle. Si potrebbe pensare che sia una perdita enorme, ma indovina un po '? In realtà non importa. Non ha praticamente alcun effetto su Java o su Oracle. I cani abbaiano, ma la carovana continua.

A proposito, penso (seriamente) che i pulitori e gli addetti alle pulizie dovrebbero essere pagati molto più dei programmatori. Pulire i rifiuti di altre persone è un lavoro che fa schifo e è indispensabile.

80
Joonas Pulakka

Ridurre la gestione alla creazione di grafici e scrivere documentazione è come dire che la programmazione sta scrivendo.

A ciascuno il suo, ma per me la programmazione è molto più semplice della gestione delle persone.

71

Tutti qui sono concentrati sugli aspetti negativi. Non ho mai incontrato un programmatore a cui piacciono le politiche d'ufficio e i bravi manager ti proteggono da quel tipo di immondizia. Avendo interagito con molte persone presso il nostro cliente principale, metà di loro sono pazzi e sono felice di avere il mio PM lì per assorbire quella follia per me. Se li pagano molto , va bene. Ne ha bisogno per l'inevitabile terapia.

36
MattC

Ovviamente è discutibile, ma una ragione significativa alla base di ciò è che portano la responsabilità del progetto se fallisce, non i programmatori. Potrebbero darti un guadagno per aver sollevato qualcosa, ma affrontano critiche da poteri ancora più alti. Sono i responsabili di pianificazione e stima.

La gestione richiede un poliedrico set di competenze: abilità delle persone, leadership, capacità di stimare costi e tempi. Per fare tutto ciò, devono anche essere ancora in contatto con il tuo lato delle cose (cioè avere qualche idea di ciò che stai facendo, tecnicamente parlando) o essere degli ottimi giudici di carattere.

Se i requisiti non sono stati definiti correttamente, è colpa loro.

Se i piani di test non sono stati definiti correttamente, è colpa loro.

Se vai in vacanza o ti rompi una gamba o sei sprecato il sabato sera o parti senza dare abbastanza preavviso e devono trovare un sostituto o <qualche motivo qui> e non riesci a fare il tuo lavoro e il prodotto non ottiene consegnato (in tempo o per niente), è ancora colpa loro.

Nota anche che quando intendo hanno la responsabilità, influisce sulle persone sopra e sotto di loro. Se rovinano le cose, potrebbero essere i lavori della tua squadra che sono in linea. Questo è anche il tipo di pressione che vieni pagato.

PS: Inoltre, non so se direi che programmare è più difficile che fare grafici di Gantt (per riutilizzare l'esempio che menzioni). Non ti conosco, ma trovo che la programmazione (in generale, per l'80% delle cose che devi fare nel settore) sia abbastanza semplice. Se rovini qualcosa, puoi sistemarlo. Se il tuo capo rovina il suo diagramma di Gantt o la sua stima dei costi, ora questo sarà un problema molto più grande che invertire un != null per un == null. Piccoli errori contano su una scala più ampia per loro. Il più delle volte, ovviamente, se hai fallito un test come questo in un'applicazione medica integrata che è andata in onda, anche questo è un grosso problema. Ma avranno più problemi di te!

20
haylem

Offerta e domanda è un modello economico di determinazione dei prezzi in un mercato. Conclude che in un mercato competitivo, il prezzo unitario per un particolare bene varierà fino a quando non si stabilizza in un punto in cui la quantità richiesta dai consumatori (al prezzo corrente) sarà uguale alla quantità fornita dai produttori (al prezzo corrente), risultando in un equilibrio economico di prezzo e quantità. Le quattro leggi di base della domanda e dell'offerta sono:

  • Se la domanda aumenta e l'offerta rimane invariata, allora prezzo e quantità di equilibrio più elevati.
  • Se la domanda diminuisce e l'offerta rimane invariata, abbassare il prezzo e la quantità di equilibrio.
  • Se l'offerta aumenta e la domanda rimane invariata, abbassare il prezzo di equilibrio e aumentare la quantità.
  • Se l'offerta diminuisce e la domanda rimane invariata, prezzi più alti e quantità inferiori.

In questo caso, uno dei motivi è che ci sono troppi sviluppatori.

19
Amir Rezaei

Sono passato da sviluppatore a PM ruoli durante la mia carriera. Ho sviluppatori nel mio progetto che realizzano il doppio di quello che faccio e altri che ne guadagnano la metà. I ​​guadagni alti sono pagati cosa sono perché: A) Sono sviluppatori "rockstar". B) Interagiscono con i clienti, spiegano il prodotto in modo che i clienti possano capirlo facilmente e sono gradevoli. C) Dirigono team di sviluppatori che lavorano su più progetti. D) Sono sempre disponibili e desiderosi di piacere.

Eseguono i ruoli di uno sviluppatore, PM e BA in diverse capacità. In generale, se stai spendendo il 90% del tuo tempo a testa bassa, tagliando il codice non sei incredibilmente prezioso e probabilmente sono facilmente sostituibili. Se vuoi guadagnare di più, allora devi assumerti più responsabilità ... e probabilmente devi trovare un'altra compagnia che ti pagherà di più.

17
Shane-o

La logica è che l'area di responsabilità di un project manager (spesso) è consegnare l'intero progetto in tempo, con una qualità accettabile, entro un budget pianificato. Spesso ci sono molti soldi in palio, quindi i bravi project manager spesso hanno un compenso maggiore rispetto ai programmatori.

Tuttavia, non credo che gli analisti aziendali guadagnino in media uno stipendio significativamente più alto rispetto ai programmatori. Ed ho la sensazione che stia diventando meno comune che il livello salariale in un'azienda sia determinato dalla gerarchia e non dal valore di un dipendente.

11
Nikita Barsukov

La mia esperienza potrebbe essere diversa (o sto vivendo in un universo diverso con leggi della fisica distorte), ma la maggior parte degli analisti aziendali e dei project manager (non programma manager, ma progetto manager o PMP) che ho visto sono pari o leggermente inferiori allo stipendio medio dei programmatori.

Il divario salariale inizia ad aumentare di più rispetto allo stipendio medio degli ingegneri del software (a favore dell'ingegnere del software). Il divario è ancora maggiore rispetto a EE senior o ingegneri del software senior. Quasi nessun analista aziendale senior o PMP senior farà lo stesso di un EE senior o un ingegnere software senior/principale.

Un manager di programma, tuttavia (che non è lo stesso di un PMP), quella persona farà molto di più di chiunque altro (e le ragioni dovrebbero essere ovvie).


La cosa che mi infastidisce di più quando vedo queste lamentele sugli stipendi è che come programmatori (specialmente come programmatori junior/entry level nell'impresa), siamo (o non eravamo) così speciali. Non c'è davvero nulla in un programmatore entry-level appena uscito da scuola che meriti uno stipendio da scienziato missilistico. No.

Tutti noi che lavoriamo sul software sono partiti da zero. Lo abbiamo fatto tutti.

E SE siamo veramente onesti, sappiamo bene di non conoscere la merda. Essere in grado di completare il nostro corso di laurea CS carico è solo il punto di partenza. Non ci rende così speciali o ZOMG !!!! uber-Einstenian. Veramente no!

Eppure (e grazie al periodo sfortunato della bolla delle dot-com), ci aspettiamo di fare non solo di più, ma molto di più di un'altra persona istruita all'università solo perché OH WOW, siamo programmatori e lo sono - solo analisti aziendali e PMP.

Sai sillabare l'arroganza? Newsflash: per la maggior parte delle attività di programmazione in azienda, non è nemmeno necessario un diploma di 4 anni. Davvero, è così serio.

Dedica del tempo a Grind e costruisci l'esperienza per passare dalla programmazione all'ingegneria del software (o ingegneria per quella materia) a livello senior. Quindi puoi richiedere di fare molto, molto, pero mucho mucho molto più di un analista aziendale e PMP.

Fallo finita: alcuni di noi sono (o erano) pagati in eccesso. Periodo.


A parte: ragioni per un analista aziendale e/o PMP per rendere gli stipendi vicini o simili ai programmatori che non hanno ancora accumulato il tempo e le competenze necessarie per essere ingegneri del software di livello medio/senior (o che non hanno ancora sviluppato competenze in una nicchia molto richiesta la zona):

A analista aziendale è il collegamento tra software e persone del sistema e persone/processi aziendali (che sono quelli che giustificano l'esistenza della busta paga, non viceversa). Sono i responsabili di scomporre i processi aziendali in modi metodici e analitici, come input suscettibili di formare requisiti, le cose su cui lavori. Si assicurano che passi la maggior parte del tuo tempo a programmare e a non occuparti della minuzia degli affari.

Molti di voi pensano che gli affari siano una merda facile. Se pensi davvero che sia vero, Dio ti aiuti.

A project manager è la persona incaricata di destreggiarsi tra più progetti (mentre devi solo destreggiarti con uno o due al massimo in qualsiasi momento). È il tuo ombrello ed è quello che deve fai il lavoro sporco che la maggior parte delle masse rimaste non lavate non vogliono fare - per inseguire le persone assicurandosi che facciano il loro lavoro o rimuovendo gli impedimenti al tuo lavoro.

È quello che ti chiederà "a cosa stai lavorando? È quello che stai lavorando per aiutare a spostare il progetto? Hai problemi con il tuo lavoro? Quali sono i tuoi ostacoli, di cosa hai bisogno? Chi può dartelo? " ...

e poi andrà dagli altri a fare le stesse domande difficili, assicurandosi che gli ostacoli vengano rimossi e assicurandosi che si stia tirando il peso sul progetto (se necessario).

Il problema numero uno che ho visto in molti progetti falliti è la mancanza di PMP o la mancanza di rispetto nei confronti dei PMP (specialmente da parte degli sviluppatori). È raro che io veda i progetti fallire a causa di PMP incompetenti, eppure ci si deve chiedere perché molti programmatori sono più che desiderosi di dire che è il caso.

10
luis.espinal

Sono in finanza e penso che la mentalità sia simile nella maggior parte degli abiti non tecnologici:

La retribuzione è proporzionale al rischio professionale

Escludendo un licenziamento completo di un gruppo o di una squadra, i programmatori di basso livello mantengono sempre il loro posto di lavoro. È la natura del lavoro, e i programmatori lo affrontano sapendo benissimo che non corrono rischi. Se c'è un bug, non sono le loro teste sul tagliere.

Ai livelli più alti, se qualcosa va storto, sei il primo ad andare. Ho avuto molte esperienze con un subordinato che ha commesso un piccolo errore tipografico che ci ha portato a perdere denaro e ho preso il sopravvento (non il vero programmatore che ha commesso l'errore).

Molto semplicemente, la retribuzione è commisurata al rischio. I programmatori, d'altra parte, non hanno necessariamente alcuna skin nel gioco, per così dire.

9
Foo Bah

Se la tua domanda fosse "perché X e Y ottengono salari più alti rispetto ai programmatori presso la mia azienda" Potrei aver risposto "potresti lavorare presso un'azienda sbagliata".

Il successo di un'azienda nel settore del software dipende più dalle capacità dei suoi programmatori che da chiunque altro. Le aziende che non lo riconoscono sono automaticamente in svantaggio rispetto a quelle che lo ottengono. Assumere i migliori programmatori e prendersi cura di loro è la soluzione migliore. La differenza nel lavoro dei grandi programmatori rispetto al resto è enorme; molto più grande della differenza di stipendio che comandano. Ma se insisti per pagare meno i tuoi programmatori, otterrai ciò per cui paghi.

Detto questo, ogni altro ruolo nel business è importante. I grandi manager hanno un impatto enorme. Molto di questo è ottenere grandi programmatori e renderli felici. Qualcosa di simile si può dire sull'analisi aziendale, marketing, vendite, test e supporto.

Se sei un grande programmatore e non sei ricompensato profumatamente, vai altrove. Inoltre, potresti non essere un grande programmatore. Sfortunatamente, se non sei eccezionale, è difficile capire perché. Se sapessi perché, potresti cambiare ed essere eccezionale, giusto?

Sono stato programmatore e sono stato manager di persone. Ho lavorato con molti programmatori fantastici, ma solo pochi grandi manager. Quando ero un manager non ero eccezionale, ma almeno lo sapevo. La mia gente ha ottenuto più rilanci di me, che meritavano.

5
Jay Bazuzi

Ha poco a che fare con le competenze e il lavoro, intendo che poco nell'economia è legato a quante persone meritare produrre.

Meritare di fare più soldi è un'idea effimera, tutti credono di meritare di fare più soldi.

Anche se potrebbe non essere giusto, i gestori guadagnano di più semplicemente perché i proprietari delle aziende si fidano di loro di più. I manager ottengono spesso stipendi più alti, semplicemente per evitare che un nuovo lavoro diventi improvvisamente in un momento inopportuno.

5
Mark Rogers

Ho esaminato ogni post e oso dire che la maggior parte di loro sta cercando di confrontare mele e banane.

Prima di tutto, credo che qualcuno che dice che "gestire è un gioco da ragazzi" non abbia mai dovuto gestire qualcosa di più del proprio programma. D'altra parte, dire che "chiunque può codificare qualsiasi cosa" è sciocco (ed è nel forum sbagliato, per l'amor di Dio!).

Mi sono piaciute soprattutto le domande su rwong e luis.espinal, anche se credo che ci siano anche altri fatti che devono essere notati.

Non credo che la gerarchia sia una risposta - non al giorno d'oggi - anche se si adatta perfettamente agli ultimi 10.000 anni. Abbiamo vissuto per secoli in una società in cui maggiori sono i tuoi profitti, maggiore è il tuo potere (e viceversa). Non credo che si applichi al nostro mondo, così com'è (specialmente nella nostra zona).

Ritornando alla domanda principale, credo che i manager di solito guadagnino di più perché sono più preziosi per un'azienda non perché è più alto nella gerarchia, ma è più alto a causa di

  • tutte le conoscenze che ha già acquisito da esperienze precedenti (di solito i programmatori hanno meno esperienza dei manager in generale)
  • per essere in grado di gestire più cose contemporaneamente (i programmatori hanno un compito - o un elenco di compiti - da compiere, mentre i manager devono gestire i propri compiti
  • sono il contatto principale per il progetto che gestiscono e per questo motivo sono il primo "obiettivo" nel caso in cui qualcosa vada storto. È più facile perdere il lavoro se sei un manager; essendo uno sviluppatore, hai la "licenza per ripetere qualcosa". Questo è il fattore "rischio" di cui tutti hanno parlato.
  • gli sviluppatori fanno parte di un intero ciclo di vita del progetto. Credo che quando parliamo qui di "programmatori" pensiamo anche ai tester, agli scrittori tecnici e a tutte le altre persone che sono estremamente importanti per il successo del progetto.
  • e c'è qualcosa che ho visto solo in un paio di post su questo argomento: la leadership. Essere un manager sta per sapere come essere in contatto con le persone, per negoziare, per mantenere tutti motivati, per creare sinergie quando l'umore di tutti è giù.

Secondo me, il fattore di leadership è il motivo principale per gli stipendi più alti, perché genera un enorme risultato a lungo termine per l'azienda e per tutti coloro che sono intorno al leader.

A proposito, ho avuto solo poche esperienze come team leader (lungi dall'essere un capo progetto!) E tanto so cosa fa un leader, tanto lavoro mi rendo conto di dover fare.

Modifica: ho dimenticato di evidenziare: le abilità comunicative non sono un punto di forza per la maggior parte di noi, ma è un must per un leader. Inoltre, vorrei condividere un ottimo post su Coding Horror, relativo a buoni programmatori e abilità comunicative -> http://www.codinghorror.com/blog/2011/02/how-to-write -senza-writing.html

4
Tiago Cardoso

In molte professioni, un'abilità principale è la capacità di vendere qualcosa. E per vendere qualcosa lo farà, devi vendere te stesso. Hai bisogno che l'acquirente si fidi di te e apprezzi il prodotto o il servizio che fornisci tanto quanto intendi che sia. Questa abilità è completamente trasferibile alle trattative salariali.

4
back2dos

Penso che tutta la tua base per questa domanda sia difettosa.

La gestione deve essere pagata più dei loro subordinati. L'anzianità in un'azienda si basa generalmente sullo stipendio e non c'è modo che un dipendente junior possa avere i mezzi per comandare i propri anziani.

Dirigere le persone è un'abilità specialistica. Non tutti possono essere project manager (PM). Il compito è sempre più difficile all'aumentare del numero del personale. In un ruolo tecnico PM, il PM deve avere una buona conoscenza della tecnologia per condurre in modo efficace - altrimenti non avranno il rispetto e il supporto del loro subordinati.

4
TZHX

Pensaci in questo modo, il numero di manager qualificati è inferiore al numero di programmatori qualificati, quindi i manager sono più "preziosi" per le aziende.

3
user16556

Dipende da come si definisce la 'difficoltà'. Anche se, mi chiedo se tu sappia di cosa tratta il Project Management e cosa dovrebbero fare gli analisti aziendali. Ho letto molta frustrazione dalla tua domanda, quindi penso che tu abbia avuto delle brutte esperienze. Tuttavia, voglio provare a rispondere alla tua domanda.

I project manager e gli analisti aziendali sono generalmente "più anziani" quando soddisfano tali posizioni. Laddove gli sviluppatori iniziano la loro carriera molto giovani (intorno ai 20 anni), la maggior parte dei project manager e analisti ha quasi 30 anni (il che crea già una differenza di pagamento solo per l'età). Sono anche quelli che devono affrontare l'esposizione dei clienti, il che significa che devono viaggiare in loco, trascorrere ore di tortura per ascoltare il cliente (soprattutto quando un progetto va storto) e arruolare i loro desideri/bisogni. Devono stare attenti a ciò che promettono e soprattutto in quale ambito (tempi di consegna). Anche se dal tuo punto di vista ciò che fanno è solo documentare, gli analisti aziendali sono istruiti per analizzare le esigenze del business e i project manager sorvegliano la pianificazione dei progetti.

Agiscono come un firewall tra il cliente e gli sviluppatori. Una prospettiva tecnica è qualcosa di diverso rispetto a una prospettiva di vendita. La maggior parte degli analisti aziendali e dei project manager si trova anche di fronte a una grande varietà di clienti: sono esposti e quindi hanno "contatti". La loro rete è composta da decisori e quindi le aziende preferiscono tenere a portata di mano le persone con tali reti; dopo tutto una vendita è una vendita.

Per quanto riguarda la difficoltà? Avviare un'azienda, avere dieci sviluppatori e provare a gestire un progetto. Il mal di testa lo accompagna gratuitamente. Fallo per un anno e poi guarda di nuovo la tua risposta. Per BA? Scegli una tale opportunità. Siediti con i clienti che hanno una macchina AIX dal 1974 e il progettista di quel sistema è morto/ritirato/morente/alzeheiming e lo sviluppatore deve sapere se viene generato un certo valore o ha una formula mistica. Prova a convincere 20 persone con un PowerPoint sulla tua soluzione entro 3 giorni. Se documentare fosse "facile", Linux avrebbe già lanciato il mondo nel 1997. Davvero, prova a scrivere un white paper tecnico ogni mese per persone non tecniche (quelle che pensano che Facebook sia una rivoluzione nel campo dell'informatica).

Sono un ingegnere di vendita. Ciò significa che sviluppo, ma la mia specializzazione è per prototipi e dimostrazioni. E guadagno più di un analista aziendale o di un project manager. Non perché ho una rete (lo faccio, però), ma perché ho lasciato l'atteggiamento e mi sono concentrato maggiormente sulla prospettiva aziendale, mi sono certificato e mi sono insegnato alcune competenze trasversali. E l'esperienza di apprendere che il "no" è anche una risposta, quando si tratta di straordinari.

3
Shyam

Risposta semplice: Sono più preziosi per l'azienda dei programmatori.

Perché? Perché assicurano che i progetti vengano completati, anche se non eseguono la programmazione da soli. Ciò significa che il loro valore (puramente in termini monetari per l'azienda) è più di un singolo programmatore. La società non crede che i programmatori non gestiti siano produttivi e quindi preziosi ... È solo il manager che li rende così.

Fa schifo, e potrebbe non piacerci, ma è per questo che l'azienda li paga di più.

La loro posizione (come altri hanno sottolineato) presenta però degli svantaggi: se non riescono a completare un progetto entro un certo tempo, è colpa loro, non dei programmatori. Si assumono maggiori responsabilità e hanno altamente probabilità di essere licenziati per fallimento (a meno che non ci sia del nepotismo della società BS in corso).

Quindi, in realtà, non sono autorizzati a fare errori, a esercitare più pressioni su di loro e ad avere un lavoro molto più volatile ... ma non confondersi: Non è per questo che vengono pagati di più - un'azienda non dà il culo a un topo quanta pressione sei, quanto è instabile la tua posizione, niente del genere. A loro importa solo quale valore porti alla compagnia. Periodo.

Questo è capitalismo, gente.

3
Django Reinhardt

Non so quante volte la conoscenza del diagramma di Gantt debba essere aggiornata in un anno. Ma facendo programmazione devi aggiornarti con nuove tecnologie che non saranno così facili con la tua età.

Imparare una nuova tecnologia ha bisogno di ore di sudore, che se sei abbastanza intelligente da assorbire.

Le competenze acquisite negli anni facendo programmazione non sono molto apprezzate nell'attuale cultura aziendale.

Confrontare lo stipendio dei programmatori neolaureati con uno con oltre 10 anni di esperienza è una storia un po 'triste.

Confrontando un nuovo PM con un 10 anni PM è una grande storia, il PM potrebbe diventare direttore dopo 10 anni di Esperienza.

Allora perché sono ancora così tante le persone che vogliono imparare l'IT all'università? Non capisco. Sono stati adeguatamente informati?

Non capisco come le persone apprezzino l'abilità al giorno d'oggi.

2
user16507

La direzione non guadagna sempre di più rispetto allo staff tecnico. Il personale tecnico di alto livello dovrebbe essere attivamente coinvolto nell'analisi a livello aziendale, nel processo decisionale e nella definizione della tabella di marcia tecnica per l'azienda. In questo caso, il personale tecnico senior può fare molto di più rispetto ai manager aziendali con cui lavora ogni giorno.

Uno dei miti popolari del business è che il manager dovrebbe essere pagato più delle persone che gestisce. IMO, trovi questa idea più profondamente radicata nelle burocrazie che in squadre funzionali e agili.

Per dirla in altro modo: la compensazione dovrebbe riflettere il valore del contributo di una persona alla società. Ci sono manager aziendali stellari e manager medi, e ci sono ingegneri stellari e ingegneri medi. Se hai un ingegnere stellare che sviluppa la tecnologia per fare soldi e ha una profonda conoscenza delle tecnologie dell'azienda, non è nel migliore interesse dell'azienda compensare questa persona in modo più aggressivo di un normale dirigente aziendale che gestisce questo ingegnere stellare? Qual è il costo opportunità di perdere quell'esperienza ingegneristica e set di abilità perché hai trascurato questa preziosa risorsa?

2
dthorpe

Ho iniziato un mese fa con il mio primo progetto come PM. Prima ho lavorato come programmatore. (a proposito, ho gli stessi soldi di prima.)

Ho scoperto che essere un buon PM significa essere un buon programmatore con una vasta esperienza. Dovresti essere in grado di passare da un membro del team a un altro e discutere dei problemi che hanno usando la tua esperienza pratica per aiutali a capire i problemi fornendo un diverso punto di vista. Il tuo compito è, oltre ad altri, gestire le interfacce. A PM è come un direttore d'orchestra. Puoi avere i migliori musicisti ma se non hai un buon direttore che sa suonare bene l'orchestra dei meta-strumenti, hai solo un casino.

La controparte è lo specialista. Questo è il programmatore che è in grado di risolvere problemi difficili perché ha una profonda conoscenza del dominio del problema. Queste persone con esperienza spesso pagano molto anche se sono abbastanza brave nelle negoziazioni. Purtroppo gli specialisti sono spesso secchioni e non sono così interessati ai soldi o bravi a fare un buon affare ...

2
user16673

Per le stesse identiche ragioni che un CEO può fare 263 volte tanto quanto il suo lavoratore medio.

2
Jeff Swensen

Questo non è sempre il caso. Quando lavoravo per Computer Sciences Corporation (CSC), la maggior parte dei manager guadagnava meno delle "persone che producevano qualcosa di utile". Nel caso di CSC, penso che sia stato così perché la società era stata avviata da un gruppo di programmatori.

All'epoca (1970) c'era un'altra società di software a Los Angeles, il cui nome dimentico con un programma salariale interessante. I programmatori sono stati pagati $ 25.000/anno e il personale di supporto è stato pagato $ 15.000/anno. L'idea era che se tu fossi il programmatore peggiore lì non dovresti essere sorpreso di essere sostituito.

1
user16762

Ho la mia piccola impresa di software e sono sia il programmatore che il project manager, quindi posso darti entrambi i punti di vista.

Il tuo presupposto iniziale non è vero. Lasciami scrivere:

Gestione del progetto e analisi del software =

Creare documentazione o persino creare un diagramma di Gantt e chiedere progressi ai programmatori.

Se pensi davvero che tutto riguardi la gestione del progetto e l'analisi del software, non c'è da meravigliarsi se pensi che la programmazione sia più difficile.

Ma questo è un modo ridicolo, ingiusto e non realistico per definire quelle professioni. Si concentra solo su aspetti visivi, come se non dessero valore.

Come ti sentiresti riguardo a questa altra definizione?

Programmazione =

Seduto davanti a un computer e punzonando le chiavi.

Se la programmazione è definita in questo modo, PM & SA sembra molto più difficile, anche secondo la tua definizione (che non è corretta).

Queste professioni sono meglio retribuite perché sono, in effetti, più difficili della programmazione.

  1. Implica la gestione di persone , non di macchine. Le persone sono molto più difficili con cui lavorare, data la loro natura non deterministica. Il sottoinsieme chiamato client è particolarmente problematico.
  2. Altri l'hanno detto, ma lasciatemelo ripetere: responsabilità. Se un programmatore sbaglia, dipende da PM per risolvere il problema. Non solo per segnalarlo, per risolvere . Potrebbe comportare il ritardo di un lancio di 2 settimane o il salto di una funzione.
  3. La quantità di multi-tasking è PM di solito è sconcertante. È un esercizio costante in equilibrio tra il team, la direzione, i clienti e il budget. È non facile.
  4. Implica anche la comunicazione "viceversa" - Non solo il programmatore deve riferire al PM sullo stato; il PM è incaricato di comunicare correttamente aspettative, rischi e obiettivi. In alcuni casi sono anche responsabili della formazione.
  5. Ho già parlato di trattare con i clienti?

Se i project manager con cui lavori eseguono semplicemente powerpoint, non svolgono correttamente il proprio lavoro. E questo è triste.

Penso che non capirai davvero perché i project manager guadagnano più dei programmatori fino a quando non incontri un buon project manager.

1
egarcia

Va bene sono leggermente sorpreso dalle risposte, quindi eccolo qui. Ma prima, vorrei solo chiarire che sono un programmatore e non c'è niente che mi piace di più della programmazione. Detto questo, ho un salutare rispetto e rispetto per competente PM e BA. Mi rendo conto che molti di noi si risentono dei PM e dei BA perché a differenza della programmazione è possibile a Excel in essi senza il livello richiesto di competenza (politica dell'ufficio, bei semi) eccetera).

Tuttavia, sia la gestione del progetto che l'analisi aziendale sono critici componenti dello sviluppo del software.

Ogni volta che pensiamo allo sviluppo del software molti di noi hanno la tendenza a concentrarsi solo sulla programmazione per escludere tutto il resto. Eppure c'è di più oltre alla programmazione.

Primo obiettivo dello sviluppo, che è quello di creare un software che risolva e risolva effettivamente i problemi dei clienti. Ciò implica prima di tutto effettivamente capire i requisiti del cliente (poiché il cliente potrebbe non essere veramente sicuro di ciò che vuole), ciò è possibile solo attraverso un'analisi dettagliata del dominio in cui opera il cliente e la struttura dei vari artefatti (siano essi persone, infrastrutture tecniche o processo) e successivamente sviluppare una soluzione aziendale adeguata (e la sua integrazione con la tecnologia) per soddisfare tali requisiti.

Allo stesso modo, qualsiasi progetto di dimensioni significative assolutamente non può funzionare senza una gestione efficace. Ora non so come sia in altri posti, ma finora la mia esperienza è stata che i PM di solito sono promossi da ranghi di programmatori, quindi hanno qualche idea su ciò che serve per organizzare ed eseguire il progetto.

Riassumendo sia BA che PM sono livello di astrazione allo sviluppo .

1
Gaurav

I programmatori non attribuiscono lo stipendio alla massima priorità (supponendo che sia a un tasso ragionevole). Immagina due offerte di lavoro in cui uno ha uno stipendio più elevato, impegno nello stesso tempo, ma richiede supporto tecnico, orari di lavoro rigorosi, codice di abbigliamento, scrittura della documentazione per l'utente, gestione del codice legacy in una lingua antiquata che speravi non dovessi mai più usare, come molto più stipendio avresti bisogno?

1
JeffO

Se lavori per un'azienda che rispetta la programmazione, la matematica, la risoluzione dei problemi, qualunque sia la tua competenza, potresti guadagnare di più per due cose:

  • Fare lavori più difficili
  • Assumersi più responsabilità

Solo perché un ospedale non paga molto il proprio DBA qualificato (vedi l'esempio nella prima risposta) non significa che questo sia lo stesso in ogni azienda.

1
Nils

Molte persone hanno affermato qui che la programmazione è più difficile ed è per questo che dovrebbe guadagnare di più. Questa è una visione molto romantica. La verità è che in un'azienda normale e sana il il pagamento è secondo la responsabilità, ciò significa il valore aggiunto di quella persona e anche il rischio.

Il rischio verrà spesso dimenticato. Normalmente se il programmatore fallisce nel suo lavoro difficile, ci potrebbero essere dei costi aumentati, ma niente di più. Non come il 10% dei lavoratori perderà il lavoro o qualcosa del genere. Il rischio è piuttosto basso.

Inoltre, non sono d'accordo con l'idea che la maggior parte degli uomini d'affari guadagna di più. Scommetto che il normale ragazzo d'affari guadagna meno della maggior parte della laurea in Scienze/Ingegneria guadagnerà. Ad esempio, come programmatore delle vacanze per studenti non laureati, ho guadagnato quasi lo stesso di alcuni lavoratori a tempo pieno lavoratori aziendali nella stessa azienda.

E, ultimo ma non meno importante, perché il project manager non è un ingegnere? Normalmente il project manager è un ragazzo con molti anni in primo piano nell'argomento del progetto che gestisce, il che significa che nella programmazione dei lavori sarà un programmatore esperto che è il project manager.

1
erikbwork

Esistono ambienti aziendali in cui il modello di comando e controllo o domina il modello di comunicazione tra i raggi . In queste organizzazioni, il manager e il capo comunicatore sono spesso la stessa persona. Questo rende il manager n singolo punto di errore - vengono amplificati gli effetti lugubri di errori di comunicazione o smarrimento delle traduzioni. Quindi questi ambienti richiedono persone con un vasto background tecnico come manager per garantire l'accuratezza.

Squadre meglio organizzate di solito nominano un capo comunicatore per scaricare questa responsabilità. Le organizzazioni che praticano knowledge management non hanno alcun singolo punto di errore nella comunicazione. In queste organizzazioni, i dirigenti e i principali comunicatori sollecitano informazioni e facilitano le discussioni. Queste informazioni verranno acquisite ed elaborate per la condivisione interna. È richiesto un diverso insieme di abilità sociali.

Allo stesso modo, gli analisti aziendali sono spesso il punto di contatto unico tra i clienti e il personale tecnico dell'azienda.

1
rwong

Pensi che il tuo linguaggio/compilatore sia schizzinoso? I gestori si occupano di compilatori di stato complessi auto-consapevoli chiamati programmatori e i bravi manager riescono persino a farli produrre software.

Scherzi a parte, mi piace la risposta di Widget Factory vs Film School, che penso sia probabilmente la migliore risposta nel thread, ma c'è una discussione a livello di livello che in realtà non affronta: indipendentemente dal tipo di organizzazione che stai costruendo, tu ' ricostruire un'organizzazione partendo da materiali capricciosi come persone, ed è un lavoro spesso difficile da fare bene. Puoi sostenere che è strano che questi posizioni spesso paghino meglio di quelli del programmatore quando una parte significativa di analisti, PM e PHB non sta effettivamente facendo un buon lavoro, ma il fatto è che lì è un lavoro là fuori che coinvolge la costruzione di organizzazioni che fanno le cose, ed è un insieme di competenze che è probabilmente più difficile da padroneggiare rispetto alla costruzione di sistemi software che fanno le cose.

0
Weston C

Gli analisti aziendali e i project manager hanno più accesso ai manager della catena. Questo è il motivo principale per cui possono essere pagati di più. Non tutti lo fanno. Ci sono anche organizzazioni che pagano molto male per gli analisti aziendali, ma rischiano un tasso di fallimento molto elevato a causa della forma più costosa di bug - un bug di requisiti.

I programmatori che dimostrano la capacità di raccogliere efficacemente i requisiti aziendali e di gestire un progetto vengono pagati più di tutte e tre le scelte che hai elencato. È importante ricordare che i servizi tecnici sono al servizio delle esigenze aziendali nella maggior parte delle organizzazioni e le persone tendono a fidarsi e valorizzare le persone che sentono comprendere le loro esigenze.

0
user16805

Gestire le persone è più difficile che gestire il codice. E i bravi manager hanno la capacità unica di trovare buoni programmatori.

0
Halil Özgür

in generale i project manager devono vedere il quadro generale mentre i programmatori svolgono solo il loro compito specifico,

puoi gestire un'attività Web di successo con programmatori medi ma raramente con gestori medi

se sei un manager devi fare la matematica della finanza, devi lavorare sulle questioni relative al personale e sulla fiducia, avere voce in capitolo nelle questioni relative alle assunzioni, ecc.

0
user16727