A diferença entre: Um Cara Que Programa e Um Programador

O ato de escrever códigos te faz ser um cara que programa, mas não necessariamente um programador.

Okay, eu “inventei” agora a diferença entre esses termos.

Digamos que ambos cumprem o papel e resolvem o problema.
A diferença está na forma de pensar deles.

Existem diversas maneiras de se chegar a um mesmo resultado. Umas mais claras, diretas, outras mais bonitas, elegantes, as vezes nebulosas, cheias de voltas e emaranhados, boas ou ruins. Apesar do peso de subjetividade que esses termos carregam.


Na minha opinião, um bom código é aquele que, chega onde deve chegar, sendo este legível aos envolvidos, e aqueles que não sabem do que se trata.

-> Bom em performance;
-> Sem rotinas confusas ou desnecessárias(as famosas gorduras);
-> Bem indentado e organizado.

Apenas isso. Simples e objetivo. Toda a comunidade, conhece ou deveria conhecer os conceitos que citei. (Keep It Simple, Faça o Simples que Funcione, Você não vai precisar disso, Don’t Repeat Yourself…)

Não quero me alongar sobre cada um deles. O meu ponto é: “Um CQP [Cara Que Programa], não leva ou nem sempre leva em consideração estas ‘máximas’.”
Já um VP [Verdadeiro Programador], possui esses conceitos incorporados a ele. Na forma de pensar, na maneira de codificar. Para um Programador, é natural, para o CQP, ainda não é.

Todos sofremos pressão, temos prazos apertados, situações difíceis… Este é o nosso mundo. A agência ou empresa, pode lhe dizer que é tranquilo, que são pacientes, que os prazos são legais, e tudo mais.. Porém faz parte da arte de programar. Cedo ou tarde, mais ou menos vezes, nos deparamos com algo urgente e impossível, para ontem.

Um programador resolve da melhor forma possível, enxergando na frente, o outro faz apenas para se ver livre, e entregar logo. O erro aqui, é que depois aquele monstrinho volta, e nem sempre podemos ou temos tempo de refazer ou corrigir.

Dai surgem as cabeças dos nossos monstros. Duas, Três, Sete… a tendência é piorar. Começou errado, por preguiça, falta de conhecimento, mal planejamento, ego…

Um CQP, acha que sabe tudo, ou não se importa de não saber, e nem tenta. Um VP, tenta saber, sempre busca melhorar, aceita analisando as críticas recebidas, e gosta do que faz.
Fazer bem feito lhe deixa feliz, o contrário lhe incomoda.

O melhor programador não é aquele que complica mais. Códigos de linguagens alto nível, devem ser escritos por humanos e para humanos. As máquinas entendem, tanto códigos bem escritos, quanto códigos ruins, mas e você no futuro ? e o outro programador ?

Acho que todos nós já demos continuidade no trabalho de alguém. Já vimos scripts porcos, e outros bem feitos.

Quando alguém pegar um trabalho nosso, vamos tentar ser aquele que não será xingado, e nem fez o outro programador perder horas e horas, entendendo as loucuras que fizemos.

Se faça essa pergunta. O que você é? Qual dos dois?

Apresentação muito interessante que me enviaram.

21 Comments

  1. Parabéns pelo texto. Não tem nada pior do que querer fazer algo bem feito e se deparar com o código de um CQP…

  2. Aih depende, se for segunda pela manhã,ou sexta de tarde é tudo automático, hauahuahuah

  3. Excelente artigo, acho que ilustra bem o cenário nacional, senão internacional. Podem ser chamados também aqueles programadores POG(Programação orientada a gambiarras). O mercado necessita de profissionais qualificados, independente da área, mas principalmente na TI, em que é necessário várias qualificações, sendo bom/ótimo em algumas delas.

    Ser um programador necessita de ter o espírito hacker, aquela necessidade de fazer as coisas bem feito, ser curioso, ativo, que se orgulha do que faz e ama linhas de código.

    Parabéns cara, ilustrou muito bem um dos grandes problemas que assombram o mercado de TI.

  4. Ótimo post, concordo com você o CQP acha que não precisa aprender mais nada, tem muita gente que trabalha a 10 anos no mercado e porque ganha um certo dinheiro da forma que está trabalhando nem pensa em se atualizar em aprender novas práticas ou mesmo linguagens. Acho que a grande diferença entre um CQP e um VP é que o VP tem “sede” de conhecimento.

  5. Cara, simplesmente impecável o texto!
    Resumiu, de fato, o que realmente acontece.

  6. Texto interessante. Eu vejo alguns CQP por aí, o pior é que alguns realmente se acham VP…

  7. Tomara que os CQP leiam isso. E tomara que eles aprendam com isso. Abraços.

  8. Eu sou um cara que programa, mas preciso dizer: seu texto é um verdadeiro tratado geral do óbvio. =)

    Daria até para fazer uma brincadeira: existe o cara que escreve e existe o escritor…

    Como até aqui eu apenas critiquei, deixa eu tentar fazer um comentário construtivo: você poderia encontrar uns problemas legais e dissecar eles, mostrar maneiras de interpretar o problema e de construir uma soluções.

    Você poderia até mesmo resolver apenas uma parte dele e deixar a outra parte para os leitores do blog e então, depois de um tempo, compilar os comentários e soluções num outro texto legal. Assim, não só você estaria cada vez mais programador, e menos cara que programa, como também estaria ajudando um monte de gente a repensar o que significa programar.

    Justifico minhas críticas e minha sugestão: no seu texto você parece ter uma postura arrogante e, ao mesmo tempo, não demonstra nada de realmente útil para quem quer deixar de ser um mero digitador de código. Já, se você tentar seguir minha sugestão, você pareceria mais um programador empolgado a aprender e a aprender e conjunto.

    Ah, claro: sinta-se livre para apagar esse comentário.

  9. Curti o texto, indo direto ao ponto e sem rodeios.

    Já o comentário do Sr. Max Jahnke. Logo dá pra perceber que a arrogância que ele tanto aponta, é uma característica de sua própria personalidade. “Se você fizer as coisas que eu falei, então você será um programador; se não fizer, será um bbk”.

    Se o cara é tão bom e tem tantas idéias incríveis sobre posts, porque não cria um blog?

    Faltou a ele um pouco de sutileza em perceber que a idéia do post era explorar a diferença de pensamento entre os dois e não ensinar ninguém a passar de um nível para o outro.

  10. Thumbs up pra este post.

    Já dizia dois grandes filósofos:

    “Não existe nada de grandioso sem paixão. Se tiveres amor, farás bem todas as coisas”
    Thomas Merton e Hegel.

    Parabéns pelo post. Acordem todos os dias pensando o que fazer de melhor para vc e para o mundo, Sejam, no mínimo, excelentes no que vcs fazem pra fazer a diferença. Abs

  11. Oi Max Reinhold Jahnke, vai contra meus princípios apagar teu comentário.

    Opiniões são importantes. O que expus aqui foi a minha. Você fez um comentário com a tua.
    Liberdade de expressão.

    Concordo contigo, e realmente pretendo fazer o que vc disse, até onde o meu conhecimento me permitir chegar. Eu disse o óbvio sim, mas eu disse. Não sou escritor, e como você, estudo no IME, só que faço Licenciatura. Esse espírito de ensinar me fez criar o meu blog. E é por causa dele, que possuo ai, por volta de 13 mil posts no forum.imasters.
    http://forum.imasters.com.br/user/69222-william-bruno/

    Ajudo sempre que sei e posso, tenho consiência de que faço a minha parte para ajudar um monte de gente. Cada vez que crio um script, tento redigir um bom texto para o blog, ajudo alguém no fórum, ou no meu dia a dia de Programador Front End, evoluo e aprendo mais.

    Me envie algumas sugestões de assuntos, programas, problemas.. ficarei feliz de recebê-los.

    Obrigado a todos que comentaram, e viram este post.
    Continuem visitando, leio todos os comentários com muita atenção, e vou adorar receber sugestões sobre ‘o que postar’

    Abraços!

  12. Guilherme Pereira

    abril 14, 2011 at 10:24

    Infelizmente, essa é a realidade!

  13. Ótimo post. Acho que é uma questão de evolução. Todo programador passa por um período de CQP, mas acaba evoluindo após passar por alguns “monstrinhos”

  14. Achei esse texto interessante.
    Sou um “CQP”, mas ligo em tudo o que falou.
    Nunca fiz cursos, não uso frameworks nem WYSIWYG. Nunca usei modelos padrões, nunca plagiei, meus scripts não tem sido sujos ou nojentos, já que sigo a estrutura(abriu algo, pula uma linha e da paragrafo).

    O que você esqueceu de falar é que os CQPs, quando tem duvidas, mesmo que sejam basicas, recorrem a perguntar e echer o saco de outros programadores.
    É isso acima que me diferencia de programadores.

    Concordei com tudo o que disse, realmente contratar quem está em constante apredizado, os CQPs, para fazer algo que os PV deviam fazer é errado, por que provavelmente, e logo, ele estará com alguma duvida, e estará publicando o seu codigo fonte em algum forum, perguntando qual é o erro.

  15. Nao gostei muito da colocacao, parece que CQP eh somente um iniciante. O WB me conheceu quando eu era um CQP, e como ele gosta de ensinar as pessoas, foi muito bom trabalhar ao lado dele mesmo que tenha durado tao pouco. Hoje eu nao me considero mais um iniciante. Nao porque eu sei demais – longe disso -, mas pelo contrario: justamente porque eu sei que nao sei. Parece meio confuso, ate porque estou sem acento (preguica de botar padrao br no teclado en-us) e isso deve estar deixando o texto bem chato de ler, mas as vezes eh incrivel olhar direito pro mundo da programacao e ver que voce NUNCA vai aprender TUDO, e quando vc percebe isso quer dizer que vc aprendeu.

    Concordo que tem gente que mantem esse nivel pelo resto da vida, mas nesse texto especificamente o “CQP” ainda me parece somente um cara iniciante, que ainda nao tem nocao de tudo que existe la fora. Eh como se todo mundo “nascesse” esse CQP. Mas se o cara for um programador verdadeiro, logo isso muda.

    • É. Concordo com o que disse.
      Tambem sou CQP e não me sinto tão inferior assim, meus codigos “dão para o gasto”, são limpos e etc… É como se o CQP fosse um newbie, e isso é uma visão errada.

      O que conta nas pessoas NÃO SÃO OS SEUS MILHARES DE CURSOS EM FACULDADES CARAS, mas sim o seu interesse em aprender o que quer, a teimosia com o conserto do erro, etc. Sem isso, ninguem vai a frente. Ah, esse codigo da dando PARSE. Quando você vê é algo bobo, pode até ser uma falta do ponto e virgula(;), e por isso você desistiria do seu codigo.

      • Oi Sr.hehehe, CQP não são iniciantes.

        Existem CQPs experientes, com 5-10 anos de programação, como mencionaram em um comentário logo acima. Um iniciante que quer aprender, que vai atras, tem em si o espírito de programador, entendeu ?^^

  16. bom artigo, acho que todos programadores querem ser um VP, as vezes demora um pouco pra ver a importancia de um bom codigo.

  17. Muito legal seu texto. Por isso que as poasess que destacam na area de programacao sao aquelas que gostam do que faz. Defendo muito isso tambem. E eu amo PHP hehe. Abracos

  18. Gostei muito da matéria.
    No meu caso, estou tentando deixar de ser um CQP.rsrsrsr

  19. Olá William, tenho acompanhado seus posts e achado muito interessantes, pois estou ingressando na programação OO e pretendo devorar tudo que vejo de informação a respeito desse assunto.

    Os seus conteúdos, seguindo a forma de expressão, dando a sua opinião e tentando fugir do óbvio são muito bons.

    Gostaria apenas de fazer uma sugestão como ponto de melhoria na estrutura do seu Blog. É com relação a usabilidade. Acredito poderia dar um maior espaçamento entre as linhas dos posts, pois facilitará e muito a leitura e consequentemente absorção da informação, concentração e interpretação do texto. Mas de resto meus parabéns!!!

Deixe uma resposta

Your email address will not be published.

*