CodeGym /Blogue Java /Random-PT /Como é ser um desenvolvedor sênior. Um breve guia para o ...
John Squirrels
Nível 41
San Francisco

Como é ser um desenvolvedor sênior. Um breve guia para o papel

Publicado no grupo Random-PT
Tradicionalmente, na indústria de tecnologia, os desenvolvedores são divididos em quatro graduações com base em seus níveis de qualificação: Júnior, Médio, Sênior e Líder de Equipe. Em dois artigos anteriores, já cobrimos todos os fundamentos de como é ser um desenvolvedor júnior e de nível médio . Agora é hora de passar para a próxima gradação. Desenvolvedor Sênior, como é ser um e como o Sênior é diferente de um codificador Mid-Level? Vamos descobrir. Como é ser um desenvolvedor sênior.  Um breve guia para a função - 1

Quem é um Desenvolvedor Sênior?

Nesses artigos sobre profissões e especializações em desenvolvimento de software sempre temos que fazer algum tipo de disclaimer, explicando que a percepção e compreensão de um determinado cargo pode variar muito, dependendo da empresa, do setor em que atua, e outros fatores . Algumas pessoas, principalmente aquelas que tendem a ser um tanto conservadoras, acreditam que você só pode se chamar de Sênior se tiver mais de 10 anos de experiência em codificação, o que é responsável. Ou seja, apenas os anos em que você estava realmente codificando como um funcionário em tempo integral contam, você não pode começar a contar a partir de quando tentou programar no Basic aos 12 anos de idade (como muitos programadores jovens tendem a fazer, irritando programadores seniores reais ). Sendo menos conservador, muitas pessoas acreditam que mais de cinco anos de trabalho em tempo integral como desenvolvedor de software permitem que você se considere um sênior. Por outro lado, anos de experiência são apenas um número, o que realmente importa é o conhecimento, as habilidades e a experiência aplicável. É aqui que você realmente precisa entregar para merecer o título Sênior, porque o Desenvolvedor Sênior costuma ser visto como um assistente de codificação todo-poderoso e onisciente. Na percepção da gerência, normalmente o Sênior é aquele que sabe como resolver qualquer tarefa relacionada ao projeto ou como escrever o código necessário. Mas uma das funções mais importantes de um desenvolvedor sênior em um projeto específico de desenvolvimento de software é o conhecimento do próprio projeto com todas as suas questões, necessidades, nuances e assim por diante. Ser capaz de trabalhar de forma autónoma é uma qualidade importante de um Sénior. Isso significa que o Sênior sabe o que e quando fazer, e não precisa de supervisão para realizar o trabalho que se espera dele. E esta é uma qualidade bastante valiosa aos olhos de qualquer empregador, pois significa que você pode dar a este desenvolvedor uma tarefa relacionada ao projeto e deixar todo o resto para ele. Com “todo o resto” sendo: descobrir necessidades, requisitos e limitações para a tarefa a ser concluída, apresentar a abordagem correta, encontrar instrumentos adequados, dividir a grande tarefa em tarefas menores e entregá-las aos níveis intermediário e júnior Desenvolvedores, etc. Há outro aspecto importante que diferencia os codificadores seniores dos codificadores de nível médio e júnior. Está no código que eles escrevem e na maneira como o fazem. Senior normalmente é e deve ser aquele que escreve o código mais claro, simples e conciso. Às vezes, na medida em que esse código parece excessivamente direto e primitivo básico. Isso ocorre porque o Senior precisa considerar não apenas a conclusão da tarefa como resultado final, mas o efeito geral do novo código na base de código do projeto. Os desenvolvedores seniores escrevem seu código tendo em mente a capacidade de manutenção e a escalabilidade, e essa é sua principal força, que só pode vir com experiência e nada mais.

Quais são as responsabilidades de um Desenvolvedor Sênior?

Agora vamos falar mais detalhadamente sobre algumas das responsabilidades mais comuns e padrão de um Desenvolvedor Sênior, focando naturalmente nas responsabilidades típicas de programadores Java.
  • Identificar e analisar os requisitos do usuário;
  • Priorizar, atribuir e executar tarefas de codificação;
  • Desenvolvimento de aplicações Java;
  • Revisão do trabalho de código quanto à precisão e funcionalidade;
  • Analisar segmentos de código regularmente;
  • Manter-se atualizado com as novas tecnologias e ensinar aos desenvolvedores juniores como usá-las;
  • Gerar ideias e soluções relacionadas ao ciclo de desenvolvimento com outros membros da equipe;
  • Assumindo a responsabilidade geral por todo o trabalho de desenvolvimento e código do projeto.

Requisitos para um Desenvolvedor Sênior

Aqui está uma lista dos requisitos mais comuns e típicos para um Desenvolvedor Sênior que você deve atender para conseguir este trabalho. Obviamente, os requisitos variam dependendo das políticas de contratação da empresa, tecnologias usadas no projeto e sua linguagem de programação.
  • Amplo conhecimento geral de desenvolvimento de software e suas tecnologias;
  • Fortes conhecimentos de Java;
  • Experiência em projetar, construir e testar aplicações corporativas;
  • Conhecimento profundo de frameworks Java populares como Spring, Spring Boot ou Java EE, JSF e outros;
  • Experiência com Design Orientado a Objetos (OOD).
Esses são apenas requisitos básicos relacionados à programação, mas ter conhecimento técnico muitas vezes não é suficiente para conseguir o emprego de Desenvolvedor Sênior, pois existem tantas outras habilidades importantes que compõem um Sênior forte. Aqui estão alguns requisitos não técnicos comumente mencionados para o desenvolvedor sênior.
  • Boa capacidade de delegação e gestão do tempo;
  • Habilidades de resolução de problemas;
  • Boas habilidades de comunicação;
  • Fortes habilidades de comunicação escrita e verbal;
  • A capacidade de cumprir prazos e pensar estrategicamente.

Quanto ganha um Desenvolvedor Sênior?

Como você deve saber, quando se trata de salários para trabalhos de codificação nos EUA, para um Desenvolvedor Sênior experiente, o céu é um limite, já que gigantes como Google, Facebook, Amazon, Apple e Microsoft estão pagando MUITO aos engenheiros de software . Por exemplo, no Google, um engenheiro de software no nível 7, considerado o mais alto que você pode obter como desenvolvedor, pode ganhar US$ 608.000 por ano. Mas vamos passar por números médios. De acordo com a Glassdoor , o programador sênior médio nos EUA ganha cerca de US$ 121.000 por ano, o que é consideravelmente maior em comparação com o salário de um programador de nível médio de US$ 71.000 por ano e o salário médio de US$ 63.502 por ano que os desenvolvedores juniores ganham nos EUA. um relatóriopor PayScale, um desenvolvedor sênior com 10 a 19 anos de experiência ganha uma remuneração total média de $ 109.122 com base em 5.523 salários. No final da carreira (20 anos ou mais), os funcionários recebem uma remuneração total média de US$ 111.432. Na Alemanha , de acordo com a PayScale, um desenvolvedor de software sênior com mais de 10 anos de experiência ganha uma remuneração média total de € 63.638. Na França, o salário médio de um Sénior é de 54.982€. Como sempre, quando se trata apenas de números, os programadores americanos estão à frente de seus colegas na Europa e em outros lugares. Outro ponto interessante a ser observado é que os programadores seniores na América ganham significativamente mais do que os programadores de nível médio. Talvez isso seja melhor explicado com a suposição de que a maioria dos codificadores seniores realmente profissionais e experientes nos EUA trabalha para gigantes da tecnologia americanos, que são os líderes mundiais em gastos com força de trabalho de software.

Perspectivas de carreira

Quando se trata de perspectivas de carreira, os Desenvolvedores Sênior definitivamente as têm. Mas o engraçado é que a maioria deles não está realmente procurando por nenhum. Cargos como Líder de Equipe e Líder Técnico estariam entre as principais opções a serem buscadas ao atingir o nível Sênior. Bem como várias opções em gerenciamento de tecnologia. Com provavelmente os cargos de CTO e CEO de uma empresa de tecnologia como as maiores conquistas possíveis na carreira de um desenvolvedor sênior. O CTO é mais realista, é claro, já que mesmo na indústria de tecnologia, a maioria dos CEOs de fato não tem ou tem formação técnica muito limitada.

Como é ser um Desenvolvedor Sênior. Opiniões

Naturalmente, quando se trata da posição de Desenvolvedor Sênior em geral, a maioria das discussões tende a se concentrar em dois tópicos principais sobre os quais os desenvolvedores desejam debater: o que realmente faz de você um Desenvolvedor Sênior e quando você pode começar a se chamar de Sênior. “Isso pode surpreender algumas pessoas, mas os cargos de nível sênior sempre pedem que os candidatos tenham entre 5 e 8 anos de experiência. Houve alguns que pediram 10 anos ou mais, mas não muitos. Como Desenvolvedor Sênior, uma empresa espera que você seja capaz de ter uma ideia vaga, especificá-la, planejar o desenvolvimento, envolver uma equipe e segui-la até a conclusão. Considerando que, geralmente, espera-se que um desenvolvedor intermediário execute, sem supervisão, as tarefas individuais atribuídas a ele, trabalhe em equipe e realize alguma orientação.compartilha sua opinião. “Com um desenvolvedor sênior, posso fornecer um objetivo de alto nível/mais vago e eles podem especificá-lo, criar um plano de execução, executá-lo por mim e implementá-lo com o mínimo de controle. Então, quando você se sente confiante de que pode pegar uma ideia vaga e levá-la totalmente à conclusão, você é um desenvolvedor sênior. Observe que isso não significa que você nunca peça ajuda, porque todo mundo pede de vez em quando, mas você pode conduzir o processo sem que eu tenha que cuidar de você”, diz Eric Wise, cofundador e CEO da Wise Telemetry. E vamos encerrar com esta citação muito boapor Pablo Oliva, um desenvolvedor de software experiente da Alemanha: “Os desenvolvedores seniores com quem trabalhei pareciam ter um enorme cinto de ferramentas, por assim dizer. Sempre que surgiam problemas, eles tinham muitos recursos a quem recorrer. Eles conheciam muito bem as ferramentas e linguagens que usamos no dia a dia, e sabiam onde procurar quando não sabiam algo (existe uma diferença entre pesquisar no Google sem rumo e ir para a página de manual certa na primeira tentativa). Esse conhecimento de velhas soluções e proficiência em buscar novas soluções os tornavam muito respeitados por seus pares, que frequentemente os procuravam em busca de sugestões. Eles também, por sua vez, saberiam quando parar de procurar por si mesmos e pedir ajuda a um colega. Alguns tinham certificações, outros não. Alguns se formaram, outros não. Mas eles sempre foram um ponto de referência para suas equipes (e até mesmo para pessoas de outras equipes, para alguns desenvolvedores seniores particularmente espetaculares). Então, quantas pessoas pensam em pedir ajuda quando ficam presas?”
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION