Ter um trabalho técnico mais bem remunerado significa que você não consegue mais codificar? [fechadas]

58

Eu trabalho em uma grande empresa em que pessoas técnicas se enquadram mais ou menos em uma destas categorias:

  1. Um desenvolvedor de uma equipe scrum que desenvolve um único produto e talvez trabalhe com outras equipes que estão intimamente relacionadas ao produto.
  2. Um arquiteto que é mais um consultor em várias equipes (5-6) e tenta reconhecer pontos em comum entre os esforços da equipe que poderiam ser abstraídos para as bibliotecas (os arquitetos, no entanto, não escrevem o código da biblioteca). Esse arquiteto também participa de muitas reuniões com a gerência e tenta definir direção técnica.

Na minha empresa, o papel do arquiteto é o lugar onde a maioria das pessoas técnicas passa a ser o próximo passo em sua carreira.

Minhas perguntas são: A maioria das empresas trabalha de tal maneira que seu pessoal técnico mais bem pago está longe de escrever código? Essa é uma tendência natural para a carreira de um desenvolvedor? Um desenvolvedor pode ter tudo (código E definir direção?)

c_maker
fonte

Respostas:

75

A maioria das empresas trabalha de tal maneira que seu pessoal técnico mais bem pago está longe de escrever código?

A maioria das empresas ruins. Há uma tendência natural de maior responsabilidade de envolver menos escrita de código e mais foco em outros aspectos do desenvolvimento de software. Dito isso, é muito comum que os técnicos percam o contato com o que é comum / melhor / possível se eles não gastam tempo realmente codificando. Isso tem um efeito desastroso sobre a empresa.

Essa é uma tendência natural para a carreira de um desenvolvedor?

Sim. No final, uma pessoa pode ajudar muito mais o produto, orientando, coordenando, projetando, conhecendo o domínio do problema e executando outras tarefas de desenvolvimento de software do que escrevendo o código. E com toda a honestidade, ter boas habilidades de liderança ou design é muito mais raro (leia-se: valioso) do que a habilidade de escrever código.

Um desenvolvedor pode ter tudo (código E definir direção?)

Absolutamente. Embora você precisa perceber que a quantidade de codificação vai descer. Você simplesmente não pode fazer bem essas outras coisas valiosas se passar 80% do dia em um IDE.

A outra opção que acontece é a do 'engenheiro principal' por falta de um termo melhor. Alguns desenvolvedores são muito especializados. Eu trabalhei com alguém, por exemplo, que escreveu drivers de gigabit ethernet para Linux. Precisávamos que ele fizesse esse tipo de trabalho para nós, e como apenas um punhado de pessoas poderia fazer esse trabalho bem, ele fez pilhas de dinheiro, além de escrever código na maior parte do dia.

A maioria das empresas não precisa desse tipo de especialização. Eles estão apenas juntando dados ou criando outro site / mobileapp.

Telastyn
fonte
11
Este. No entanto, na maioria das hierarquias, existem algumas posições entre o "macaco de código" médio e um arquiteto; Desenvolvedor júnior, desenvolvedor sênior, líder de equipe e até mesmo gerente de projeto geralmente estão sob um arquiteto de software. Até o gerente de projeto, a maioria desses cargos ainda são codificadores primários, com funções de supervisão / aconselhamento cada vez maiores, com um salto quântico quando você passa para o PM, aliviando praticamente todas as tarefas de codificação em favor do gerenciamento de recursos e pessoas. Os arquitetos geralmente superam os PMs para ficarem mais próximos da codificação, mas ganham autoridade sobre vários projetos.
Keiths
11
Ótima resposta. E seu comentário sobre "ter tudo" está no local. Recentemente, tomei uma decisão consciente de alterar minha carreira, para poder voltar a escrever código. Tive a sorte de encontrar uma empresa que possa usar minhas habilidades de arquitetura e programação. Eles definitivamente podem ser difíceis de encontrar.
3
"A maioria das empresas ruins." Preciso e conciso. +1
orip
Google / Encontre no twitter John Carmack ( twitter.com/ID_AA_Carmack ) Ele é fundador / diretor técnico da ID Software e, no entanto, escreve código todos os dias. Ótimo exemplo.
Kodisha
exemplo de contador @kodisha Linus Torvalds . Ele não parece codificar tanto quanto costumava.
Autodidata
8

Isso depende em grande parte da cultura da organização. Muitas empresas não têm cargos técnicos seniores reais, embora possam ter alguns falsos.

Algumas empresas têm essas posições. Uma das razões pelas quais grandes engenheiros tendem a gravitar para algumas grandes empresas (por exemplo, Google) ou para startups é que eles podem continuar sendo desenvolvedores e trabalhar em coisas com as quais estão entusiasmados com alta remuneração e status organizacional. Na maioria das empresas, se eles quisessem permanecer desenvolvedores, estariam nos degraus mais baixos da escada.

orip
fonte
4

A experiência pessoal é a mais experiente em escrever código, menos tempo tenho para escrever código.

Passo o tempo tentando consertar os problemas antes que eles surjam. Ajudar outras pessoas quando elas estão presas. Planejar como as coisas se encaixam. Mesmo tentando convencer as pessoas a seguir na mesma direção.

Parece inevitável na minha posição. Prefiro trabalhar com o código, mas há coisas que posso fazer pela nossa empresa que são muito mais valiosas.

Agora, essa é uma experiência pessoal, mas sim, acho que refletiria a maioria das empresas pequenas. No entanto, deixei claro para o meu próprio chefe que não quero ser completamente removido do código.

Acho que os melhores arquitetos de software são práticos. Vi um bom artigo http://www.infoq.com/articles/brown-are-you-a-software-architect Veja a parte 4 Design, desenvolvimento e teste.

Dito isto, por que as atividades diárias de codificação não deveriam fazer parte do papel de um arquiteto? A maioria dos arquitetos são codificadores experientes, por isso faz sentido manter essas habilidades atualizadas. Além disso, o arquiteto pode experimentar a mesma dor que todos os outros membros da equipe, o que, por sua vez, os ajuda a entender melhor como sua arquitetura é vista da perspectiva do desenvolvimento.

Wes
fonte
0

Depende de quais são suas responsabilidades. Se você é responsável por questões técnicas, deve permanecer em uma posição de codificação. Separar o processo de 'ideia' do processo de 'implementação' é um caminho no caminho errado. Se você se encontrar nessa posição, deve resistir ao desejo de ser aquele gênio que simplesmente não tem tempo para implementar suas idéias brilhantes.

Por outro lado, se sua responsabilidade está na administração, acho que você não deveria estar codificando. Um gerente deve gerenciar o tempo de preenchimento. Essa posição inclui facilitar a comunicação entre diferentes codificadores e entre a equipe e o maior ecossistema burocrático. Os piores gerentes da minha experiência em que aqueles que ficaram de cabeça para baixo na codificação enquanto a equipe se desfez devido a conflitos e falta de comunicação.

nbv4
fonte
11
+1 "Os piores gerentes da minha experiência, onde aqueles que ficaram de cabeça para baixo na codificação"
Vadimo