1. Introdução
Atualmente o que mais tem chamado a atenção das pessoas sobre programação é os altos salários pagos para os profissionais que se destacam e a quantidade de vagas disponíveis, que parece estar aumentando cada vez mais. Muitas pessoas acabam atraídas para a área de Tecnologia da Informação devido a propagandas falsas que vendem a ambição de ganhar muito sem precisar de muito esforço. Na internet e nas plataformas digitais, o que mais se encontra são cursos de programação que prometem conhecimento rápido que já capacite o aluno para o mercado de trabalho em poucos meses de estudo, isso acaba gerando um problema que poucos conhecem: Mão de obra incapacitada. Nas empresas que trabalhei muitos profissionais eram contratados apresentando em seus currículos que tinham nível Junior ou até mesmo Pleno como programadores, porém na hora de realizar as tarefas do dia a dia, não conseguiam evoluir devido a falta de capacitação e domínio do assunto.
Esse é um dos principais problemas atualmente e que ainda mantem a área de TI com muitas vagas disponíveis: O mercado está saturado de profissionais que se dizem capacitados, mas que não o são, mantendo ainda a saturação de vagas. A carreira de um profissional de T.I é construída ao longo de anos de dedicação, as pessoas precisam entender que a tecnologia evolui mais rápido do que se consegue documentar, ou seja, o curso que você compra hoje, já pode não servir para dali a 6 meses ou 1 ano.
Para crescer é necessário se atualizar sobre novas tecnologias, e desenvolver um perfil adaptativo, que sempre está evoluindo com as novidades. O estudo diário e constante é necessário pois o profissional que parou de se atualizar e aprender fica para trás. Claro dentre todos esses pontos aqui apresentados, varia-se muito os atributos de cada carreira e ramo. Desde programadores até gerentes, na minha visão o estudo constante é fundamental. A carreira de um profissional de TI pode ser divida em duas grandes categorias: Ambiente Corporativo, Academia e Pesquisa.
2. Academia e Pesquisa
O profissional que deseja seguir carreira na academia, seja como professor de computação ou pesquisador, encontrará diversas áreas de atuação que envolve problemas de aplicação cotidiana. Nas Universidades as áreas de pesquisa mais comuns são: Processamento Digital de Imagens, Sistemas Operacionais, Computação Gráfica, Inteligência Artificial, Banco de Dados.
Um pesquisador é o profissional que irá desenvolver e propor soluções inovadoras para problemas comuns do dia a dia, por exemplo: Algoritmo que auxilia no diagnóstico de câncer de mama, Segmentação de imagens de plantações para identificação de ervas daninhas, Detecção de padrões, Reconhecimento Facial, Inteligência Artificial, etc...
Como todo cientista, seu trabalho consiste na pesquisa de artigos científicos e literaturas relacionadas, esse profissional irá atuar de forma direta na avaliação dos métodos tradicionais e métodos modernos, propondo novas publicações em eventos de computação. Dependendo da área de atuação, o profissional poderá trabalhar como pesquisador em universidades ou faculdades particulares, ou como professor de ensino superior.
3. Ambiente Corporativo
Já para aqueles que desejam seguir carreira em ambiente corporativo, encontrará diversos desafios diretamente relacionados com os problemas e produtos da empresa que foi selecionado. Geralmente esse profissional irá trabalhar em uma equipe formada por diversos outros analistas cujo papel é desenvolver ou evoluir um produto digital. As grandes empresas atualmente lidam com times denominados Squads que são responsáveis pelo desenvolvimento e evolução dos produto. Bancos como Itaú, Nubank, Bradesco são empresas onde praticamente todos os seus produtos são financeiros e digitais.
Uma Squad geralmente é formada por: Um Product Owner, Scrum Master, Desenvolvedores de diferentes níveis(Júnior, Pleno, Sênior), Tech Lead, Arquiteto de Software, Gerente de Projetos, QA - Quality Analist, SRM(que lida com infraestrutura ou automação). Cada um desses profissionais possui um papel bem definido dentro do time, esse participa diretamente do ciclo de vida do desenvolvimento de uma aplicação.
O ciclo de vida de desenvolvimento de um software depende muito da política de cada empresa e da metodologia de desenvolvimento , tem empresas que possuem uma política rigorosa e um processo específico em que todos os times precisam seguir, já outras são mais flexíveis e delegam essa responsabilidade para que cada Squad proponha a melhor forma de trabalho, desde que esteja alinhada com os padrões da empresa.
Após a pandemia do Corona Vírus, muitas empresas aderiram ao regime Homeoffice permanentemente, mas ainda sim há aquelas que exigem o regime presencial ou híbrido. O profissional de TI encontrará diversas oportunidades conforme suas necessidades e objetivos.
4. Certificados
Muitas organizações exigem que seus profissionais se especializem em uma tecnologia específica ou ferramenta por meio dos certificados. Alguns exemplos comuns são de empresas que exigem certificações Java, AWS e Oracle para seus profissionais.
No meu ponto de vista a certificação somente agrega conhecimento especializado para o profissional, porém quando comparado com o tempo, esforço e custo necessário para tirá-la, acaba se tornando desvantajosa. Uma pessoa que tira certificação por exemplo Java 21, será extremamente capacitado para atuar com essa tecnologia, porém como mencionado anteriormente, assim que for lançado a próxima versão atualizada da tecnologia já estará desatualizado.
Em resumo uma certificação de alguma tecnologia ou ferramenta vale a pena apenas quando se deseja especializar-se e conhecer a fundo como a ferramenta funciona, porém não é vantajosa se for levar em conta o conhecimento e capacitação de longo prazo pois como já dito, a tecnologia evolui constantemente.
5. Carreira
Na grande maioria dos programadores sejam Backend, FrontEnd dentre outros, possuem um plano de carreira divido conforme o diagrama abaixo:

Descrição
- Trainee: O profissional que está aprendendo os aspectos básicos da linguagem de programação e das tecnologias do mercado, geralmente está associado a um programa de estágio e capacitação e que não tem nenhuma experiência na área.
- Junior: O profissional que já conhece os aspectos básicos da linguagem de programação e das tecnologias utilizadas no mercado de trabalho e que possui pouca experiência, geralmente precisa ser acompanhado por um tutor mais experiente que irá explicar e ajudar nas demandas e requisitos.
- Pleno: O profissional que já possui mais experiência técnica, e que está começando a desenvolver um perfil mais independente na hora de entender os requisitos e resolver problemas.
- Sênior: O profissional que possui ampla experiência, e que consegue ser independente na hora de participar de todas as etapas do ciclo de vida de desenvolvimento. Possui mais responsabilidades, como fazer entrega das atividades, participar ativamente de definições de requisitos técnicos e atuar como líder e tutor de outros desenvolvedores
- Tech Lead "Especialista" Esse profissional atua de forma híbrida, sendo responsável por levantar os requisitos técnicos e escrita da solução. Possui muita experiência em diversas aplicações e tem um perfil de liderança.
- Arquiteto: Possui ampla experiência em diversas tecnologias e ferramentas que auxiliam na solução global de um produto ou ferramenta, é responsável por definir padrões, princípios e boas práticas. Também e responsável por decisões de uso de ferramentas que monitoram e auxiliam na gestão do aplicativo.
- Gerente de Projetos: Responsável por acompanhar, gerenciar, medir e organizar todos os aspectos de um projeto de software, desde o seu escopo até sua entrega final. Esse profissional não lida diretamente com programação, sendo um perfil mais gerencial e de líder, ele faz a ponte entre o time de desenvolvimento com outras áreas da empresa como área de negócio, definição de prazos, cronograma alocação e gestão de recursos, entre outros.