10 coisas que todo o programador deveria saber

Listas de x coisas só servem para lembrar de tudo o que ficou de fora, portanto, IMHO, as 10 coisas que todo o programador deveria saber são:

0 – usar o google
1 – fazer um hello world em pelo menos 5 linguagens de programação diferentes (sendo uma funcional e uma script)
2 – instalar o wordpress e tudo o que é necessario para que o mesmo execute.
3 – instalar e configurar o Ubuntu, ou outro *nix, incluindo configuração de rede e impressão
4 – entender o que é CLASSPATH
5 – saber a diferença entre HTTP e FTP, entre TCP e UDP e qual camada OSI eles atuam. bonus: saber como funciona um GET ou POST (é possivel ver usando o live http headers do firefox).
6 – conhecer o comando grep e algumas opções como -c, -v, -A
7 – SQL: entender o que é select,update,insert, delete, commit, rollback
8 – como ler e gerar XML
9 – entender o que é NULL, \0, **qqcoisa do C e quais os seus usos (principalmente em strings)
10 – a diferença entre licença BSD e GPL veja aqui.

Alem disso é bom seguir alguns blogs, frequentar foruns, listas de discussão e ler muito. Mesmo um texto “chato” como A Catedral e o Bazar traz informações relevantes e outras referencias.

Boa sorte e que começe a flame-war :)

Rating 3.80 out of 5
[?]

Sobre admin

Sou nerd
Esta entrada foi publicada em Dicas. Adicione o link permanenteaos seus favoritos.

20 respostas a 10 coisas que todo o programador deveria saber

  1. admin disse:

    Quero ver quem vai ser o primeiro a dizer “Faltou Testes Unitarios”. Po quem frequenta o meu blog ja conhece essas coisas.

  2. Arthur Furlan disse:

    11. Não começar flame-wars.

  3. Gabriel Falcão disse:

    Faltou “Saber o básico de expressões regulares”.

  4. Não concordo com o item 4, isso vale apenas pra quem programadores em Java. Seria similar a exigir que programadores entendessem rubygems para rails.

    Concordo com o Gabriel Falcão.

  5. admin disse:

    @TiagoMotta Para mim um programador do século XXI deveria saber o que é classpath – que é muito simples e resolve muitos problemas. Se ele não sabe isso, para mim é pior do que a sombra da mosca do cocô do cavalo do bandido.

  6. caike disse:

    regex +1

    12. Escrever direito (isso entraria no meu top 10 de “boas maneiras para listas de discussão”)

  7. Gabriel disse:

    Feito!

    Eu que me acho um nada como programador, sei fazer tudo isso! Velho, que alívio… :P

    Faltou só uma coisa no MySQL – saber importar scripts *.sql.

  8. Thiago disse:

    10 coisas enumeradas de 0 a 10… não seriam então, 11 coisas?

  9. admin disse:

    Pois é, mancada minha, acho que, quando fiz esta lista, o item 0 eu inseri depois… ;-)

  10. Samuel disse:

    Gostaria de saber como implementar uma fila em C, mas sem usar ponteiros.

  11. Fábio disse:

    Quanta bobagem.

    Pura trollagem.

    “Instalar o wordpress…” coisa de programador?

    Quanto você cobra pra instalar o windows aqui em casa?

  12. admin disse:

    Pra mim, programador que tem dificuldade com um apt-get não presta.

  13. Delpher disse:

    –>instalar e configurar o Ubuntu, ou outro *nix, incluindo configuração de rede e impressão<–
    Isto não é função de rogramador !!!, pelo amor de Deus.
    Se o programador for se meter a isto, não terá tempo de programar !!

  14. admin disse:

    Programador bom faz tudo isso e mais um pouco sem reclamar. É assim que se trabalha com times verdadeiramente produtivos.

    Programador que arranja desculpa dizendo que não vai ter tempo deveria procurar outra coisa pra fazer, como tricô.

  15. DragaO~ disse:

    Concordo com algumas coisas e discordo com outras, ai vai :

    2 – qualquer um consegue ir no cpanel e instalar o wordpress, acho que isso é indiferente, porque o cara pode ser bom com 38242934 linguagens mas não saber/trabalhar com linguagens web

    3 – concordo plenamente: programador que é programador sabe tudo que tem no sistema e “manda” no sistema

    4 – não acho que precisasse estar na lista, em uma entrevista eu não vou perguntar “tu sabe o que é classpath?”

    5 – outra coisa que acho muito relativo; se eu for contratar alguém pra trabalhar com web, é importante ele saber manipular os dados de GET e POST, e se ele achar que “OSI” é o cantor (Ozzy), não vou achar que ele é um programador “pior” que eu ou qualquer outro, por isso, como um todo, acho irrelevante

    6 – depende, o PHP, por exemplo, é muito mais rápido em processar funções nativas do que expressões regulares; mas com certeza ER’s é um “a mais”, pois nem sempre tem aquilo que tu precisa (sem contar que muitas vezes a ER fica até mais simples XD)

    9 – concordo, mas acho que poderia ter simplificado com “saber o que são ponteiros” XD

    10 – que diferença faz isso? ao meu ver, nenhuma ;x

    os que não comentei é porque eu concordo e não tive o que falar :D

    e sobre o comentário acima, programador de verdade dificilmente não tem tempo pra instalar um sistema ou configurar ele; na grande maioria das vezes eles GOSTAM de fazer isso, pois o sistema é a “casa” do programador (ok, péssima XD)

  16. admin disse:

    Achar que OSI é cantor pode ser sintoma de algo bem ruim, dependendo do contexto ;-)

  17. Juan Castro disse:

    9 de 10 tá bom, eu acho. (Plataformas de publicação? Content management systems? Ahn?)

    Aí cara, vi teu link no blogroll do evento MSX no sábado agora. Vai lá?

  18. Tomás T. Pinto disse:

    %s/programador/codenerd/g

  19. Raul Libório disse:

    Como n sou programador, mas arranho nos scripts, n posso dizer muita coisa =)
    Ah, o link da Catedral tá quebrado =\

  20. Renan disse:

    Concordo em colocar no topo da lista “usar o google”-estou fazendo um curso de web designer e o primeiro módulo foi html, mas o que aprendi na sala de aula foram somente uns comando de html básico e no google aprendi a usar comandos de html avançado. Mas, não consegui encontrar informações satisfatórias sobre outras linguagens de programação, como Java. Será que sou eu que não soube usar o google?

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">