Qual é o papel do desenvolvedor sênior da web na equipe? [fechadas]

20

Com uma equipe de outros 3 desenvolvedores web, tenho o título de desenvolvedor web líder há um ano. Este é o meu primeiro emprego como líder.

Estou bem definido sobre quais são minhas funções na gerência. Estou curioso para saber o que outros desenvolvedores de nível sênior fazem. Estou curioso principalmente sobre quais são as responsabilidades de outras pessoas como desenvolvedor líder / sênior em outras organizações; como eu só encontrei trabalhando em uma empresa de pequeno / médio porte.

(a) O que se espera de um desenvolvedor web sênior / líder de uma organização (independentemente do tamanho)?

(b) Existe uma diferença entre líder de desenvolvimento web e desenvolvedor web sênior?

Revisei alguns tópicos e havia apenas um que discutia quando você deveria se chamar desenvolvedor sênior, mas não discutia de maneira abrangente os papéis do que um desenvolvedor sênior deveria fazer com sua equipe.

chrisjlee
fonte

Respostas:

22

Ponto de vista do gerente de projeto

Você é o ponto de contato único (ou padrão) para qualquer coisa relacionada ao lado técnico das coisas. Espera-se que o trabalho dos outros desenvolvedores se mova com força absoluta, liderando pelo exemplo ou seja qual for o seu método.

Ponto de vista do desenvolvedor não líder

Você é o modelo. Espere que os desenvolvedores menos experientes procurem por você e façam perguntas técnicas quando estiverem paralisados.

Pensar

Se você está realmente pedindo para a Internet definir seu papel / trabalho, pare. Converse com a gerência para obter uma resposta real.

JK
fonte
5
+1 - "Pense" ... ou, em outras palavras, a única definição do papel de "desenvolvedor web sênior" que é relevante para você é a definição do seu gerente.
Stephen C
9

Você tem duas funções principais como desenvolvedor líder: ser um defensor da sua equipe no lado comercial da sua operação e fornecer orientação técnica à sua equipe.

Como advogado, você deve ajudar a comunicar os requisitos à sua equipe, recuando quando o lado do negócio (seja gerenciamento, gerentes de projeto ou vendedores) faz solicitações ou demandas não realistas e geralmente lida com qualquer coisa que impeça sua equipe de escrever código.

Como mentor técnico, você precisa ajudar sua equipe a tomar boas decisões, ajudá-los com quaisquer problemas técnicos que eles tenham e direcioná-los para soluções adequadas. Você deve incentivá-los a melhorar suas habilidades e ser um defensor absoluto por seguir os padrões de desenvolvimento adequados.

Mais importante, você precisa ser um modelo impecável. Seu código deve ser do mais alto padrão, seus projetos devem ser entregues dentro do prazo e da mais alta qualidade. O que você faz será muito mais importante do que você diz.

EDIT: Mais uma coisa. Você precisa ser proativo com problemas técnicos. Não espere que sua equipe chegue até você com problemas. Esteja ciente do que eles estão trabalhando e procure-os se estiverem demorando muito, se você souber que eles estão usando algo complicado ou fora do conjunto de habilidades essenciais ou se parecerem frustrados. Ouça quando as pessoas da sua equipe começarem a discutir problemas técnicos sem você e intervir se (e somente se) você sentir que elas estão começando a se afastar de uma solução decente, ou se estão andando em círculos e não realizando nada.

MattBelanger
fonte
5

Bem, vamos explicar ... liderança .

Todos os erros de sua equipe agora são seus .

O mesmo vale para os sucessos, mas, na verdade, isso é desenvolvimento de software, o sucesso é modesto, você dificilmente terá problemas em lidar com um excesso de sucesso.

Concentre-se nesses erros. Evite-os, minimize-os, tente mantê-los sob controle.

E não seja mandão, sua equipe comete mais erros se você o fizer .

ZJR
fonte
4

O papel da OMI é de orientação. Você já passou do quarteirão, portanto, se outro desenvolvedor (que não seja júnior, mas não sênior) tiver uma pergunta ou se deparar com um problema no módulo Foobar, você será o cara que perguntará "Estou tentando fazer o X com Foobar, alguma idéia? ". Você também deve comunicar as metas e o esforço da equipe à gerência, ao mesmo tempo em que acompanha a equipe em questões técnicas (por exemplo, se você e a equipe descobrirem que um projeto levará 4 meses para ser realizado, não desista e diga ao CEO que será feito em 1 mês e depois forçar todos a trabalhar horas extras). Você também deve ser responsável por garantir que o código seja de qualidade apropriada e que os outros membros da equipe estejam fazendo as coisas corretamente e não apenas eliminando o lixo que entrará em colapso no caminho.

Claro que isso é tudo teórico. Depende da equipe; Eu trabalhei com "idosos" que nada sabiam sobre qualquer desenvolvimento moderno nos últimos 5 anos e eram "Smithers" para a gerência sênior e diziam "Senhor, sim senhor!" a qualquer demanda, por mais ridícula que seja, sufocou a criatividade de outros membros da equipe e incentivou um ambiente de trabalho muito pouco favorável, em vez de um constante aprendizado e habilidade. Também trabalhei com desenvolvedores seniores muito experientes, que assumiram um papel ativo, garantindo que as coisas estivessem da melhor maneira possível e nunca cederam à pressão da gerência.

Wayne Molina
fonte
4

Sou devloper sênior e tenho vários líderes técnicos com quem trabalho. A diferença é que eles são os gerentes técnicos de projetos. Se houver um conflito entre os desenvolvedores por uma questão técnica, eles decidem o que fazer. Se as coisas estão atrasadas, eles decidem como lidar com isso. Eles são responsáveis ​​por garantir que as pessoas cobrem seu tempo para projetar, que mais horas sejam solicitadas conforme necessário, que novas tarefas sejam atribuídas, que revisões de código sejam feitas (como sênior eu posso fazer as revisões de código) etc. Geralmente sou designado para as tarefas mais difíceis. Como veterano, sou consultado e devo orientar os juniores. Os líderes técnicos também fazem tudo isso, mas eles têm o poder de decisão e a responsabilidade pelo sucesso geral do projeto. No último ano, sou responsável apenas pela minha parte do projeto.

HLGEM
fonte
2

Pode haver muitos pontos de vista diferentes, como Jonathan menciona acima.

Como desenvolvedor sênior, você pode definir as decisões de arquitetura para seu grupo e atuar como representante de sua equipe para reuniões de grupo de desenvolvimento de nível superior. Você também pode servir como mentor e dirigir as atividades técnicas dos membros da sua equipe.

Freqüentemente, você também pode ser um contato com o gerenciamento de projetos e com os usuários de negócios. Você ajudará a decidir como e quando entregar as entregas do projeto e poderá ter a oportunidade de negociar as prioridades dos itens do projeto a longo prazo.

Em resumo, sua função é o que você escolhe fazer, tendo em vista os limites estabelecidos por seu próprio gerenciamento (técnico e comercial).

JW8
fonte
2

Outras pessoas abordaram o aspecto básico de liderança desta questão, então tentarei focar meus pontos nas perguntas diretas:

(a) O que se espera de um desenvolvedor web sênior / líder de uma organização (independentemente do tamanho)?

Eu esperaria um indivíduo com um caráter forte e uma base de conhecimentos técnicos. Eu esperaria que alguém que não apenas destruísse as idéias, mas propusesse novas idéias para substituir as que consideram deficientes. Eu esperaria alguém que não incentive ou intimide desenvolvedores subordinados, mas tente encontrar maneiras que motivem, ensinem e guiem cada indivíduo. Eu esperaria alguém disposto a assumir a responsabilidade e a propriedade de projetos, conceitos e decisões. "Yes-men" e "wall flowers" não precisam ser aplicados. Um líder / líder precisa ser capaz de lidar com as pessoas com a mesma eficácia que ele faz com o código ... possivelmente ainda melhor em alguns casos.

(b) Existe uma diferença entre líder de desenvolvimento web e desenvolvedor web sênior?

A principal diferença que observei é de escopo, e nunca a vi escrita em lugar algum. Um lead normalmente é responsável pela produtividade de uma única equipe. Um idoso pode ser responsável por várias equipes, uma única equipe ou nenhuma equipe. Espera-se que um lead ajude seus desenvolvedores subordinados a atingir seus objetivos no escopo de um projeto ou atribuição específica. Por subordinado, quero dizer simplesmente desenvolvedores que foram designados para um projeto pelo qual o líder é tecnicamente "responsável". Descobri muitas vezes que sou o líder em projetos em que vários desenvolvedores são iguais ou têm mais antiguidade do que eu, portanto, não é certo que o líder seja o membro mais "sênior" da equipe. Dado esse escopo, um desenvolvedor sênior é alguém com quem toda a organização pode contar para ter o conhecimento e a experiência necessários para ajudar alguém. Espera-se que um sênior seja um modelo (como alguém disse) para qualquer desenvolvedor da organização e também ajude os desenvolvedores juniores com problemas técnicos.

Em resumo, para mim: um lead ajuda. Um senior ensina.

Joel Etherton
fonte
2

Os desenvolvedores web sênior podem ser vistos como a pessoa que pode resolver um problema, encontrar várias soluções e implementar o melhor por conta própria. O exército de uma pessoa em um sentido. Mentor desenvolvedores juniores para ajudar a melhorar o desempenho geral da equipe. Também pode ser usado para aproveitar a experiência em vários pacotes de software, já que se espera que o mais velho realmente saiba algo melhor do que outros desenvolvedores em alguns casos. Geralmente, as habilidades que o desenvolvedor se acostuma para obter o benefício máximo, que pode ser uma combinação de mentoria, consultoria, codificação, design e criação de processos.

Os principais desenvolvedores da web podem vir de várias formas diferentes para mim. O líder de uma equipe é o chefe administrativo e é quem fará uma revisão geral do desempenho, esteja ciente de quais projetos um desenvolvedor está alocado e lidará com alguns documentos, além de ser um desenvolvedor assim que estiver pronto. Há também a liderança para um projeto que é onde o foco da pessoa é muito mais restrito, pois é justamente nesse projeto que essa pessoa tem a responsabilidade de impor padrões e práticas dentro da equipe. Portanto, há a pergunta: qual é a liderança realmente liderando? Um projeto ou um grupo de desenvolvedores de uma perspectiva administrativa?

JB King
fonte