Programador e Desenvolvedor 5


computer_geek Esses dois termos se correlacionam nas tarefas que executam, ao mesmo tempo em que se confundem,  sendo usado indiscriminadamente para se referir as mesmas atividades.  A grande verdade é que, apesar de parecer ter o  mesmo significado aos olhos de muitas não experientes e até mesmo experientes, existem diferenças consideráveis entre elas.

Este post tem como objetivo expor as diferença básicas de ambos profissionais alem de apresentar o papel do engenheiro de software.  Também faremos um overview sobre o mercado de trabalho para este profissional e como se tornar mais competitivo.

O Programador

Segundo definição do dicionário Aurélio:
Programar: “Organizar, delinear o programa ou a programação de.”

É incontestável o importante papel do Programador para o desenvolvimento de software,  suas habilidades principais incluem conhecer os fundamentos da linguagem de programação no qual trabalha, identificar erros em programas, executar testes para assegurar que os programas e os sistemas estão funcionando corretamente, interpretar os requisitos do sistema e traduzi-la para uma linguagem de programação, executar manutenções, além de muitas outras. O Programador é profissional que codifica, coloca a mão na massa e transforma uma funcionalidade em realidade. Agora você deve estar se afirmando, Mas o desenvolvedor também faz isso! A resposta é sim, no inicio eu disse que os dois termos se correlacionavam, não disse ? Vamos entender o papel do Desenvolvedor, e vai ficar mais claro.

O Desenvolvedor

Da mesma maneira, segundo a definição do dicionário Aurélio:
Desenvolver:  Adiantar, aumentar, melhorar, aperfeiçoar, fazer progredir.

Comparando ambas definições já é possível observar a diferença, na prática todo Desenvolvedor também é um Programador,  o que os diferencia são a presença de qualificações que o Programador não possui. O desenvolvedor de software é um profissional com conhecimento multi-disciplinar,  não apenas em informática, mas também em comunicação, gerência, negócios. Ele não precisa ser um mestre nessas outras áreas, mas deve conhecer, no mínimo, os princípios básicos de cada uma. Alem de codificar consegue ter uma visão mais ampla do software que desenvolve, trabalhando intensamente com o design da aplicação.

O Arquiteto de Software

Ainda temos o papel do Arquiteto de Software que apoia os Desenvolvedores no uso de tecnologias. É responsável pela arquitetura executável que suporte os requisitos não-funcionais de um sistema bem como os requisitos funcionais mais críticos. Esta em contato com o cliente e todos os envolvidos no projeto para propor soluções Tecnológica.

Em analogia com a fabricação de veículos em uma montadora, podemos dizer que o Arquiteto projeta o carro, o desenvolvedor estuda a melhor forma para ele ser construído e  ajuda o programador, cuja função é montar o veículo.

Mercado para o Profissional

Em qualquer uma dessas profissões, para chegar a um nível competitivo não da para ficar aguardando treinamento, é preciso buscar sempre o melhor, ser auto-didata, ler muito. Não pelo aumento de salário pois isso é consequência de muito esforço mas sim pela satisfação de realizar um trabalho melhor.

Existe um dito popular que fala “Bom profissional não fica desempregado”, em parte isso é verdade. O que vemos hoje é uma legião de profissionais querendo chegar ao topo com o mínimo de esforço possível (Leiam O sucesso é construído à noite!). Vale lembrar que Sucesso só vem antes de Trabalho no dicionário.

Devemos ser cada vez mais auto-critico, olhar com sinceridade para nós mesmos e se perguntar:

  • Se eu fosse um empregador, eu me contrataria ?
  • Tenho qualificações suficiente para ser competitivo ?
    • Se sou competitivo.
      Onde posso melhorar para fazer mais bem feito o que já faço hoje ?
    • Se não sou competitivo.
      O que posso fazer para se tornar competitivo ?

Esse tipo de questionamento nos ajuda a buscar a melhoria contínua.  Talvez se dedicar para tirar uma certificação (Leiam O Poder das Certificações em TI), aprender uma nova tecnologia, participar de um projeto Open Source, escrever em um blog (risos) pode ser um diferencial. Tudo esta ao nosso alcance só nos falta coragem e determinação.

Qual a melhor linguagem de programação ?
Aquela que atende a necessidade do cliente, para você pode ser a que demanda maior vagas no mercado, ou a que se tem mais afinidade. Não importa, a teoria é Multi-Plataforma e Orientado a Objeto, se aplica a todos os casos. (risos) Isso me lembra a história do Carpinteiro (Clique aqui e ouça)

Abraços

Eduardo Gonçalves

Leitura Complementar:
The Role of the Software Architect
The Role of a Computer Programmer

programmer

Últimos 5 artigos de Eduardo Costa

Sobre Eduardo Costa

De Campinas-SP, bacharel em Sistema de Informação pela Anhanguera Educacional e pós graduado no curso de MBA em Gestão de Projetos e Metodologia do Ensino Superior. Atualmente trabalha como arquiteto e desenvolvedor Java em empresa de desenvolvimento de software de suporte a tomada de decisão, além de ministrar aulas de Orientação a Objeto, Linguagem Java e XML. Já atuou como líder técnico, coordenador de produto e analista de negócios.


Deixe uma resposta

5 pensamentos em “Programador e Desenvolvedor