O Caminho para se Tornar um Exímio Desenvolvedor: Muito Além da Programação
- #Desperte o potencial
Estou estudando programação! Após a certificação, que profissional serei? Um programador, um desenvolvedor de sistemas ou ambos? Por qual caminho devo seguir? Este artigo se propõe a discutir essa temática tão em voga no momento atual.
Até poucos anos atrás, a formação tecnológica que se buscava nas academias era a carreira de programador. Desenvolver códigos em uma ou pouca outra linguagem de programação que existia era o sonho de muitos.
Saber escrever códigos complicados para aplicativos desktop era estar no alto da fama e com emprego garantido nas empresas e centros de negócios.
Mas logo surgiram as mudanças e com elas, novas linguagens de programação se multiplicaram, resultado do surgimento de novas tecnologias proveniente de um mercado global ávido por resultados e lucros. A concorrência se tornou infernal. Empresas e mais empresas surgiam com novas linguagens competindo num mercado global de oportunidades.
Mas afinal, o que é ser um programador ou ser um desenvolvedor de sistemas?
Para responder essa pergunta, precisamos antes, definir cada termo no contexto da programação.
No mercado atual, no mundo dos Devs, os termos "programador" e "desenvolvedor" soam quase como sinônimos, ora um querendo dizer que é o mesmo que o outro, ora o outro querendo dizer que é o mesmo que o um!
Mas na verdade, ambos, não são sinônimos. Apesar de termos semelhantes, possuem nuances sutis que os tornam diferentes. Senão, vejamos:
O programador é aquela pessoa que literalmente escreve códigos. Está focado na escrita do código, atento as especificidades da linguagem, seguindo estritamente os requisitos previamente definidos pelo criador da linguagem. Em outras palavras, ele é um especialista, um expert escritor de códigos formalizados em linguagem humana, mas transformados em linguagem de máquina para compreensão do computador.
Então, podemos concluir que um "programador " é aquele expert que codifica, depura, ajusta e testa seus códigos para se certificar que está funcionando como esperado.
Já o desenvolvedor é aquela pessoa que além de saber escrever códigos em uma ou mais linguagens de programação, também possui visão sistêmica do ambiente de criação do software que está desenvolvendo. É o Dev atual que planeja, sugere, implementa e constrói alternativas que possibilitam a criação real do sistema idealizado, por possuir outras habilidades além das de programador.
De outra forma, ele conhece as necessidades do cliente e o seu mercado, aliando a isso, uma boa comunicação escrita e oral, agregando postura ágil e criativa na definição dos objetivos planejados e no sucesso do projeto. É o arquiteto construtor do software. Tem conhecimentos prévios de gestão, de estratégia de mercado, de negócios do dinheiro no tempo, além de outras tecnologias, ferramentas e frameworks usuais no processo de criação de sistemas.
Resumindo, é o profissional capaz de integrar e combinar diferentes módulos do aplicativo às outras ferramentas complementares ao seus códigos, tornando-os mais seguras, robustos ou confiáveis.
Por qual caminho seguir?
Aqui está o cerne da questão! O caminho parece terminar em uma bifurcação. Mas na verdade, não! O caminho é o mesmo, porém a ser seguido com um pé em cada rota.
Mas, como fazer isso? Imagine você como um marceneiro, precisando cortar madeiras para montar uma prateleira. Nesse caso, você precisa de uma serra e não de uma faca, já que madeira se serra e não se corta, além de outras ferramentas para concluir o seu objetivo.
No primeiro momento, o de serrar a madeira, o caminho te aponta para uma entre as várias ferramentas a escolher: um serrote, uma serra fita, uma serra circular manual ou de bancada, ou ainda uma serra tico-tico ou de esquadria.
Dependendo da sua estratégia, você escolhe uma das ferramentas, serra a madeira e segue o caminho pra montagem da prateleira.
Na programação ocorre o mesmo, após escolher a linguagem de programação para escrever (serrar) seus códigos (madeira), você prossegue com outras etapas para concluir seu projeto (software).
Se você desenvolvedor, considerou no seu planejamento (Scrum, Kanban) que a montagem do móvel (Git) é a última etapa para a liberação da prateleira (software), é hora de reunir as ferramentas certas para aparafusar (configurar), esquadrejar (CI/CD) e levar (Docker, Kubernetes) a prateleira até ao seu cliente.
Nesse ponto você é um Dev, um expert desenvolvedor que programou, configurou e disponibilizou seu sistema no ambiente do cliente.
A distinção crucial no desenvolvimento do software
Perceba, enquanto o programador é um especialista numa parte do processo, um expert escritor de códigos, o desenvolvedor vai mais além, domina a outra parte mais ampla do ferramental necessário para criar soluções corretas e eficazes.
Então podemos concluir que o "Dev" de hoje é uma versão aprimorada do programador de ontem, equipado com uma armadura potente de ferramentas modernas e indispensáveis para o desenvolvimento de sistemas.
Porque o mercado atual é tão seletivo e cruel ?
Como dito do início, a seletividade é por conta da avidez por lucros e domínio do mercado.
Empresa A, B, C ou D apenas reformulam a lógica, dão-lhe roupagem nova, novos nomes e o ciclo se repete com o surgimento de novas linguagens.
E, paralelo a tudo isso, uma variedade de ferramentas complementares são colocadas à disposição dos programadores e desenvolvedores para que, junto com a linguagem escolhida, preencha as lacunas dos códigos ou os complemente, suprindo assim as necessidades dos atores envolvidos: cliente, programador/desenvolvedor e fornecedores das ferramentas.
Essa é a razão da escolha por um expert Dev . O desenvolvedor atento que quer ter sucesso nessa área, tem que manter-se atualizado com as últimas tecnologias e melhores práticas, adaptando-se às constantes mudanças do setor. Ao programador, cabe-lhe persistir no que sabe, aprimorando suas técnicas de resolver problemas por meio de seu feeling em escrever códigos e adequando-se às novas tecnologias em benefício do todo.
Programador X Desenvolvedor - Um Único Caminho para Seguir
Perceba então, que a tarefa de ser um exímio desenvolvedor no cenário atual, não é tão fácil assim.
Além de ser um especialista em escrever códigos, portanto um exímio programador, o desenvolvedor tem que ser persistente, dedicado e possuir um esforço contínuo de aprendizado.
Se seu objetivo é o mercado global, atuar em empresas auferindo retorno financeiro, é imprescindível a pluralidade de conhecimentos e a consciência dessa necessidade.
Saber escrever corretamente, retornando relatórios ou pareceres é de suma importância para seu sucesso. Está atualizado com assuntos e conceitos de gestão empresarial, matemática financeira, planejamento estratégico, custos e outras temáticas correlatas é, sem dúvidas, indispensável.
Conclusão
No mercado atual, para ser um exímio Desenvolvedor, um Dev por excelência, é indiscutível que o profissional da área de programação esteja consciente da necessidade da aquisição de novos conhecimentos além da simples habilidade de escrever códigos.
Para se destacar nesse universo de oportunidades é fundamental que ele desenvolva esses conhecimentos de outras áreas, aplicando-os corriqueiramente, como ferramentas complementares à sua área de atuação e propósito.
O que o mercado global exige é a elevação do profissional no ambiente de desenvolvimento de sistemas, condizentes com a realidade atual: ou seja, conhecer a gama ferramental de opções à disposição do programador para que ele interaja e entregue seus pacotes no menor tempo e recursos possíveis.
Não se torna programador de um dia para o outro. Leva-se tempo e alguns rangeres de dentes numa caminhada sem fim. Sempre aprendendo e reposicionando a rota. Tudo que ele aprender fora da escrita, colocando em prática o conhecimento extra, levará ele a um patamar de excelência como desenvolvedor de sistemas.
https://www.linkedin.com/in/izairton-oliveira-de-vasconcelos-a1916351