Os níveis de um programador

douglasabnovato
12 min readNov 29, 2022

Nos últimos dois anos o mundo da programação está vivendo maravilhas na sua audiência e ofertas de vagas, empresas oferecendo lugares legais de trabalhar. Além disso, tecnicamente, oportunidades interessante sendo ocupadas por jovens profissionais. Aí entramos em um tema interessante, como determinar os níveis profissionais.

Níveis profissionais

Conheço os níveis de estagiário, trainee, júnior, pleno e sênior. E então entramos no debate sobre o tema, essa divisão deveria acontecer a partir do critério de tempo de experiência ou responsabilidades assumidas ou saber fazer coisas mais complexas, ou todas as três.

Pesquisando alguns textos sobre o tema, encontrei algumas abordagens interessantes para discutirmos aqui.

Como acontece em toda área de atuação, em programação também há diferenças de níveis de profissionais para classificar as habilidades e responsabilidades do cargo.

Acredito que essa definição é muito simples quando trazemos para o ambiente real de trabalho mas serve como um checklist inicial para separação e atribuição de responsabilidades no início.

Existe uma certa lógica que representa esse modelo para orientação para termos referências quando estamos conversando, classificando os profissionais em cada um dos níveis de acordo com suas qualificações, tempo de experiência e postura profissional.

os níveis

O primeiro nível seria o de estagiário ou estudante pois acredito que programação permite adquirir conhecimento e prática sem estar realizando os tradicionais cursos e suas práticas.

O segundo nível é o trainee, de tempo de experiência de 2 anos a 2 anos e meio, onde a formação de graduação é para recém graduado, assumindo responsabilidades de tarefas de pequena a média complexidade em áreas específicas e elaboração de projetos sob supervisão.

O terceiro nível é o júnior, de tempo de experiência até 5 anos, onde a formação para recém graduado, assumindo funções de procedimentos simples ou que não exigem profundo conhecimento em um ramo de atuação.

O quarto nível é o pleno, de tempo de experiência de 6 a 9 anos, onde a formação com pós graduação, assumindo atividades específicas que exigem profundo conhecimento e confiança para tomadas de decisões endossadas por um superior.

O quinto nível é o sênior, de tempo de experiência a partir de 10 anos, onde a formação com pós graduação e exercendo responsabilidades de gestor, assumindo confiança para tomadas de decisões, age de forma autônoma, com base no conhecimento e experiências adquiridas ao longo da carreira. Além de gestão de projetos e de pessoas.

O último nível da carreira de programador seria a master, de tempo de experiência a partir de 15 anos, onde a formação é pós graduação mais experiência de gestor e mais certificações. Atuar no processo de supervisão ou por demandas e gerir projetos e negócios, além de possuir autonomia plena.

Essa separação citando o tempo e as habilidades é muito interessante para termos referências para as posições ocupadas durante o plano de carreira.

O júnior, está em fase de aprendizado, realizam atividades sem muita complexidade e com maior prazo de tempo, os profissionais pleno, precisam assumir praticamente qualquer atividade, a única diferença é que nas atividades de maior exigência eles são acompanhados profissionais com mais experiência, o sênior, por sua vez, recebe atividades difíceis e com pouco prazo de execução, a responsabilidade é extrema, sem chance para os erros.

E com mais responsabilidades e exigências vem a melhoria da remuneração. Com a mudança de cargo, o aumento salarial acontece, porém, as responsabilidades também precisam acontecer. Estar em um nível superior exige comprometimento e determinação.

A referência quanto ao tempo é uma sugestão que pode ser atendida, pode não ser atendida ou até mesmo superada. Como podemos ter profissionais assumindo maiores posições em menores intervalos de tempo, também podemos ter profissionais que não conseguem passar de nível, não evoluíram o suficiente para a transição de cargo.

O objetivo desse artigo é clarearmos o caminho a seguir e como consolidar cada nível de forma a permitir passar para o próximo nível.

Acredito que aprender sobre demanda dentro de um contexto de prática e teoria andarem juntos para a habilidade ser adquirida conforme os problemas que surgirem.

adquirir habilidades

um desenvolvedor de software faz

O desenvolvedor de software é a pessoa responsável por criar aplicações para dispositivos computacionais. Quem trabalha nessa área pode atuar nos mais diversos projetos, como: Sistemas operacionais, Sites e páginas da web, Ferramentas de gestão, Softwares de escritório, Jogos digitais, Aplicativos mobile e Aplicativos web.

Seu trabalho envolve a concepção, especificação, programação, testes, implementação e manutenção das aplicações. Existem diferentes metodologias de trabalho para organizar essas etapas, entre elas o modelo linear em cascata e o modelo iterativo das metodologias ágeis.

O profissional precisa também conhecer as linguagens e tecnologias usadas no desenvolvimento, de acordo com a sua área de especialidade, como front-end, back-end, desktop e outras, que vamos conhecer mais adiante.

trajetória de habilidades

Encontrei uma definição interessante de distinção entre os dois termos mais usados para a profissão, programador ou desenvolvedor. O desenvolvimento de softwares envolve todo o processo, que inclui diversas etapas. Já a programação, que é apenas uma das etapas do desenvolvimento, é a codificação das aplicações, que dá vida ao projeto.

sua especialidade

Existem diferentes áreas de especialidade para uma pessoa desenvolvedora de softwares. Cada área exige diferentes conhecimentos em linguagens, tecnologias e sistemas operacionais, por isso os profissionais tendem a escolher uma especialidade para se aprofundar.

desenvolvedor front-end

é responsável pelo desenvolvimento da interface com o usuário. Trata-se da parte visível de um site ou aplicação, com a qual as pessoas podem interagir. Também é chamada de lado do cliente (ou client-side).

O desenvolvimento deve traduzir o design de páginas em códigos que os navegadores interpretem e transformem em elementos de interação com as pessoas usuárias.

desenvolvedor back-end

é responsável pelo desenvolvimento da estrutura interna de uma aplicação. É a parte que recebe as requisições dos usuários, faz a comunicação com o banco de dados e devolve as informações. Também é chamada de lado do servidor (server-side).

O back-end é quem dá funcionalidade aos recursos do site, de maneira que as pessoas usuárias possam enviar e receber as informações que desejam.

desenvolvedor full-stack

é aquele que trabalha tanto com o front-end quanto com o back-end. Portanto, envolve o fluxo completo da aplicação, desde a conexão com o banco de dados até a criação da interface gráfica.

Há outras nomenclaturas para especificar as diferentes especialidades do desenvolvedor mas acredito que essas três são as principais e podem se especializar conforme o cenário de atuação na empresa ou em seus projetos.

Por exemplo, iniciei como desenvolvedor frontend web completando as habilidades de backend e mobile focando em criar aplicações para serem usadas em desktops, tablets e em smartphones.

o dia a dia do desenvolvedor

rotina de programador

Desenvolvedores estão sempre envolvidos em projetos de aplicações para a sua própria empresa ou para clientes, seja como empregado, seja como autônomo.

Os projetos são divididos em etapas, que são organizadas conforme a metodologia de trabalho utilizada.

A metodologia em cascata (Waterfall) trabalha com uma abordagem linear — ou seja, uma etapa depois da outra, baseadas em um planejamento inicial, reuniões de acompanhamento e avaliação final.

Já a metodologia ágil (Agile) tem sido predominante no desenvolvimento de softwares atualmente, por se alinhar ao ritmo acelerado do mercado.

Trata-se de uma abordagem não-linear e iterativa, baseada nos feedbacks dos usuários e reuniões diárias rápidas para compartilhar com a equipe o andamento das tarefas.

Portanto, o dia a dia dos desenvolvedores pode variar de acordo com as metodologias.

Mas, de maneira geral, as atividades dos projetos são estas:

Planeja o desenvolvimento e coleta informações

É preciso entender o que o cliente deseja e quais problemas precisa resolver. A partir dessas informações, o desenvolvedor pode definir os requisitos do software e as especificações que atendam às necessidades do cliente.

Desenvolve o software protótipo

É uma versão inicial do sistema, que serve para identificar internamente os ajustes e melhorias, antes de testar a aplicação no ar.

Testa e ajusta as falhas encontradas

Depois dos ajustes, o desenvolvedor parte para a etapa de testes, que são realizados com um produto mais avançado. Na metodologia ágil, é chamado de produto mínimo viável (MVP), que contém os requisitos mínimos para lançar o software, receber o feedback do mercado, fazer os ajustes e lançar novamente — e assim por diante, em ciclos, até a implementação.

Mantém a aplicação funcionando e realiza manutenções

Quando a implementação é consolidada e entregue ao cliente, o trabalho do desenvolvedor ainda não termina. É seu papel também manter o software funcional para os usuários, o que demanda avaliações e manutenções periódicas.

ser um desenvolvedor

habilidades

Trabalhar como desenvolvedor de software requer uma série de habilidades, não apenas técnicas, mas também comportamentais — um equilíbrio entre hard skills e soft skills.

Habilidades técnicas do desenvolvedor de software

Identificado qual área deseja seguir, sugiro pesquisar por roadmap da área escolhida e isso te mostrará uma trilha de conteúdo para dominar. Acredito que separar em matérias e andar sempre com teoria e prática de todo o conteúdo.

Habilidade comportamentais do desenvolvedor de software

A pessoa desenvolvedora de software também deve apresentar algumas habilidades comportamentais, emocionais e sociais, que chamamos de soft skills.

São qualidades não-técnicas que fazem parte do perfil comportamental das pessoas e que não dependem apenas de um treinamento para serem aprendidas, mas que podem ser aprimoradas. A área de tecnologia, embora tenha um perfil bastante técnico, também demanda essas habilidades nos relacionamentos interpessoais.

Vamos ver agora quais são as principais soft skills para um(a) desenvolvedor(a): Capacidade de resolução de problemas, Atenção aos detalhes, Comunicação, Espírito de equipe, Pensamento crítico e Automotivação.

construir um portfólio

Principalmente para quem está começando, construir um portfólio será interessante para saber conversar sobre as habilidades que estão sendo estudadas e praticadas e então, explicadas e demonstradas com os projetos em momentos de entrevistas ou com outros amigos de carreira.

Quando já tiver conhecimentos um pouco mais consolidados, você pode oferecer esse serviço como freelancer, em negociação direta com os clientes ou por meio de plataformas. Assim, você começa a exercitar as habilidades com clientes reais para fortalecer seu portfólio.

Gosto da tríade github, linkedin e linktree. Onde o github para programar e deixar nossos códigos, o linkedin para fazer conexões com outros profissionais a frente na carreira, no mesmo momento ou aqueles que estão em etapas que já passou. E o linktree para demonstrar os links das aplicações que você tem terminado para seus amigos utilizarem.

quanto ganha

O salário médio de um desenvolvedor de software no Brasil é de R$ 4.450 por mês, de acordo com o site Glassdoor.

remuneração

Mas você pode ver abaixo como a média salarial varia à medida que o profissional evolui na carreira: Estagiário: R$ 1.526, Junior: R$ 3.849, Pleno: R$ 5.920 e Sênior: R$ 9.083.

Plano de carreira

Até aqui vimos “todo” o universo da carreira de programador. Agora quero desenhar um plano para esclarecer o que fazer e quais os pontos que passaremos e os itens que deveremos superar para caminhar nessa jornada.

Para desenhar um plano de carreira acredito ser importante visualizar as particularidades da área tech: como é, quais os objetivos e benefícios, tipos de plano de carreira e como estruturar com base nos desafios do setor de tecnologia.

Existe o desafio do profissional de construir uma carreira massa e que gere retorno financeiro maneiro para realizar experiências boas de vida. A partir disso, acredite que também é um desafio para os RHs ter profissionais bons em suas equipes e por isso, devemos tem carinho com nossa carreira.

Os RHs querem reter talentos de alta performance, encontrar novos talentos, estimular talentos são grandes desafios para os times de RH da área tech. E isto não somente em função da alta procura por profissionais.

As próprias pessoas esperam mais das empresas do que apenas salários, ainda que o fator monetário seja bastante relevante. Elas esperam novas experiências, oportunidades, aprendizado.

O plano de carreira é a estratégia corporativa que desenha qual será o desenvolvimento profissional de um colaborador ao longo de sua jornada. Para isso, é importante contar com um plano de cargos e salários, transparecendo tanto as funções de cada função quanto os requisitos necessários para avançar na carreira.

Acredito que ter um plano de carreira individual e fazer uma autogestão, iremos estimular uma cultura de aprendizado e o desenvolvimento de Soft Skills e Hard Skills. Conforme conquistamos e realizamos etapas importantes, determinamos um prazo para consolidar e então partimos para novas realizações e superações.

Meu objetivo é ter experiências de trabalho e experiências mais significativas que se encaixem em propósitos de vidas pessoais e metas profissionais.

O plano de carreira é a estratégia de como cada pessoa se desenvolverá em sua jornada corporativa. Para isso, porém, é importante que as empresas disponham de planos de cargos e salários, ou seja, um mapeamento de como é o caminho, vertical e horizontal.

O objetivo do plano de carreira é orientar as pessoas sobre os possíveis caminhos que percorrerão dentro da empresa e organizar os processos internos.

Plano de carreira em Y

apresenta uma bifurcação a partir da aquisição de senioridade. Assim, ao invés de colocar cargos de gestão como o fim de cada carreira, oferece que as pessoas sigam também o caminho de especialistas em sua área.

O ponto positivo do plano de carreira em Y e a razão pela qual vem conquistando empresas do setor tech é que ele motiva o desenvolvimento de pessoas que, muitas vezes, não possuem características ou desejo de seguir com a gestão de times. Portanto, permite o crescimento independentemente do perfil da pessoa.

Plano de carreira em W

Que as empresas cada vez mais buscam por profissionais multidisciplinares já comentamos algumas vezes. Mas há uma forma de reconhecer também esses profissionais, sem que eles tenham que seguir sua carreira no formato em linha ou em Y.

O plano de carreira em W acrescenta um novo caminho. Além da liderança e da especialidade, caminhos da carreira em Y, a pessoa também pode seguir o caminho da gestão de projetos. Ou seja, ela atuará como uma consultora técnica.

Montar um plano de carreira

Aposte no crescimento e ofereça uma experiência de valor. Quando a empresa reconhece e estimula o desenvolvimento, ela fideliza seus colaboradores e colaboradoras e cresce com eles.

O setor de tecnologia está em constante mudança. Novos cargos surgem, novas oportunidades de atuação.

Para escrever esse texto gostei muito das referências a seguir.

Um plano de carreira

Acredito que ser estagiário, ser júnior, ser pleno. Atuar como líder de equipe de desenvolvimento, aprender inglês, conversando em reuniões e escrevendo e-mails e relatórios.

Oferecer um ou dois projetos para clientes de forma autônoma. Conquistar uma vaga para uma empresa de forma remota e então, atuar em uma vaga para uma empresa estrangeira.

Acredito que além da trajetória que citei nesses dois parágrafos anteriores posso adicionar o de ministrar treinamentos técnicos, dar palestrar e aplicar aulas como forma de compartilhar conteúdo e demonstrar a habilidade de apresentação e comunicação termina uma carreira massa de desenvolvedor.

Realizar esse ciclo que desenhei, chegar a uma vaga remota em uma posição de pleno ou sênior, ter um aplicativo rodando para alguns clientes, dar palestrar e ministrar aulas é o meu plano de carreira.

Vou deixar o link dos meus perfis do github e do meu instagram.

Esse texto ficou maior que planejei mas acredito ter falado tudo que gostaria e ter esclarecido algumas dúvidas que eu estava de como ter o meu plano de carreira.

Um último ponto é que esse plano não precisa ser rígido. Se conheça e esteja aberto a desafios. As vezes surge uma oportunidade que você acredite ser massa mas não estava nos planos que possa encaixar super bem no contexto da sua vida.

Deixe um aplauso, espero que tenha gostado e leia muito.

--

--