Saiba a diferença entre um programador, um desenvolvedor e um cientista da computação

Li hoje um artigo muito interessante no Sworks e resolvi trazê-lo aqui para vocês.

O fato é que todos nós somos um pouco de programador, um pouco de desenvolvedor e um pouco de cientista da computação. Mas cada um de nós tende a uma dessas três “categorias” e é muito difícil conseguir distingui-las.

Cientista da Computação

O Cientista da Computação

O Cientista da Computação

Os cientistas da computação escrevem código… Não é o código mais organizado ou bem refatorado, mas um código que funciona e resolve o problema. Não se trata de seguir as boas práticas e sim de provar o que eles provar. Os cientistas computacionais são muito mais matemáticos do que tecnológicos.

Eles não precisam saber se algo funciona, eles apenas se preocupam em provar se aquilo funciona ou não. Para um cientista da computação habilidades interpessoais e boa comunicação não são necessários.

Nas horas vagas eles, na maioria das vezes, trabalham em suas próprias pesquisas e, como você pode ver na foto acima, inspiram medo em todos os meros mortais (inclusive os programadores e desenvolvedores).

Programador

O Programador

O Programador

Os programadores escrevem códigos, os melhores dos códigos. Criam código limpo, organizado, refatorado e livres de erro são preocupações corriqueiras de um programador… Mas isso acaba fazendo que o resultado nem sempre seja a resolução do problema. É mais sobre saber o significado de “bom código” e ter o domínio disso. Eles até tem algumas habilidades matemáticas (beeem menos do que os nossos amigos cientistas da computação), mas isso está longe de ser uma preocupação/obrigação para eles.

Eles precisam apenas saber as melhores soluções para os problemas que encontram mas não precisam saber (ou conseguir provar) que aquelas soluções são as melhores.

Os programadores já têm uma relação interpessoal melhor com seus companheiros de trabalho, mas ainda assim, como pessoas eles são ótimos programadores e nas horas vagas os programadores costumam trabalhar em projetos/produtos pessoais.

Desenvolvedor

O Desenvolvedor

O Desenvolvedor

Os desenvolvedores também criam códigos limpos, organizados e bem refatorados mas, além disso, disso outros fatores como segurança e testes também são importantes. Conhecimentos e habilidades matemáticas também não são indispensáveis, mas ajudam a encontrar soluções para os mais variados problemas que encontram. Uma boa comunicação e relação interpessoal são essenciais pois estes costumam trabalhar em conjunto com outros desenvolvedores e pessoas de outras áreas.

São especialistas em achar formas diferentes (e igualmente eficientes) de resolver o mesmo problema. No tempo livre um desenvolvedor costuma tentar criar o novo Facebook ou se dedica a atividades extracomputacionais, que não têm nada a ver com programação, desenvolvimento ou ciência da computação.


Existem ainda outros pontos que podem ser levantados sobre cada uma dessas categorizações, mas o importante é notar que: o que muda de um para o outro é a forma de agir e as suas necessiades/preocupações básicas… Eu indiscutivelmente sou mais desenvolvedor do que proramador e MUITO menos cientista da computação do que os outros dois.

E você? O que é? :)

Abraços e até a próxima!

34 thoughts on “Saiba a diferença entre um programador, um desenvolvedor e um cientista da computação

  1. RCarvalho

    p.s: Isso sem falar das “atividades extracomputacionais”: A cada meia hora de código elaborado/testado/corrigido…” umas duas horas em cima da guitarra pra aliviar a tensão \m/
    hehehehehehheheheeee…

    1. Rodrigo

      Eu também paro um pouco pra tocar guitarra após linhas e mais linhas de código pow não tem coisa mais maneira !!!

  2. RCarvalho

    Eu estaria no perfil de desenvolvedor, mas com tantos comentários vindos de matemáticos (ironicamente um dos meus melhores amigos é matemático e está no último ano de faculdade, com bolsa integral conquistada em uma olimpíada de matemática. Tenho outro amigo em física e meu atual professor de programação JAVA também é matemático, mas é o ÚNICO que gosta e entende de programação), fico me perguntando (na verdade nem tanto pois já me acostumei com essa discução): em casos como esse onde um matemático diz: “Dizer que o programador e o desenvolvedor não sabe matemática é generalização! TODO/X% dos programadores/desenvolvedores é matemático!” eu penso: “Isso não é apenas trocar uma generalização por outra? ‘Nem todos são bons matemáticos’ vs ‘todos/x% são matemáticos’ ???”. É claro que alguém como eu jamais poderia ir contra as estatísticas porque prefiro gastar meu limitado raciocínio lógico elaborando um algorítmo e decifrando scripts de subconsultas de bancos de dados enormes do que pesquisando e coletando dados estatísticos sobre “quem reina sobre quem”. Fato é que pelo menos na escola, ao menos uma vez na vida tirei uma nota 10 com 1000% de convicção de cada resposta. Por que sou o prodígio da matemática? Não, nem pensar. Foi porque eu, por algum motivo adorei a matéria. Uma conta de quase duas páginas e gráficos que eu era capaz de realizar de cabeça. Então, mesmo correndo o risco de entrar numa “guerra” que não me interessa travar, ou trazendo um pouco de senso comum entre as nossas nobres áreas de atuação, afirmo que se você faz o que REALMENTE gosta e põe o valor financeiro como uma recompensa e não uma causa na sua vida profissional, você vai dominar a cartilha, trazer a melhor solução para o cliente provando por A+B (com o perdão do trocadilho) e farejar uma gambiarra feita por um forfun que vive la vida a là ctrl+c ctrl+v a léguas de distância.
    Mas é claro que essa discução nunca pode parar, pois um profissional de uma área sempre pode aprender com outro ; )

    Quando o assunto é HTML e CSS pra mim pelo menos a W3C é quem bate o martelo, em outros casos, procuro a opinião de alguém mais experiente e sou adepto dos testes, se alguém vir uma gambiarra que tenha passado em testes de compatibilidade e portabilidade, por favor, me avisem!

    Então nesse caso eu estaria mais pro desenvolvedor, o que eu menos me importava era, por exemplo, com a questão de indentação em código, mas as aulas em outras linguagens me mostraram o seu valor :)
    Excelente tópico, como sempre!

  3. Wellington Torrejais da Silva

    Acho que pegou pesado, acho que de qualquer forma todos tem suas características e habilidades, tem uma certa lógica no artigo, mas mesmo assim acho que é meio exagerado.

  4. Luis Fernando

    Estou entre o programador e o desenvolvedor.

    Gosto muito de achar a melhor solução, só que eu gosto muito mais de focar em questão de segurança e de desenvolvimento em cima de testes.

  5. Daniel Mendes

    Thiago, parabens pelo Artigo.
    Sou tecnico em informatica e estou no 1º Periodo de Sistemas de Informação e já programo profissionalmente à algum tempo,
    hahah por enquanto,estou me encaixando como Cientista da Computação, pq na hora de programar me preoculpo mais em resolver o problema, nao me preocupando muito com a organização dos codigos.

  6. Alan Dantas

    No texto original o autor descreve os CC como “Tão matemáticos quanto tecnológicos”
    (A computer scientist is as much a mathematician as they are a technologist.)

    E na sua tradução está “Os cientistas computacionais são muito mais matemáticos do que tecnológicos.”

    Um pequeno erro de tradução/interpretação e teu artigo tomou um rumo totalmente diferente.

    Mas foi um grande artigo! =)

  7. Deibson Carvalho

    ola, Parabéns pelo site, sou professor universitario em matérias abordadas por ciencia da computacao, sistemas de informacao, entre outros cursos de formação computacional, gostei do seu post, está mais para uma comédia, um momento de distração, tem um fundo de verdade, mais generalizações equivocadas, eu sou cientista da computação por formação, sou excelente em matematica, tem razão em falar que os cientistas da computação tem ênfase em matemática, alias, é um dos piláres da informática, um programador não é bom sem uma boa matemática, e não estou sendo equivocado em falar isso, estou sendo franco, pois quase todo o código é baseado em calculos algebricos, geomátricos, trigonometricos, etc … eu tambem sou excelente em física, uma matéria abordada em ciencia da computação, necessária em diversos programas, jogos digitais, eu costumo dizer aos alunos que ao escolher qual área cursar, deve-se primeiro descobrir o seu perfil e em que área quer atuar, se for programador de games, softwares de crianção entre esses, é ciencia da computação, mais se for desenvolver programas comerciais, automacao comercial etc é sistemas de informacao … você citou bem a questão de comunicação interpessoal, mais pecou em afirmar que o cientista da computação nao tem muita comunicação interpessoal, esta qualidade é pessoal, varia de pessoa à pessoa, eu por exemplo sou um comunicador, trabalho bem em grupo, sou professor, pode ter um desenvolvedor timido tambem. e eu não sou feio como esse cara da foto de cientista da computacao nao.

    1. Deibson Carvalho

      Complementandoo que o amigo Washington expressou abaixo, os bons profissionais, principalmente Cientistas da Computação não ficam no Brasil, Me formei numa Federal, onde 70% do dos formados da minha antiga turma está no exterior, eu tambem fui, mais voltei por questões familiares, no exterior um bom cientista da computação ( programador habilidoso ) pode começar ganhando 40 mil dolares por ano ( hoje tem um colega de turma formado ganhando 120 mil dolares por ano na industria de jogos no exterior) e bom ambiente, cursos, aperfeiçoamento, experiencia e muita oportunidade, hoje professor, pesquisador de Inteligencia Artificial rede neural para jogos, desenvolvedor de jogos, mais no Brasil é muito dificil. e como o Washinton afirmou, tem muito “mau” profissional sendo formado, o que cai o conceito e a qualidade do serviço.

  8. Washington Freitas

    Thiago…

    sou eu, Washington, respondo aqui pq nao consigo responder sua resposta. (?!)

    Bom…acho que tbem os comentarios estao muito direcionados a vc, como vc mesmo disse o artigo é da Sworks.

    Entendi..vc concorda com tudo que eu disse…exceto o fato do tripe ser um microfone…blz (rsrsrsrs) – tô brincando.

  9. Washington Freitas

    Acredito que há uma generalização equivocada neste caso. O que vc está dizendo, fazendo uma analogia, é que existem três tipos de profissionais: o padeiro, o fazedor de biscoito e o fazedor de bolachas. Em tese, todo padeiro sabe fazer biscoitos e bolachas.

    Sabemos que existem quatro tipos de profissionais no mercado, a saber, de acordo com sua formação: Porcessamento de dados (tecnologo), analista de sistemas (sistemas de informacao), cientista da computação e engenheiro da computação.

    Em geral, excetuando-se o tecnologo em processamento de dados, os cursos oferecem conceitos basico de programacao, cabendo ao profissional se dedicar ou nao a esta finalidade.

    Num resumo grosseiro, podemos dizer que o tecnologo esta voltado a programacao, o analista para a gstao de TI, o cienctista aos estudos de aquisicao de dados (DAQ) e o engenheiro aos meios de processamento. mas nada impede, por exemplo, de um cientista ser um otimo administador ou um analista um otimo programador, etc, etc.

    Vale lembrar tambem que o cientista da computacao fica estagnado no nosso pais devido ao pouco incetivo a ciencia, isto eh, onde um cientista da computacao podera encomtrar, por exemplo, um laboratorio para pesquisa de computacao quantica onde podera ser encontado um abiente com nanotecnologia resfriada a menos 270 º C. Na USP? Talvez, vc chega la, pergunta: vcs tem um laboratorio aqui de computacao quantica, a moça pergunta, vc eh formado noa USP, – Nao. Ahhh, entao nao temos nao!!!.

    Outro fator que deve ser considerado eh a banalizacao do ensino superior, que hoje segue o seguinte protocolo: PPP (Papai pagou: passou), neste caso, existe um numero muito grande de profissionais se formando, independente da area acima, que nao sabem escrever uma linha de cosigo.

    Bom…isto eh o que eu entendo das profissioes voltadas para a TI hoje no Brasil.

    PS…seu cientista da computacao acima eh, na verdade, um fotografo, repare o cracha e o tripe….

    1. Thiago Belem

      @Washington
      Concordo com quase tudo que você disse… Mas aquilo não é um tripe, é um suporte de microfone e nessas convenções de TI geralmente todo mundo anda com crachá pendurado. :P

  10. Marcel Sartori

    Discordo em partes com o artigo.
    Sou formando em Ciência da Computação, e não concordo com o fato de você dizer: “Os cientistas computacionais são muito mais matemáticos do que tecnológicos.”

    Nós estudamos sim Matemática aplicada ao computador, mas também estudamos muitas coisas que muitas vezes Programadores e Desenvolvedores nem sonham.

    Uma dessas coisas por exemplo, é Ética. Tenho várias disciplinas voltadas para programação: Algorítmos e Programação, Linguagem C, Banco de Dados e Instruções SQL, entre outras….

    Temos matemática? É Claro que sim!!! A Matemática, é a maior das Ciências que o Homem já inventou! Tudo tem matemática. Mas tudo que estudamos é voltado para a computação, e não saímos matemáticos… Quando nos formamos, podemos fazer qualquer coisa relacionada a produção (Software, Web, Vídeo e Imagem)…

    Um Cientista da Computação pode ser o que quiser após sua faculdade com uma especialização… Um Programador, indiferente da especialização que fizer, sempre será um programador!

    1. Thiago Belem

      @Rogerio
      Ser aluno do 3º período quer dizer muita coisa, concorda? Eu poderia estar fazendo uma segunda faculdade aos 30 anos…. Mas nesse caso o “aluno do 3º período” é um profissional que entrou no mercado aos 14 anos de idade e trabalha desde então com os mais diferentes tipos e níveis de profissionais. :)

  11. Flavio Studart

    Discordo plenamente desse artigo, cientistas da computação são comumente algoristimistas muito bons, escrevem codigos bons pois tem excelentes noções de engenharia de software, portanto sai codigos bem estrutudas, bem escritos e organizados com segurança e etc, eu dirigia que a diferença entre um desenvolvedor e um cientista da computação seria apenas q eu o desenvolvedor nao tem a formação de pesquisa que tem o cientista, fora isso eu creio que o desenvolvedor se encaixa muito na descrição dito por você..

    Já programadores eu posso me arriscar em dizer que são code monkeys, escrevem códigos sem muita noção de algoritimos bem estrutuda, segurança, boas práticas e etc.

    Just an opnion =D

  12. Jesse de Oliveira

    rsrsr… excelente topico cara….

    na carteira de trabalho consta “Cargo: Programador”, mas eu ficava na duvida, se era programador, desenvolvedor, cientista, etc….

    agora, depois do artigo, ficou claro como a luz do sol.. rsrsr

    SOU PROGRAMADOR!!!!!!!!!!!!!!!!!!

    abraçao cara.. e valeu pelo topico!!!

  13. Φ¥DoomKnight¥Φ

    Eu sou o cientista da computação…, sério, sou o cara da foto e vocês não podem pegar as fotos das pessoas, colocar legendas e sair dizendo que causo medo nas pessoas, falou aí o “bonitão”.

    Φ¥DoomKnight¥Φ
    “Odeio Gente.”

  14. Renato Reis

    Esqueceu de falar do “Gambiarrista”, que acaba por resolver os problemas, e ganha em cima do trabalho dos outros. Eu diria que sou um misto de desenvolvedor e gambiarrista…só não posso dizer que sou totalmente desenvolvdor pq preso por uma vida social mais ativa =P

    Só o fato de vc ter posto 2 mulheres na foto com o desenvolvedor já vai fazer que vários se auto-nomeiem desenvolvedores pro querer aquela realidade. E como eu sou chato, vou reparar que vc não colocou o “blockquote” no desenvolvedor também ;)

    Mas antes que vocês todos saiam dizendo que são desenvolvedores e não programadores por causa das mulheres, olhem de novo no post, e notem… O programador tem um Macbook pro heahahhaah

  15. Osmar Alves

    Me considero um desenvolvedor… mais sem as meninas ali do lado, aushuashausha, ta foda ultimamente, xD….

  16. Osmar Alves

    Me considero um desenvolvedor… mais sem as meninas ali do lado, aushuashausha, ta foda ultimamente, xD….

  17. André D. Molin

    Lá na Facul (faço ciencias da computação) conversei com alguns professores e alunos do 7º periodo e vi que to no curso errado hehe.
    Não quero ser cientista da computação, quero programar em empresa e quero ter esse embasamento no meu curso (que o curso de CC nao oferece).

    Acho que vou trocar para Sistema de informação o quanto antes.

  18. André D. Molin

    Lá na Facul (faço ciencias da computação) conversei com alguns professores e alunos do 7º periodo e vi que to no curso errado hehe.
    Não quero ser cientista da computação, quero programar em empresa e quero ter esse embasamento no meu curso (que o curso de CC nao oferece).

    Acho que vou trocar para Sistema de informação o quanto antes.

  19. Hugo Leonardo

    acho que eu sou mais desenvolvedor, com uma pitadinha de cientista XD

    e Thiago, obrigado por manter esse blog e por tirar as minhas dúvidas! Você não sabe o quanto está me ajudando (:

Comments are closed.