PROGRAMADOR != CONSULTOR (?)
Olá a todos, gostaria de levantar essa discussão e ouvir vossas opiniões: Por acaso um programador não faz também o trabalho de um consultor? Os dois não são destinados a mesma coisa? (que é solucionar problemas)
Pois bem, segundo o dicionário: CONSULTOR: Consultor é o profissional que, por seu saber, sua experiência, é procurado para dar ou fornecer consultas técnicas ou pareceres, a respeito de assuntos ou matéria dentro de sua especialidade. PROGRAMADOR: Programador é o profissional especialista encarregado da preparação de um programa imposto a um computador.
Pensando bem: nossa especialidade é codar & solucionar problemas. Gostaria muito de ouvir o que acham sobre esse tópico.
Até o momento só atuei com um consultor uma vez, então acaba sendo mais meu ponto de vista sobre o assunto e sem muito embasamento. Como consultor eu fui apresentado a ideia de um MVP que a empresa/startup estava propondo e depois fiz mais uma duas reuniões com os desenvolvedores para ver como estava o andamento da arquitetura, como eles estavam prevendo algumas situações e como resolver elas também e que tecnologia usar.
No fim, era mais para ver se não tinha nem um erro grosseiro ou algum ponto muito enviesado, já que o time de desenvolvedores já estava fazendo esse trabalho de discovery a algumas semanas. Então minha tarefa como consultor foi dar um revisada, a mesma coisa que você deve fazer quando escreve um texto ou até mesmo seu código no dia a dia, muita vezes você acaba lendo o que você acha que esta lá, mas pode ser que na verdade tem um typo ou que faltou uma pontuação, detalhes geralmente kk.
Entretanto, me lembro de conversar com um engenheiro de petróleo que fazia um trabalho de consultoria para a Petrobras. No caso dele, seu foco era no dutos usados para o transporte de 'óleo' (não sei o nome técnico para este caso kk) e ele comentou que algumas vezes ele teve que colocar a mão na massa para resolver uma situação. No caso dele os acordos eram baseado na produção, logo se tivesse problema no transporte do material do ponto A para o ponto B ele não iria ganhar.
Acho que a principal diferença é como você encara o trabalho, o time e a empresa. O progamador faz parte do time, da empresa e 'tem' de entregar o trabalho, já o consultor não faz parte do time, não faz parte da empresa e opina, faz sugestões sobre o trabalho.
Eu atuo como desenvolvedor ABAP desde 2014 (vi que você usou como referência o ABAP). ABAP, para quem não sabe, é uma linguagem de propriedade da SAP, utilizada para desenvolver o ECC e o S/4HANA.
Esse "universo" SAP é um pouco diferente dos demais da programação (imagino, pois nunca atuei profissionalmente com outra linguagem). Aqui, as funções são sim segregadas, onde o programador é o programador e o consultor (pode ser chamado de analista ou funcional) é o consultor. Porém, conforme você vai se especializando como desenvolvedor ABAP, você acaba fazendo também o papel de consultor, com análises, especificações, testes, acompanhamento de Go-live e Hyper Care, é quase que uma evolução natural.
Hoje sou considerado um desenvolvedor ABAP especialista, mas não por dominar a linguagem e todas as suas possibilidades, mas sim por ter as skills de um consultor, atuando também como consultor além de desenvolvedor. Não sou o melhor desenvolvedor do mundo (quando pensamos em arquitetura, por exemplo), mas sou "bem cotado" na empresa por ter esse perfil.
Resumindo, nesse universo SAP, programadores que tem skills de analista acabam sendo considerados programadores melhores do que aqueles que tem skills técnicas superiores. Se pensarmos como um gestor, isso pode fazer sentido, pois esse perfil acaba resolvendo problemas de duas pessoas, sendo uma. Porém, eu acredito que uma pessoa ou manda um pouco bem em muitas coisas, ou manda muito bem em poucas coisas.
Então acho que sim, programadores e consultores existem para resolverem os problemas. Porém, programadores devem resolver problemas mais técnicos e consultores devem resolver problemas mais conceituais. O mercado e as gestões não especializadas acabam confundindo as coisas, mas no fim não acho que devam ser considerados iguais.
Mas essa é só a minha opinião :)
Você pode definir um programador como um consultor que analisa um problema usando conhecimento de experiência e põe a mão na massa pra resolver ele usando conhecimento técnico 🤷♀️