Avere un lavoro tecnico più pagato significa che non riesci più a programmare? [chiuso]


58

Lavoro in una grande azienda in cui i tecnici rientrano approssimativamente in una di queste categorie:

  1. Uno sviluppatore di un team di scrum che si sviluppa per un singolo prodotto e forse lavora con altri team che sono strettamente correlati al prodotto.
  2. Un architetto che è più un consulente di più team (5-6) e cerca di riconoscere i punti in comune tra gli sforzi del team che potrebbero essere astratti in biblioteche (gli architetti non scrivono il codice della biblioteca, tuttavia). Questo architetto partecipa anche a molti incontri con la direzione e tenta di stabilire una direzione tecnica.

Nella mia azienda il ruolo di architetto è il punto in cui la maggior parte delle persone tecniche passa al prossimo passo della loro carriera.

Le mie domande sono: la maggior parte delle aziende lavora in modo tale che i propri tecnici più pagati siano ben lontani dalla scrittura del codice? È una tendenza naturale per la carriera di uno sviluppatore? Uno sviluppatore può avere tutto (codice E impostare la direzione?)

Risposte:


75

La maggior parte delle aziende lavora in modo tale che i propri tecnici più pagati siano ben lontani dalla scrittura del codice?

La maggior parte delle cattive compagnie. Esiste una tendenza naturale a una maggiore responsabilità di coinvolgere meno scrittura di codice e maggiore attenzione su altri aspetti dello sviluppo del software. Detto questo, è molto comune per le persone tecniche perdere il contatto con ciò che è comune / migliore / possibile se non trascorrono del tempo a scrivere codice. Ciò ha un effetto disastroso sull'azienda.

È una tendenza naturale per la carriera di uno sviluppatore?

Sì. Alla fine, una persona può aiutare molto di più il prodotto tutorando, coordinando, progettando, conoscendo il dominio del problema e facendo altre attività di sviluppo del software di quanto non possano scrivere scrivendo codice. E in tutta onestà, avere buone capacità di leadership o di progettazione sono molto più rare (leggi: preziose) delle abilità di scrittura del codice.

Uno sviluppatore può avere tutto (codice E impostare la direzione?)

Assolutamente. Anche se è necessario rendersi conto che la quantità di codifica sarà scendere. Non puoi fare bene quelle altre cose preziose se passi l'80% della giornata a testa bassa in un IDE.

L'altra opzione che succede è quella dell '"ingegnere principale" per mancanza di un termine migliore. Alcuni sviluppatori sono molto specializzati. Ho lavorato con qualcuno, ad esempio, che ha scritto driver Gigabit Ethernet per Linux. Avevamo bisogno che facesse quel tipo di lavoro per noi e dato che solo una manciata di persone poteva fare bene quel lavoro, ha fatto pile di denaro oltre a scrivere il codice come la maggior parte dei suoi giorni.

La maggior parte delle aziende non ha bisogno di quel tipo di specializzazione però. Stanno semplicemente collegando i dati o creando un altro sito Web / mobileapp.


1
Questo. Tuttavia, nella maggior parte delle gerarchie ci sono alcune posizioni tra la "scimmia codice" media e un architetto; Gli sviluppatori junior, gli sviluppatori, gli sviluppatori senior, i team leader e persino i project manager sono spesso al di sotto di un architetto del software. Fino al project manager, la maggior parte di queste posizioni sono ancora programmatori primari, con funzioni di lavoro di supervisione / consulenza che aumentano in modo incrementale, con un salto di qualità quando si passa al PM che praticamente allevia tutti i compiti di codifica a favore della gestione delle risorse e delle persone. Gli architetti in genere superano i PM per rimanere più vicini alla programmazione, ma ottengono l'autorità su più progetti.
KeithS

1
Bella risposta. E il tuo commento su "avere tutto" è perfetto. Di recente ho preso una decisione consapevole di modificare il mio percorso di carriera in modo da poter tornare a scrivere codice. Ho avuto la fortuna di trovare un'azienda in grado di utilizzare le mie capacità sia architettoniche che di programmazione. Sicuramente possono essere difficili da trovare.

3
"La maggior parte delle cattive compagnie." Accurato e conciso. +1
orip

Google / Trova su Twitter John Carmack ( twitter.com/ID_AA_Carmack ) È fondatore / direttore tecnico di ID Software, eppure scrive codice ogni giorno. Ottimo esempio
Kodisha,

Esempio di contatore @kodisha Linus Torvalds . Non sembra codificare più come una volta.
Autodidatta,

8

Ciò dipende in gran parte dalla cultura dell'organizzazione. Molte aziende non hanno posizioni tecniche senior reali, sebbene possano avere alcune posizioni fasulle.

Alcune aziende hanno queste posizioni. Uno dei motivi per cui i grandi ingegneri tendono a gravitare su alcune grandi aziende (ad esempio Google) o sulle start-up è che possono continuare a essere sviluppatori e lavorare su cose di cui sono entusiasti con un alto livello di remunerazione e organizzazione. Nella maggior parte delle aziende, se volessero rimanere sviluppatori, sarebbero ai gradini bassi della scala.


4

L'esperienza personale è tanto più esperienza nella scrittura del codice quanto meno tempo mi posso permettere di scrivere codice.

Passo il tempo a cercare di risolvere i problemi prima che si presentino. Aiutare gli altri quando sono bloccati. Per pianificare come andranno le cose insieme. Anche solo cercando di convincere le persone a tirare nella stessa direzione.

Mi sento inevitabile nella mia posizione. Preferisco lavorare con il codice, ma ci sono cose che posso fare per la nostra azienda che sono molto più preziose.

Questa è un'esperienza personale, ma sì, penso che rifletterebbe la maggior parte delle piccole aziende. Comunque ho chiarito al mio capo che non voglio essere rimosso completamente dal codice.

Penso che i migliori architetti del software siano pratici. Ho visto un buon articolo http://www.infoq.com/articles/brown-are-you-a-software-architect Guarda la parte 4 Design, sviluppo e test.

Detto questo, perché le attività di codifica quotidiane non dovrebbero far parte del ruolo di un architetto? La maggior parte degli architetti sono programmatori esperti, quindi ha senso mantenere aggiornate queste competenze. Inoltre, l'architetto può provare lo stesso dolore di tutti gli altri membri del team, il che a sua volta li aiuta a capire meglio come viene vista la loro architettura dal punto di vista dello sviluppo.


0

Dipende dalle tue responsabilità. Se sei responsabile di questioni tecniche, dovresti rimanere in una posizione di codifica. Dividere il processo dell '"idea" dal processo dell' "attuazione" è un percorso lungo la strada sbagliata. Se mai ti trovi in ​​una posizione del genere, devi resistere alla tentazione di essere quel genio che non ha il tempo di implementare le sue idee geniali.

D'altra parte, se la tua responsabilità è nella gestione, non credo che dovresti codificare. Un manager dovrebbe gestire i tempi di riempimento. Tale posizione include facilitare la comunicazione tra diversi programmatori e tra il team e il maggiore ecosistema burocratico. I peggiori manager della mia esperienza in cui quelli che sono rimasti a testa bassa hanno programmato la programmazione mentre il team si è separato a causa di conflitti e errori di comunicazione.


1
+1 "I peggiori gestori della mia esperienza in cui quelli che sono rimasti a testa bassa
scrivono

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.