Marco Gomes

Interneteiro, imigrante, nerd, cristão, biker. Founder da boo-box (vendida) e Mova Mais. Consigliere do JovemNerd

Campanha: Programar é grátis!

Publicado em 2008-11-17

Se você quer ser um desenvolvedor de aplicativos para Internet, webdesigner, programador, analista de sistemas web, qualquer nome que seja, lembre-se: Programar é grátis!

Você não pode esperar arrumar um estágio, ou emprego, que te ensine (de mão beijada) a ser um bom desenvolvedor. Um bom desenvolvedor se cria sozinho, nas madrugadas selvagens dos canais de IRC e grupos de e-mail.

Explico.

Como Diretor de Tecnologia da boo-box, enfrento a nada fácil tarefa de formar um time com os melhores desenvolvedores, os ninjas da boo-box. O processo de seleção é contínuo, e a maior parte das vezes me deparo com e-mails desanimadores, abaixo alguns exemplos reais, e o que pensei após ler:

Envio-lhes um pseudocodigo feito no 1º semestre da faculdade.

Que eu saiba, pseudocódigo não roda em nenhum computador. Bunda mole.

Tanto em PHP quanto em Java Script só oque eu vi na faculdade , mais nada que eu não consiga aprender , até porque a base eu ja tive na faculdade.

Pra começar: JavaScript é escrito junto, e se você teve a base na faculdade por que não gastou umas horinhas aprendendo “o restante” em casa? Bunda mole.

Coloquei somente 2 exemplos que consegui achar, pois meus códigos na Bolsa estão restritos.

Seu trabalho é supersecreto? Então contribua pra um projeto de Software Livre ou faça um aplicativo em seu tempo livre. Bunda mole.

Não fiz trabalhos orientados a objeto ainda, tenho muita vontade de trabalhar com orientaçao a objetos.

Tem muita vontade? Muita mesmo? Nossa, e está esperando mudar de emprego pra aprender né? Bunda mole.

Se você já usou argumentos semelhantes aos exemplos acima, vou te revelar uma coisa: Você pode mudar sua vida, e até mudar o mundo, com o mesmo equipamento que usa pra ficar o dia inteiro no orkut trocando recadinhos com as peguetes, sério!

Listinha da alegria pra quem não lê parágrafos:

  1. Consiga um computador conectado na Internet, serve o que está usando pra ler este texto, ou qualquer outro, com qualquer sistema operacional, pode ser até um netbook como o EEE PC.
  2. Crie uma conta no Google App Engine e baixe o SDK.
  3. Prepare-se pra usar intensamente um serviço de buscas e uma documentação de Python.
  4. Use bibliotecas e códigos de terceiros no início, comece com humildade e vá se aprofundando com o tempo.
  5. Invista algumas madrugadas desenvolvendo aplicativos que funcionem de verdade, nem precisam ser inéditos, comece com sistemas de blog, chat, agregadores de feed…

Garanto que seguindo os passos acima você vai poder aprender muito mais sobre programação pra Internet do que qualquer graduação em Sistemas de Informação vai conseguir te ensinar.

E não precisa ser apenas com Google App Engine! Embrenhe-se no Ruby, PHP, JavaScript, HTML, Flash, faça uns layouts no Photoshop, escreva um blog, melhore verbetes na Wikipédia, contribua pra humanidade de alguma maneira :)

E se você for realmente ousado, vai construir o site da empresa do seu tio mesmo sem saber como fazer, cobrará R$: 500,00 e usará uma parte disso pra melhorar seu computador ou conexão com a Internet. Foi assim que eu comecei, e a maior parte dos bons desenvolvedores de hoje também fez isso 4, 8, 10 anos atrás.

Eu sei que um computador conectado na Internet não é gratuito, tem custos, normalmente altos, o nome da campanha é “Programar é grátis” só pra causar impacto :)

Quando for mandar um e-mail tentando uma vaga pra ser desenvolvedor, escreva algo parecido com a mensagem abaixo, que também é real:

Marco não tenho muita experiência, estou buscando ela através de um estágio. Estou construindo um site e fiz um sistema de controle de gastos pessoais em PHP/MySQL. Eu adicionei um dos códigos no pastie.org. Abaixo segue o link para o arquivo.

O texto acima me deu muito mais confiança no candidato que os exemplos bunda mole anteriores, este candidato não tinha experiência, e sabendo disso, estava construindo um sistema simples em PHP e MySQL pra ele mesmo usar, é assim que um ninja age.

Parabéns aos ninjas em atividade Mauricio Maia, Dirceu Pauka, Samuel Prado e Fernando Mafra ( @fmafra ). Eles são parte do time que faz tudo a boo-box continuar rodando, sempre trazendo inovação, projetando novos produtos inclusive em seu tempo livre. Porque um ninja nunca baixa a guarda emoticon ninja

[update 2008-11-17] Para ler um argumento a favor de cursos e conhecimento teórico antes do conhecimento prático, veja o comentário do Ricardo, aqui mesmo neste texto. Eu discordo do que ele diz, mas você deve ler pra julgar por si mesmo :)

Textos relacionados:

Deixe sua opinião

102 comentários

  1. Daniel Becher comentou:

    Eu sou um programador frustrado #prontofalei

    Por muitas e muitas vezes comecei a estudar alguma linguagem. Nos idos de 98 fiz curso de Delphi e ainda hoje consigo fazer pequenas aplicações pra empresa que trabalho como técnico de TI (sabe como é, aquele que bate o escanteio e corre pra cabecear). E foi por conta desse trabalho que nunca pude me aprofundar nas linguagens, já que um “bom” técnico sempre usa as horas extras pra fazer bicos e acumular mais capital.

    Já falei que eu sou um programador frustrado? Ah, sim.

  2. Sergio Maia comentou:

    Muito bom texto Marco. Entendo que o mais importante pra quem está começando é exatamente isso, se virar. Programação é algo que só se aprende ‘programando’, e pra isso, além dos requisitos mínimos que você citou, basta apenas coragem e vontade de aprender.

  3. [barba] comentou:

    Eu sou um programador frustrado #prontofalei [2]

  4. Leandro Ferreira comentou:

    melhor lugar pra aprender a fazer suas micreiragens? o bom e velho Flash. Não tem nada melhor. Até porque server-side é chato que dói.

  5. Eric Sousa comentou:

    Falo e disse Marcos, tem muito programador bunda mole por ai.

    To no ultimo semestre de Comunicação pra web na unip (curso que não é la essas coisas !).

    Oque mais me impressiona la, é que a galera só copia oque é passado acham que para aprender vão ter que pagar um curso caro, fazer uma certificação.
    Dentre 30 alunos acho que só uns 5 são do tipo que correm atrás.

  6. Gobr comentou:

    Concordo plenamente com o post, e até aprofundo mais, essa “idiotice” de profissionais da informática já é conhecida, são os chamados sobrinhos.

    Realmente a maioria das pessoas que faz informática não tem o menor interesse na área, o que é uma pena. Já passei por duas faculdades e sempre vejo a mesma coisa, idiotas que não conseguem entender a lógica do if e acham que vão ver os próximos “true hackers” do mundo.

    A falta de interesse também é incrível, uma vez estava fazendo um trabalho de algoritmos, sugeri que dessemos uma otimizada no algoritmo, que já estava pronto, o pessoal simplesmente disse “Não, tá pronto já, otimizar pra quê? O Prof. não pediu isso…”, simplesmente uma mentalidade estúpida.

    @Eric Souza, cara se tu conhece realmente 5 caras que “correm atrás” você está em um lugar *MUITO BOM*, idéia pra você, pega esse pessoal, e começa a desenvolver algo, _qualquer coisa_, se você ver que o projeto está andando, que tem jeito pra coisa, monta algo, tu pode ganhar dinheiro com isso cara.

    @Daniel Becher, cara eu sei que é difícil trabalhar e ainda estudar coisas legais, mas tipo assim, começa com shell script, vai ajudar *MUITO* no seu trabalho, e já vai te dar uma _boa_ noção de programação.

    e enfim @MarcoGomes, cara, realmente existe muito “programador” bunda mole por aí, seu trabalho deve ser difícil, mas adorei a sua idéia de iniciar por AppEngine e Python, que são ótimas ferramentas, simples de usar e bem documentadas.

    A única coisa que acho ruim é não estar com tempo pra escrever artigos legais assim no meu blog. XD

    So… GO GO GO MONKEYS! LET’S CODE!

  7. Emerson Broga comentou:

    É isso mesmo Marco, a galera fica querendo tudo de mao beijada, aí não rola realmente tem que correr atrás! Ja perdi várias noites fazendo um simples site em php da loja que eu trabalhava (Bits Games) e com esse simples site em php, agora eu consegui um emprego em uma empresa de sistemas e estou programando em Flex, mas pra sair do balcão de Atendente e ir para uma mesa de Programador tive que investir noites, feriados e domingos em um simples site! Adorei o post(vim pelo twitter)!

  8. Valdir comentou:

    Ótimo post Marco, definitivamente posso constatar, como programador e educador, que programação não é pra todo mundo. Programar exige esforço, estudo, pesquisa, criatividade, curiosidade, vontade de criar e encontrar soluções, vontade de compartilhar. Muitos entram nessa ainda esperando botões milagrosos ou que na internet eles possam encontrar códigos prontos exatamente para a necessidade deles. O mercado daqui, pobre e carente, acaba absorvendo esse tipo de profissional que praticamente vive de gambiarra até se dar conta que essa praia não é pra ele. A sua busca continua, tem muito “ninja” perdido por ae esperando uma boa oportunidade, mas que é dificil achar é. E foi bom perceber também no seu post uma outra verdade, de que faculdade não forma programadores, dá uma base – geralmente mediocre – mas o lado pessoal é o que pesa, não o diploma que carrega.

    Abraço

  9. SaintBr comentou:

    show de bola seu post, ta na hora de criar uma nova geração de programadores não-chupins

  10. PotHix comentou:

    Æ!!

    Colaborar para códigos Open Source realmente é parte crucial para entrar numa carreira de programador!

    Argumentos como: “Só tive uma base na faculdade” para mim significa: “Não sou ninguem e realmente não gosto disso”, pois afinal…Se o cara gostar mesmo de programar e gostar mesmo da linguagem ele já estaria aplicando!

    Na minha entrevista na boo-box eu tinha muito pouca experiência, mas acho que minha apresentação não foi tão ruim. =P

    Tanto que o Marco que me indicou para o meu trabalho atual. =)

    Há braços

  11. Guilherme Serrano comentou:

    Estudei design por 4 anos na minha graduação e a coisa é a mesma. Os caras não se puxam pra fazer um cartazinho, um sketch, um layout de site que não vá sair pelo menos um real de algum lugar.

    E eu aprendi muito mais sobre programação nessas madrugadas obscuras do que design na faculdade toda. E o melhor dessa tua campanha é que, quem gostar e começar não vai parar nunca mais.

    []´s

  12. Renato comentou:

    Concordo com o texto e com o @gobr, eu até cheguei a pensar como alguns que ele citou no e-mail, mas logo pensei, pô tu quer virar um sobrinho ou alguém esperto? Então acordei, comecei a estudar, e sigo em frente trilhando meu próprio caminho, não fico esperando uma formação super mega na faculdade, isso não vai acontecer.

    Enfim, ainda vou me tornar um bom programador. =D

  13. Guilherme Rambo comentou:

    Gostei muito do texto, principalmente dessa parte: “Você pode mudar sua vida, e até mudar o mundo, com o mesmo equipamento que usa pra ficar o dia inteiro no orkut trocando recadinhos com as peguetes”. O mais importante pra aprender a programar é tentar, errar, tentar de novo, errar de novo…

  14. [barba] comentou:

    Não, agora sério depois que o Marcos me zuou por email
    “ahahha
    obrigado por enriquecer a discussão :)”

    A dificuldade que eu tive (ainda na adolescência) foi pq eu não sabia bulhufas de inglês, era apaixonado pelo espanhol (não espalhem isso). Daí tentei por mim mesmo ir aprendendo, aprendendo e onde eu fui parar? No máximo um site em flash que carrega xml, um PHP + MySQL e só. Tá, eu tb sabia aqueles truques do Explorer de mudar a barra, mouse que gira, etc. Cansei de ficar nessa mesma coisinha besta e desisti. Hoje leio em inglês, mas a paixão não é mas a mesma. E nem a paciência, claro.

  15. Leandro Ferreira comentou:

    ..paixão pelo espanhol? Ele era bonito, pelo menos?

  16. Vinícius comentou:

    Concordo 100%. Nunca fui pago para programar mas aprendi e fiz várias coisas estudando sozinho. Acredito que não existe melhor caminho do que esse. Nenhum curso vai te ensinar tanto quanto fazer algo que funcione do começo ao fim.

    Apesar de não ter ficado ai na boo-box eu fiquei orgulhoso de ter feito entrevista com vocês e ver que me enxergaram como alguém capaz de entrar no time de ninjas.

  17. Cara curti muito o post ;)

    Melhor feed da madruga, definitivamente.

    “Programar é gratis”, e só aprende quem vai atras, NENHUM curso te ensina a ser um bom programador, fuck all MS CERTICADOS, LPI, LDMI, LAMBDA, BETA TETA TÊTA e quaisquer outros certificados.
    O bom programador pesquisa, bate cabeça, erra pracarai e o mais importante OUVE quem tem uma carga maior (nunca confunda com certos bacacas de listas que ao ler: “como faz uma conexao com o mysql” ao invés de indicar uma documentação ou o caminho para o problema solta um “como vc é burro!” ).

    Enfim, Ótimo post Marco.

    :)

  18. [barba] comentou:

    @Leandro Ferreira

    Hahahha.
    Idioma espanhol ¬¬

  19. Aguinelo Pedroso comentou:

    Wow… realmente ninjas nunca baixam a guarda e humildade e proatividade são cruciais não apenas quando se esta começando mas tambem quando se é um mestre Zen.

    Muito Bom.

  20. Ricardo comentou:

    Concordo bem parcialmente. Seu texto deixa claro um dos principais problemas que encarecem o desenvolvimento de software de qualidade e a excessiva quantidade de bugs em versões finais de projetos, um problema que se arrasta desde Brooks. Não é programando que se aprende a programar. Isto te dará a prática necessária para a teoria que DEVE sim ser obtida em um BOM curso ou livro(s).

    Blogs, e sites de notícia e código não irão nunca substituir décadas de pesquisas na área e que visam justamente evitar a formação de programadores “da madruagada selvagem” que desenvolvem vícios próprios e construem códigos muitas vezes confusos, sem comentários, e ineficientes.

    Num processo de contração de estágio, opto muito mais por alguém sem nenhuma experiência mas com muita boa fundamentação teórica, principalmente de lógica, do que conhecimentos básicos de MySQL e PHP obtidos num projeto feito para o tio, sem nenhuma supervisão de um profissional mais experiente no processo de programação capaz de ensiná-lo.

    Claro que seu texto revela um aspecto também muito importante: pró-atividade. Sem ela concordo que o programador será bunda-mole.

    • Gilson Filho comentou:

      Tem muitas pessoas que fizeram cursos e nem assim sabem programar bem. Hoje em dia, essa história de vícios é desculpa para boi dormir. Com um pouquinho mais de curiosidade e persistência, ele tem de mão beijada boas práticas de programação para aprender. E SIM, programador aprende programando SIM!! Se não for assim, vai ser mais um cara que vive criando flames de linguagens e não sabe MERDA NENHUMA!!

    • Leandro Ryker comentou:

      Os dois geram uma conclusão sensata se mesclarem as afirmações.

      Fato é: Para programar tem que meter a mão na parada senão não funfa. Mas utilizando a técnica de aprender se sujeitando a “madrugadas selvagens” é fato também que o neofito tem grandes chances de se tornar um programador mesmo, mas será um programador bruto.
      O que o Ricardo defende é exatamente o que falta nesses programadores educados a base de coca-cola, café e noites trocadas pelo dia. Cultura documental.
      O vicio a que o Ricardo se refere, acredito eu, pesa muito mais nessa etapa negligenciada pelo programador auto didata. A documentação é algo para quem não tem o que fazer e não para um programador gabaritado e que trocou diversas madrugadas de sono pelo conhecimento.
      Sem a documentação um programador bruto acaba se tornando, guardado as devidas proporções, um pedreiro. Como é quando se esta fazendo uma obra? Se um pedreiro começa a levantar uma parede, mas não termina el antes de pedir as contas, o próximo que pedreiro que aparecer vai condenar o serviço que o pedreiro anterior começou a fazer e dizer que é melhor começar de novo. Um programa sem documentação sofre do mesmo mal. Programadores que não documentam transformam seus clientes em escravos, que dependem unica e exclusivamente deles para fazer a bagaça funcionar, e se um programador pegar algum código pela metade de um programador bruto será praticamente obrigado a reiniciar tudo, uma vez que apenas quem pariu Mateus é que entende o que esta “escrito”.

    • Eliseu Jr. comentou:

      Esse lance de programador selvagem da madrugada me lembrou EXtreme Go Horse. Acho que o importante é ter os conceitos fixados. A prática é tão importante quanto a busca por boas praticas.

  21. Caloã comentou:

    Note que quem realmente gosta do que faz, no caso programar, sempre corre atrás.

    Mas tem gente que faz pelo dinheiro … aí, nesse patamar, as coisas mudam.

    Foi um belo texto.

    ps.: Tenho 6 anos de experiência em programação. 5 em PHP e 1 em JAVA :P

  22. Lisias comentou:

    Bicho, é complicado.

    As faculdades já não preparam o cara como deveriam – e o cara simplesmente se limita a repetir ad-nauseaum o que ele viu (mal e porcamente) na faculdade.

    Diploma é importante, mas não é tudo. Se virar em casa é super-importante, mas também não basta. O cara tem que ler mesmo – em casa, na faculdade, no busão.

    Pegar aquele livrão de Design Patterns, estudar uns 20 para descobrir que precisa mesmo só de 2 ou 3 no dia-a-dia, e um dia topar com um problema novo e sacar que justamente um daqueles outros 17 é o que vai salvar o seu traseiro.

    Ou simplesmenten fazer um curso de Controle de Qualidade e aprender que daquele monte de regrinha estúpida que as empresas nos fazer seguir, algumas não são assim tão estúpidas – e uma ou outra consegue, de fato, melhorar a produtividade da equipe. (Difícil é convencer o gerente de qualidade disto, mas paciência – pelo menos você aprende a falar a língua dele!)

    Programar pode ser grátis, mas aprender a programar (direito) custa caro pra cacete.

    E programa mal feito dá prejuízo!

  23. Renato Targa comentou:

    Marco,

    creio que seja um problema sistêmico dos cursos superiores, a maioria se concentra em formar técnicos em algumas coisas que eles colocam no programa. Se eles estimulassem as pessoas a pensar (coisa que alguns poucos fazem: e por isso tornam-se referência, “centros de excelência”), aí o diploma seria um bom diferencial efetivo.

    Eu já contratei muito programador Javascript: uns bons, outros nem tanto, uns ninjas e até um Chuck Norris (dá conta de vários ninjas ao mesmo tempo e, sob bombardeio, ainda cumpre a missão mais complicada). Dos bons/ninjas/chuck norris, uns tinham formação na área de programação, outros não. Dos nem tanto, todos tinham curso superior nessa área, o que faz sua percepção ter alguma razão (o mais difícil é identificar que finge que não é bunda mole).

    Mas isso de fazer título polêmico só por fazer parece coisa de marketing, não de diretor de tecnologia. Fecho com o marqueteiro Tim O’Reilly: The point was that if you want apps that are worth more than .99, you’ll need to pay for them, accept ads, or they won’t exist.

  24. Tomás comentou:

    O título do seu texto pode servir pra várias coisas. Assim como “Programar é grátis”, “Matemática é grátis”, “Música é grátis”, etc.

    Quando a pessoa tem amor pela que ela faz vê o (não)trabalho como um privilégio e não entende pq outras pessoas não conseguem se desenvolver no campo, como você disse seria muito “fácil”.

    Mas, infelizmente, ao contrário da gente, tem gente que não gosta da coisa (o porquê foge o escopo do comentário) ou só pensa em programação quando está na faculdade. Resumindo, elas não vêem a programação de maneira mágica, vêem apenas como mais uma disciplina da faculdade.

  25. Bruno Andrade comentou:

    ola!!

    acho que o seguinte trecho está errado

    Garanto que seguindo os passos acima você vai poder aprender muito mais sobre programação pra Internet do que qualquer graduação em Sistemas de Informação vai conseguir de ensinar.

    não seria te ensinar?

  26. Pô, eu trabalhei com o Maurício (MMM) no CCUEC, manda um abraço pra ele!

    — Hanson, que não é ninja mas tá aprendendo RoR por diversão :)

  27. emilio comentou:

    muito bom esse post

    acho que eu posso aprende muito com ele.

    com certeza ele me deu ideia boas para eu continua meu estudo

    vlw ai marco

  28. emilio comentou:

    Eu aprendi muito com esse post
    acho que todos podem aprende bastante com ele.

    eu mesmo tirei muitas boas ideia de como melhora meu metodo de estudo.

    estuda pra ser um desenvolvedor pra web exige total dedicação.

    valew marco

  29. pedro comentou:

    Realmete essas foram falhas, mas um diretor jogar isso na internet também não é uma falha? Eu concordo com o post, aprendi coisa pra cacete dentro e fora da faculdade, mas o que realmente me chamou atenção não foi o objetivo e sim o meio pelo qual se tentou alacança-lo e, por isso, eu tenho uma crítica a fazer, inspire através de bons e não de maus exemplos.
    Ah e não acho que mediocridade é um problema da faculdade.
    Té.

  30. Hendrik comentou:

    È a velha frase… quem faz a faculdade é o aluno!
    Pois é, se o individuo não aproveitar o que a faculdade lhe oferece e não estudar por fora, com certeza, saíra um bunda mole com diploma sem nenhum preparo para o mercado de trabalho.
    Concordo com o Ricardo, prefiro um newbie :) com o conhecimento teórico solidificado do que um que saiba php+mysql. Linguagem é ferramenta, amanhã pode ser Java, no outro RoR, doutro python e assim vai.

  31. lero comentou:

    Voce pagando o suficiente para um bom programador com certeza encontrara. Agora pegar aluno de faculdade e pagar uma mixa nao rola ne querido ?

  32. PotHix comentou:

    Lero,

    A discussão não é nem o salário! ;)
    O salário provavelmente vai ser proporcional aos seus conhecimentos…Até por que ele não quer contratar um tosco qualquer, pois se fosse contratar um desses, ele realmente merecia um salário merreca. =P

    Há braços

  33. weber jr comentou:

    Marco, seu texto é perfeito quando toca no tema da iniciativa.

    Entretanto, é necessário cuidado para não cair naquele discurso do Lula de “Não fiz faculdade e sou precisente”.

    Possível é, mas é mais difícil. E estudar sempre é bom.

    É bem verdade que há muito curso picareta por aí. Mas também é verdade que temos ótimas universidades com cadeiras que possibilitam aprender muito.

    “Ah, mas eu posso aprender tudo sozinho pela internet.”

    Pode sim, mas quem vai aprender ?

    Além dos preguiçosos que você citou. Existe gente que precisa orientação e muitas vezes não percebe que uma cadeira inicialmente chata como “Linguagens Formais” pode te trazer um grande diferencial.

    Quem estuda por conta talvez nunca venha a saber que isso existe.

    Quem estuda por conta precisa ter o cuidado redobrado para não cair na tentação de estudar só as tecnologias mais populares ou acessíveis.

    Exemplo: A IMENSA maioria vai estudar mySQL, afinal “é o que todo mundo usa”. Poucos param pra estudar PostgreSQL e entender as diferenças e as vantagens que possuem. Ou indo para o lado negro[proprietário:] estudar Oracle, que tem toda documentação distribuida gratuitamente.

    Mas parabéns pelo texto. A idéia está correta: menos orkut e MSN e mais investimento numa bela carreira :)

  34. Lisias comentou:

    Concordo apenas parcialmente com o Weber.

    A triste realidade é que, pela minha experiência de vida, quanto mais tempo o cara estuda, menos competente ele se revela na hora de resolver os problemas do cotidiano. (SIM, há honrosas exceções!!).

    A maioria das faculdades com que tive contato (de novo, SIM, há honrosas exceções!!) formam profissionais burocráticos, conformistas e até mesmo negligentes.

    Não vou sair enumerando todas as (más) experiências que tive – só este tema daria um artigo imenso! – mas pelo que eu li aqui, parece ser a percepção de boa parte de vocês.

    Acho que a postura do Ricardo, lá em cima, é a mais sensata: procura o cara que tem uma boa bagagem teórica (se o cara aprendeu na faculdade, ou sozinho, é problema dele) e treina o dito cujo naquilo que você precisa.

    Infelizmente, Competência não é uma ciência ensinada nas faculdades.

  35. Davis comentou:

    Sei lá @ricardo. Entendo teu ponto de vista, mas penso totalmente diferente.

    Foi programando que aprendi a programar…
    Fiz engenharia em telecom, 3 anos, e larguei, e não sei se faria uma faculdade agora, apenas para ter canudo… no way…

    Um bom programador, pra mim lógico, é um kra qualquer que já seria um bom médico, ou um bom mecânico, só que optou informática…

    Pq é questão de perfil, personalidade, é o cara que faz e acontece, e não fica esperando que um curso qualquer o forme, ele mesmo se forma.

    Para mim, ser algo ou alguém é 80% atitude, 15% experiência e 5% conhecimento! :-)

  36. Fábio Janssen comentou:

    Muito bom Marco Gomes, passei por todas as fases que você descreveu , conheço alguns programadores bunda mole , e aqui na agencia que trabalho bunda mole não tem vez é rua sem mais …
    Programador que nunca fez sistema para uso pessoal , site para amigos e familiares de graça ou por valor bem baixo pelo simples prazer de programar , realmente pode mudar de profissão pode comprar uma par de chuteiras ou um pandeiro e larga o micro..

  37. Anderson Araújo comentou:

    Não concordo com tudo, eu sou do tipo que corro atrás sem pensar na grana. Mais é natural que existam pessoas que não tenham tanta facilidade de encontrar o pulo do gato ou talvez não tenham encontrado ainda o que realmente querem fazer, isso NÃO quer dizer que a pessoa seja BUNDA MOLE.

  38. PotHix comentou:

    Æ!!

    @Fábio Janssen
    – falou tudo!

    @Anderson Araújo
    – Se o cara não está se aplicando a programação, ele pode não ter achado o que realmente quer fazer, mas pelo menos já descartou uma hipótese…Programar! ; )

    Há braços

  39. joão paulo comentou:

    Condordo com o LERO, há muitos bons programadores no Brasil, você que está procurando no lugar errado. Seu texto parece lamentações de um dono de software house de fundo de quintal endividado. Um bom profissional tem sim de ficar sentado praticando, mas também tem de ter conhecimento teórico, conhecer gerência de projetos, análise de processos, administração, marketing, matemática financeira…

    Faça uma pesquisa nas empresas que vc conhece, quem são os gerentes e os CIO,s ? Os nerds escovadores de bits ou aqueles souberam conciliar a parte técnica com a gerencial?

  40. MarcoGomes comentou:

    @Joao Paulo:

    Você está colocando palavras na minha boca, em momento algum eu disse que “não há programadores bons no brasil”, ou que “somente escovadores de bits são bons”. Em momento algum eu disse que os profissionais só precisam saber programar, muito pelo contrário, fazer algo “sozinho e nas madrugadas” é bom também porque te dá noções de gestão de tempo, objetividade, e como vc mesmo disse “administração e marketing”.

    Leu meu texto muito mal (ou nem leu), e interpretou o que quis.

    Se vai discordar, faça com propriedade, tentar ofender a mim ou a minha empresa não vai te fazer ganhar credibilidade alguma, concentre-se nos meus argumentos.

    Fica a dica.

    Até mais.

  41. Davi Ferreira comentou:

    Bacana o post :)

    Impressionante como essas citações que você colocou de candidatos são verdadeiros clichês.

  42. eu_cwb comentou:

    programa é de graça…
    compor é de graça…
    desenhar é de graça…
    projetar uma casa é de graça..

    qualquer profissão do conhecimento é de graça para se aprender e exercer.. mas está certo…

    não gosto de pessoas que leem um livro e acham que são programadores… acho que vocë está prostituindo a profissão de programador com esse seu pensamento…

    concordo contigo que devemos ser proativos e tudo mais… mas considerar que uma pessoa torna-se um programador estudando em casa… são raros os casos…

  43. Marcelo Minholi comentou:

    Bom texto Marco! Mas a falta de proatividade das pessoas não é um efeito da parca qualidade da educação formal oferecida por muitas instituições de ensino superior, mas sim a causa dela. O circulo vicioso que leva à grande quantidade de maus profissionais se forma alicerçado em problemas muito mais profundos do que, simplesmente, maus professores.

    Quando o estudante ingressa numa faculdade ele normalmente vem de um ensino básico e médio que não prima pelo desenvolvimento da autonomia, assim sendo, o seu aprendizado limita-se a ouvir passivamente o que é exposto em sala de aula por seus professores, apoiado por um sistema de avaliação empregado pelos professores que leva em consideração, também, apenas o conteúdo trabalhado em sala de aula e, vez por outra, em atividades de auto-estudo.

    Muitas vezes o professor atua como motivador para que o estudante busque construir conhecimento por conta própria, mas falta o ingrediente principal, que é o mesmo que você costuma identificar em seus ninjas: Força de Vontade.

    O que ocorre em seguida, após formados 95% de alunos que são meros decoradores de resumos, é que se formam grandes grupos, que vão desde os despreparados que buscam uma colocação no mercado de trabalho (a maioria), até os que buscarão mais titulações sem se preocupar com o preparo real para a aplicação daquilo que está “aprendendo”, sendo estes os que retro-alimentam o sistema falho, já que ao longo de suas jornadas acabam descobrindo que “quem sabe faz, e quem não faz ensina”, partindo para a carreira acadêmica, procurando esconder atrás de seus diplomas a sua incapacidade de realizar e criar.

    Resumindo, a falta de força de vontade, aliada a questões culturais, fazem com que o sistema educacional não sirva como barreira para impedir o ingresso dos maus profissionais no mercado de trabalho, o que não faz da educação formal a causa do problema.

    Para atribuir algum grau de culpa pela enxurrada de maus profissionais que é jogada pelas faculdades para o mercado de trabalho todos os anos, seria preciso assumir que todos os que fazem parte dela tivessem que ficar retidos no decorrer do processo educacional, o que não tem cabimento algum, já que os verdadeiros indícios de uma má formação só aparecem após o seu termino.

    Há os 5% que dão certo! Quantos auto-didatas ficam retidos na etapa 1, de criação do site do tio? É certo que há uma imensa maioria de programadores auto-didatas frustrados ou despreparados, assim sendo, o que diferencia os dois métodos?

    Uma escola tem (ou deveria ter) a missão de preparar o estudante para a vida, desenvolvendo sua autonomia e responsabilidade e fazendo com que ele veja que é possível aprender o tempo todo, sem todavia abandonar a apresentação de conhecimentos e métodos científicos de análise e interpretação da realidade.

    Se depois de passar 4 ou 5 anos convivendo com mais de 50 pessoas em busca de objetivos semelhantes o sujeito ainda for incapaz de perceber que pra aprender é preciso ser proativo, então realmente cabe a ele o título de Bunda Mole. Pena que estes ainda são tantos.

  44. Gui Ambros comentou:

    belíssimo texto, Marco.

    É impressionante como o mundo está cheio de programadores bunda mole. Gente que inventa desculpa para não se aprofundar em nada. Moçada que espera de braços cruzados que a faculdade dê a formação que eles deveriam buscar por conta própria. Profissionais que se contentam com “ah, eu tenho facilidade de aprender” mas que na prática nunca aprendem nada a fundo por preguiça.

    Eu tive a sorte de iniciar como programador nos idos tempos do TRS-80 Color. Aprendi assembly porque queria aumentar o número de vidas nos jogos do CP400. Fiquei fascinado pelo WarGames nos 80 e comprei um modem querendo ser um hacker do bem (na época sem saber nem direito o que isso significava). Ia na única banca da cidade que recebia a DrDobbs porque achava os artigos bacanas. Isso tudo entre 12-18 anos de idade, e tive a sorte de ser curioso e ter amigos que me inspiravam. Ao longo dos anos assumi outras responsabilidades e deixei de lado o desenvolvimento hard core, mas continuo com a mesma curiosidade de antigamente.

    Corta.

    Quase duas décadas depois, vejo pseudo profissionais de 20, 25, 30 anos que não tem metade do interesse e curiosidade que eu ou muitos outros por aqui tinham aos 15. Há 10 anos era muito mais fácil identificar os ninjas; eram poucos e geralmente apaixonados pelo que faziam. Programavam HTML com o Hotdog, desenvolviam páginas pessoais antes dos blogs, experimentavam com CGIs em C.

    Será que falta de oportunidade hoje em dia? Que nada, a maioria é bunda mole mesmo. Gente que fez faculdade para cumprir tabela, leu livro para responder a prova no dia seguinte.

    Por essas e outras que uso código puro para pré-selecionar os potenciais candidatos a ninja. “Mostre-me teu código e te direi quem és” :) Óbvio que só porque a pessoa tem um bom código não significa que seja também um bom profissional; é aí que entram entrevistas multi-níveis, checagem de referências, etc.

  45. PotHix comentou:

    Æ!!

    @Gui ambros,

    Falou tudo cara!

    Há braços

  46. SaintBr comentou:

    bah, eu usei HotDog editor !!!

  47. Flávio Furlan comentou:

    Olá Marco,

    Concordo 100%! Eu vivo dizendo isso para os caras que trabalham comigo ou para meus alunos.

    Todos querem as coisas de mão beijada, não querem se esforçar para nada. Ótimo post! Muito bom ver outras pessoas pensando dessa maneira.

    Eu mesmo programo há mais de 10 anos e nunca fiz nenhum curso de ciências da computação. Fiz administração de empresas, o que me deu a base para processos de negócio. Tudo que sei da parte técnica, aprendi fuçando, lendo e experimentando.

    Cansei e explicar conceitos de lógica relacional, SQL, OO e até lógica para cabecinhas de bagre de cursos de tecnologia. Isso é fogo!

    Abraços!

  48. Willy comentou:

    É o que eu falo para alguns amigos perdidos profissionalmente:
    – Tá tudo aí, tá fácil e é grátis, você ganha pouco porque quer.

    Oportunidades não faltam, aliás, na nossa agência (Fess’Kobbi) vejo o trabalho que todos (Frontend, Backend e Motion Design) têm em achar bons profissionais/programadores. A maioria é como os exemplos citados neste artigo.

    Me sinto até mal em ouvir casos como o do “Gui Ambros” que como muitos outros, não tiveram a oportunidade de usar o Google pra achar artigos, tutoriais e apostilas.

    De qualquer forma, ótimo artigo. Espero que a galera leia, compreenda e tente aprender.

    Abraços!

  49. Gui Ambros comentou:

    falaí @willy,

    eu acho que google é justamente parte do problema.

    os mesmos programadores bunda-moles que mencionei acima acham que não precisam estudar uma nova linguagem, não precisam fazer engenharia reversa de código, não tem curiosidade de estudar algoritmos pelo simples prazer de estudar, justamente porque quando precisam de algo “é só buscar no google”. Viram programadores copy-e-paste, parasitas de código alheio. Inovação zero.

    Mas a julgar pelo interesse de todo mundo nesse post do Marco, parece que toda regra tem sua exceção. Ou 59 delas.. (-:

    Keep on coding!

  50. Willy comentou:

    Fala @Gui Ambros,

    realmente, o Google é uma GRANDE parte do problema. O Google é uma ferramenta facilitadora, e como qualquer outra, se for mal usada pode trazer consequências terríveis para o profissional, como você disse, os profissionais copy-paste / desinteressados.

    Mas na mão de um garoto de 15 anos, interessado, um pouco nerd, e com alguma ambição na vida é uma ferramenta muito poderosa. Basta uma pequena interpretação de até quando ele pode ser usado.

    Defendo este lado porquê, como talvez muitos aqui, sou da era “Google”. E defendo não pelo simples copy-paste, mas pela quantidade de informação “em um lugar só” que podemos encontrar, como já disse no comment anterior, apostilas, tutoriais e artigos.

    Qualquer garoto com uma conexão com a Internet e um pouco de talento pode se transformar em um ótimo profissional. Basta interesse.

    Mas não posso deixar notar seu ponto de vista, tenho conhecidos no MSN parasitas de código ;)

    O bom de tudo isso, é que os profissionais copy-paste são eliminados nos primeiros anos de trabalho, pois, podemos usar o Google pra responder nossas dúvidas, mas chega uma hora que temos que recorrer a nossa criatividade. Nossa capacidade de inovação.

    Na verdade esse meu comentário gigante é só pra galera que tá começando, refletir. Para usarem o Google, mas com responsabilidade e não tornarem-se adictos à ele, hehe.

    E realmente, 60 exception points pro post, hehe :P

    PS’s:
    – Me animei com esse post, vou tentar espalhar a notícia por aí.
    – Desculpem se eu me expressei mal de alguma forma.

    Abraços,
    Willy.

  51. gustavo comentou:

    ahahahha adorei o texto, nem sei se a noticia é antiga, mas realmente adorei… muito boa hahahahha

  52. Maicon Schonrock comentou:

    Sempre aprendendo

  53. Murilo comentou:

    Concordo a ideia é boa , algumas coisas que diz acho que não é bem por esse lado.

    Eu não sou formado , mais já trabalhei bastante como programador e aprendi sozinho a programar , em casa muitas das vezes sem internet nem discada! , nada nada , o maximo que tinha era a documentação que eu fazia download e gravava em um cd aonde meu irmão trabalhava que ele conseguia para mim acesso a internet para fazer download dos documentos , eu mais que agora era um belo consumidor do eu conseguia baixar aonde meu irmão trabalhava , chegava a baixar paginas inteiras só para ler os exemplo.

    Depois que entrei no mercado eu fiquei feliz sinceramente , minha cidade natal é interior não tem nada e eu lah , primeiro dia de trabalho vi os “programadores” blz , falei é agora to ferrado , tive que no primeiro dia ensinar que era programar para os “programadores” da empresa não é mentira tenho provas disso.

    Mais por não ser formado enfrentei varias coisas , coisas do tipo “não vou chamar ele para reunião pq ele é novo no mercado” , e olha mesmo não estando no mercado eu já dava risada sozinho das coisas que “programadores” faziam , tudo formado , se você falar c++ nossa na hora os caras falavam aprendi na facu , com aquele ar “sou superior” , dai vamos lah programar , olhava todo o pessoal “estilo nerd” , esses caras são fudidos , quebrava a cabeça para ler um arquivo texto sem usar uma api pronta.

    Pior de tudo o mercado até cheio , superlotado de “programadores” , essa ideia de programar é grátis é uma boa para estimular o pessoal a aprender a programar de verdade , mesmo que não seja em pthon , ruby que estão na moda e em vez de ajudar pode complicar as coisas abstraindo coisas que no futuro podem precisar.

    Não é nada não mais tem muita gente fraca no mercado que não sabe nem programar em 1 linguagem que eles trabalham a varios anos , imagina contratar uma pessoa hoje em dia , é uma tarefa muito dificil.

    A ideia é boa o resto é para chamar a atenção sinceramente.

  54. Francis David comentou:

    Concordo, tudo que começei a comercializar foi no “susto”.
    Vendi uma rede Windows (coaxial) na sexta, sem nunca ter montando, comprei livro e no final de semana aprendi, para instalar na segunda.

    O mesmo já aconteceu com rede Novell e programar em Clipper e Delphi.

  55. Thiago PS comentou:

    Muito bom… Sou adepto a esta campanha, e ainda acima disso: A valorização da utilização da internet para atividades úteis. Quantas pessoas perdem seus tempos com comunidades observando a vida alheia e esquecem que a internet pode servir como fonte de aprendizado?

  56. Joel Wallis comentou:

    Concordo plenamente com o autor!

    Sou autodidata desde 2003. Iniciei em AS2, depois AS3 e agora PHP. Já tive que entrevistar 1001 caras recém formados e me espantei na dificuldade em fazer coisas pouco mais complicadas que o Hello World!

    Este post vai pro Twitter!

  57. Lisias comentou:

    @SaintBR: Sério? Nesta época, eu usei o HoTMetaL! :-)

  58. Gui Ambros comentou:

    Pô, HoTMetaL!! Bons tempos aqueles; já era melhor do que editar as primeiras versões de html com pico :o) E depois HotDog foi um baita progresso por trazer wysiwyg :)

  59. Valério Farias comentou:

    Vou colocar um ponto de vista diferente do de Ricardo.

    O filme “Something the Lord Made” de 2004, vendido no Brasil com o título “Quase Deuses”(vejam a resenha aqui-> http://bonsfilmes.blogspot.com/2007/06/quase-deuses.html), mostra a rotina de Fred Blalock e Vivien Thomas, que foram médicos pioneiros em operações cardíacas, numa época em que todos os cirurgiões renomados seguiam uma lei de nunca tocar no coração humano. Achei muito interessante o trecho em que Blalock fala para Vivien largar de lado os livros de medicina tradicionais e ir para experimentação falando: vamos esquecer o lixo teórico. Os livros eram necessários para os problemas que existiam, não serviam para inovação.

    Fica claro nessa estória que duas pessoas que seguiram a intuição e continuaram experimentando modificaram décadas de conceitos engessados da medicida entre elas o “não se meche no coração”.

    Agora coloco um conceito diferente de teoria e prática:

    1. Mais de 90% do que vemos na faculdade se chama informação, algumas ultrapassadas, algumas atuais, mas quase sempre informações.

    2. Teoria não é algo estático que você absorve e está pronto para agir, criar, etc. Teoria é a informação devidamente processada(praticada) gerando a Prática(resolução de problema) e se alimentando novamente com as informações vindas da Prática.

    3. Teoria e Prática são interdependentes. Quando eu assimilo informações começo a fazer associações, a dar prioridade a determinados conceitos, a eliminar outros menos prováveis e intuitivamente vou tendo novas idéias que consequentemente terei que experimentá-las (prática).
    Nesse processo vou criando e aperfeiçoando a teoria.
    Teoria é algo vivo, que está de prontidão para ser executado, ser resolvido de forma eficiente e ela sempre é remodelada com a prática, que fornece novas informações. Todas essas informações quando entram no processo da criação passa a fazer parte da teoria. Porém se ela é organizada e publicada em forma de livro volta a ser somente informação, que é uma espécie de foto estática da teoria, tem sua importância, mas tecnicamente não passa disso.

    Alguém que está começando em determinada área do conhecimento, tem que fazer as inúmeras experimentações e comprovações e passar por esse processo de amadurecimento e da criação da teoria (informação assimilada e experimentada).

    Posso resumir da seguinte forma:

    Teoria = Processo(Informação + Experimentação + Intuição)

    Informação = livro, revista, cursos, tutoriais, jornais, etc.

    A pessoa se depara com problemas, então ela obtém informações, vai experimentando e a intuição pode dar
    novos caminhos. Esses novos caminhos serão experimentados até gerar novas informações que pode ser divulgadas para outras pessoas de forma diversa (palestra, livro, blog, github) e essas pessoas podem receber essa informação e experimentar e a intuição delas podem perceber caminhos diferentes que podem experimentar novamente e obter novas informações e o ciclo não termina nunca.

    Dessa forma como podemos medir a capacidade de determinada pessoa? Fico com a opinião do Marco Gomes de que a melhor forma são os trabalhos desenvolvidos (principalmente open source) e a aceitação dos mesmos por outras pessoas ou comunidades, complementado por sua atuação na comunidade por meio de blogs, repassando conhecimento.

    O objetivo dos blogs, e sites de notícia e código não é substituir as pesquisas da área e sim de complementar, servindo de mecanismo de experimentação, e dessa forma obtendo novas idéias, para que as áreas do conhecimento não corram o risco de ficarem engessadas, o objetivo deles é temperar a intuição coletiva.

    Um abraço a todos.

  60. Ricardo Lage comentou:

    Não está relacionado diretamente a este tema ou ao meu comentário citado aqui pelo Marco mas escrevi um post no meu blog que estende este assunto.

    Trata de uma análise qualitativa de como se dá a produção de software no Brasil, as limitações dela, e como se compara com a Índia: http://laedevolta.com.br/blog/2009/04/13/a-producao-de-software-no-brasil-e-o-porque-da-india-ser-melhor/

  61. Lisias comentou:

    @Ricardo,

    Este é apenas para contrabalançar sua afirmação sobre a qualidade da produção de Software na Índia:

    Minha experiência profissional na Indústria de Embarcados Automotivos, onde tive contato direto com Fábricas de Software Indianas, e a experiência que me foi compartilhada por colegas da Indústria de T.I. quando trabalhei numa empresa de Internet, me levam a dizer que a qualidade do software indiano, embora na média seja melhor que a do Brasil, está muito, mas muito abaixo do que se exige no Mercado Internacional – pelo menos nos setores que mencionei.

    Quando trabalhei na Indústria Automotiva, juro por Deus, todo e qualquer serviço que foi terceirizado para a Índia teve que ser refeito DO ZERO pela extrema tosquice do código fonte dos caras. Não respeitavam interfaces, usavam mensagens assíncronas como se fossem chamadas síncronas de função, uma zona.

    (A bem da verdade, parte da culpa também foi nossa: alguma sumidade da empresa havia pedido uma estupidez, e os caras ao invés de tentar explicar que aquilo era estúpido, perderam tempo tentando fazer aquilo funcionar).

    Na Indústria de T.I., meus colegas que tiveram experiência com softwares de empresas estabelecidas (e que cobravam *caro pra cacete* pelo produto), me disseram que dava pra saber quando um componente era feito na Europa, E.U.A ou Índia: bastava observar a quantidade de bugs estranhos ou intermintentes.

    Por outro lado, um dos melhores desenvolvedores que já tive o prazer de conhecer (e conheci de várias nacionalidades, na época que trabalhei em projetos da então Siemens Mobile) era um indiano.

    Observer que não estou contradizendo sua opinião: sim, na média, a qualidade do software indiano é melhor que a brasileira. O que estou dizendo é que, na média, a qualidade do software brasileiro é ainda mais baixa do que gostaríamos de admitir.

  62. Ricardo Lage comentou:

    Lisias,

    Tomei a liberdade de copiar seu comentário lá para o blog também, para manter o contexto. Mais tarde respondo-o por lá.

    Obrigado,
    Ricardo

  63. Ricardo Lage comentou:

    Lisias, publiquei minha resposta ao seu comentário lá no blog: http://laedevolta.com.br/blog/2009/04/13/a-producao-de-software-no-brasil-e-o-porque-da-india-ser-melhor/comment-page-1/#comment-5058. Adoraria ouvir mais da sua opinião.

    Marco, desculpa pelos links cruzados mas quero manter as discussões em contexto.

  64. Elender comentou:

    oi. estou muito interessado em aprander programação. tem uns sites que ando desenvolvendo por conta própria. um é meu e o outro do centro acadêmico de minha faculdade.(www.caef.vai.la)

  65. Bruno comentou:

    Sempre respeitei o Marcos por seu conhecimento, visão empreendedora, etc.. Mas não acho justo julgar as pessoas desta forma. Acho que a gente tem de aprender inclusive a ser auto-didata. Não dá pra sair pesquisando o google e programando sem antes ter uma noção do caminho a trilhar.

    Acho que um programador deve passar ao menos por uns fundamentos (lógica, algoritmos básicos, etc) até para conseguir trilhar seu próprio caminho em busca de conhecimento e experiência.

    De qualquer maneira, se todos nós tivessemos o mesmo raciocinio lógico, isto aqui seria bem monótono.

  66. John-Henrique comentou:

    Concordo com a maior parte de sua opnião (Marco Gomes) e com a metade da Ricardo.

    Por mais que o individuo tenha grandes conhecimentos teóricos ele ainda assim não terá a criatividade e experiência de saber que determinadas instruções são inuteis ou despresaveis. Outras vezes ele pode até demorar mais tempo tentando entender o que foi escrito por alguém e gastar ainda mais tempo de toda equipe envolvida realizando endagações aos outros integrantes “por que fizeram isso assim?”.

    Independente da capacidade do indíviduo o selecionador deve pensar como um (melhor que um)técnico de futebol, deve analisar quais as atividades que precisam ser desempenhadas e se o candidato satisfas estas necessidades ou se ele é capaz de satisfazê-las.

    De qualquer forma, com faculdade ou sem… ninguém vai aprender binários para depois aprender linguagens centenárias e finalmente passar para as linguagens utilizadas largamente hoje, enfim, estamos no mundo onde quando mais fácil e rápido puder, melhor.Se desenvolvemos aplicações rápidas e intuitivas porque é que na área de desenvolvimento precisamos criar rodas?

    Falopa!

  67. Bruno comentou:

    Marcos, o que eu quis dizer com “..aprender a ser auto-didata..” é que; nem sempre, correr atrás pelas próprias pernas em bucas do conhecimento ninja, vai torná-lo um ninja. Aqueles que tem um mestre ou um direcionamento adequado tem maiores chances de se tornar um.

    Eu particularmente não tive aulas de asp, php, .net, javascript.. mas tive uma boa introdução em lógica, algorítmos e outros fundamentos que me possibilitaram aprender, através do meu esforço e dedicação, as linguagens que me interessaram.

    Se eu não tivesse tido esse embasamento, provavelmente eu seria um pseudo-programador ou um profissional cujo código ninguém gostaria de manter.

    Acho que meu ponto de vista extrapola um pouco seu artigo que, certamente já deve contabilizar um embasamento teórico nos casos citados. Sendo assim concordo plenamente.

    Já no caso daqueles que estão começando do zero, acho injusto julgá-los de tal forma pois, mesmo que este busquem resultados por contra própria e, consigam fazê-lo; a chance de um erro ou prejuízo futuro inesperado é bem grande.

    Fato é, quem quer aprende. Mesmo que não seja um ninja com certificado de qualidade, mas aprende. Mas onde você vai chegar se quiser saltar antes de aprender a voar?

  68. Bruno comentou:

    Complementando, acho que o assunto aqui é iniciativa e interesse.. e não conhecimento técnico.

    Faço estes comentários pois, também já selecionei profissionais e nem sempre o cara pró-ativo trouxe resultados sólidos.

    Depende também do momento da sua empresa. Há empresas por onde passei que valorizam e treinam diamantes brutos. Outras contratam supostos “ninjas” para sair da penumbra ou resolver um pepino de imediato.

  69. Fábio comentou:

    Concordo com a questão do esforço, e só.

    Este pensamento causa um erro, devido a má compreensão do equilíbrio entre teoria x prática. É este erro que tornou nossa área, este lixo atualmente.

    Não temos registro, não temos “profissão”, não temos nada.

    Lembrando, nossa profissão só existe “na teoria”, elas não são reconhecidas em lugar algum. Sou formado e meu curso não é reconhecido pelo MEC, trabalho com carteira assinada, mas minha profissão não é reconhecida pelo MT. Não temos “categoria” ou “associação” que nos garantam qualidade, igualdade etc.

    A sim, temos livros e mais livros. Realmente, só no colégio eu li mais de 100 livros técnicos de programação, e daí? Continuo sem um reconhecimento, não há nenhum órgão ou entidade que comprove realmente que eu sei e sou capaz, no máximo estas certificações “capitalistas”. E como consequência, temos milhares de centenas de incompetentes não formados e sem experiência ou conhecimento trabalhando na área. E o que é pior, não sou contra quem “se vira” e aprende, sou contra quem não sabe “bulhas”, sem lógica alguma, que fazem códigos esdrúxulos e bugados. E ainda recheiam seus currículos de “conhecimentos” falsos e mentirosos.
    Vai me falar que a culpa é apenas do profissional? Não, não é. É falta de organização.

    E nem vou falar das UNIP, PUC e outros lixos que se dizem “entidades educacionais”, sou formado e falo por experiência própria, só servem para título no currículo, e só.

    Por que vocês imaginam que direito, medicina, arquitetura, engenharia civil e muitas outras profissões têm órgãos e registros? Apenas de enfeite? Elitista?

    Um bom profissional não faz, apenas, passando a madrugada toda tentando e errando, também já tive de fazer isto. Não foi tão simples assim, primeiro eu estudei e li (e muito) a teoria, sintaxe, exemplos práticos etc., depois que vamos para o prático e tudo o mais.

    Tenho 15 anos de profissão, e nenhum reconhecimento. Perderia fácil uma oportunidade de trabalho por causa dos currículos “fakes” e mentirosos. Por exemplo:
    “Conhecimentos avançados em desenvolvimento web” = fiz um site tosco em HTML e escrevi ‘Olá, mundo’ (Ramalho adora começar com isto kkk).
    E os processos seletivos? Vem um indivíduo de RH fazer um teste (geralmente mal feito) e ainda “julga” o candidato. Quem confiaria na avaliação de um analista de RH para um profissional em TI? Fala sério, eles mal sabem usar o “word” (prefiro o BrOffice)… de onde tiraram a idéia de colocar um cara destes para testar nossas habilidades? É só decorar um discurso, falar o que eles querem ouvir, e pronto… e eu um dia achei que estava em uma área de tecnologia.

    O real problema da área é: PICARETAGEM! Tem demais…

    Sem estudo não há conhecimento, mas estranhamente nesta “joça” de área, as pessoas invertem isso e acham que sabem tudo porque escreveram “Olá, mundo” no browser ou na tela compilada sem UMA linha de código e obviamente, de lógica. E enchem o currículo de conhecimentos que nunca nem viram de perto… é vergonhoso isso.

    Se um dia não tivermos tantos “Gersons” na área, talvez conseguiremos o tão sonhado reconhecimento, talvez.

  70. MarcoGomes comentou:

    @fábio: Se você começou um curso que não tem reconhecimento do MEC, a culpa (responsabilidade) é sua, não de quem aprende sozinho.

    “Emprego” é coisa do passado, e se você perde uma oportunidade pela ineficiência do empregador em te avaliar, a culpa é dos dois: Dele por estar preso a métodos ultrapassados de avaliação, e sua por se sujeitar a isso.

    Em momento algum eu incentivei a proliferação de charlatões, muito pelo contrário, sou contra, inclusive, a proliferação de charlatões que se formam em computação sem programar uma linha sequer, e isso acontece até na Federal de onde saí. Por isso que incentivo a criação de projetos, pessoais ou em comunidade, pra mostrar, na prática, o que você fez na vida. Não há “diploma” mais confiável que um projeto como MySQL, WordPress ou Ubuntu no currículo.

    Por que vocês imaginam que direito, medicina, arquitetura, engenharia civil e muitas outras profissões têm órgãos e registros?

    Respondo: Porque são profissões milenares, com práticas milenares, e processos de seleção milenares. Além disso, o exercício dessas profissões muitas vezes envolve risco de morte aos “clientes”. Nós, da Computação, estamos aqui a menos de 50 anos, e, na real mesmo, a menos de 20. E dificilmente um erro em um progrma resulta no óbito de alguém (pode acontecer, mas é raro). Podemos ousar.

    Eu não incentivo o abandono da teoria, longe disso, a leitura e o estudo são importantíssimos. Só não concordo que esse estudo precise, necessariamente, ser feito numa cela de aula com um professor, um quadro negro ou branco, e 20 coleguinhas iguais a você.

    E sobre o conteúdo do post, você pode conhecer “O Princípio da Caridade”:

    the goal of this methodological principle is to avoid attributing irrationality, logical fallacies or falsehoods to the others’ statements, when a coherent, rational interpretation of the statements is available.

    Até mais, Marco Gomes.

  71. Raul Mangolin comentou:

    @fabio, como o @MarcoGomes mesmo disse “Não há “diploma” mais confiável que um projeto como MySQL, WordPress ou Ubuntu no currículo”, nosso diploma de faculdade, reconhecida ou não pelo MAC, não vale nada comparado aos nossos projetos feitos nas madrugadas ou nas agências que passamos.

    Vou começar minha graduação no início de fevereiro, não por necessitar de um diploma para ser reconhecido, mas sim para abrir minha cabeça para novas áreas/linguagens da programação.

    Minha experiência profissional como programador é pequena, mas o que me fez ser reconhecido e aceito na agência que trabalho atualmente, foram os projetos das madrugadas e os freelas que fazia enquanto ainda não trabalhava “oficialmente”.

    Conehço várias pessoas que mesmo com diploma na mão, não consegue um freela se quer, por não ter programado nada nas horas vagas.

    raul mangolin

  72. Fábio comentou:

    Opa, Marco!

    Desculpe, mas não falei em lugar algum que a culpa da falta de reconhecimento pelo MEC ao meu curso (“Análise de Sistemas”, que hoje nem existe mais) é de quem aprende sozinho. Falei?

    Sobre o emprego, eu concordo com você, mas eu falo no geral, para o mercado “como um todo”, afinal, de uma forma ou de outra não temos como fugir da necessidade de trabalhar (salvo algumas exceções).

    Nem todos podem publicar seus projetos (a grande maioria são de propriedade privada, tanto o conteúdo como em alguns casos até os direitos intelectuais são “privados”), já assinei vários termos de “direitos autorais”, por isso.

    Aí que penso: Estas profissões são milenares, e nós “recém-nascidos” somos melhores? Acho que não, podemos aprender com a experiência alheia também, não acredito que temos de fazer tudo igual, claro, em contra-partida não precisamos “bater-cabeça”… mas é o que parece que vai acontecer.

    Não acredito que sala de aula seja uma “cela”, mas sim, concordo que a metodologia usada (até hoje) está errada. É necessário evoluir, se foi isto que quis dizer, concordo também com isto, mas não em “dizimar” salas de aula (pode até ser virtual, o importante é ter um “educador” como referência).

    Abraços.

  73. Pedro comentou:

    Marco,

    Concordo com a essência do seu texto, porém, discordo em alguns pontos.

    Primeiro o título. Sei que a idéia foi chamar a atenção e tal, mas se tem algo que programar não é, é ser de graça. Isso porque aprendar a programar, utilizando os passos que você sugeriu inclusive, exige o investimento de um bem dos mais preciosos de uma pessoa, seu tempo. Veja bem, não estou dizendo que isso seja algo ruim, longe disso, só estou enfatizando que não é custoso, e muito.

    Outro coisa que eu descordo é dos passoso que você citou. Sei que foram um exemplo didático apenas, mas o que eu fico receoso quanto a ele é que o mesmo induz o surgimento de muitos cowboy coders que vão só fazendo as coisas, meio que sem entender o porque.

    É pra evitar esse tipo de coisa que é importante entender a teoria – que fique claro que não julgo necessário cursar uma universidade para aprendê-la. Então, não apenas baixe o SDK do Google, vá atrás de informação. Quer apreender OO? Leia o UncleBob sobre Solid Principles. Leia Eric Evans sobre DDD. Leia o Fowler sobre tudo :) Vá atrás, leia artigos científicos também, por que não? Procure por artigos da ACM. Aprenda sobre Dijkstra. Quer entender porque Ruby é diferente de Java? Estudo então sobre tipagem, saiba o que diferencia uma linguagem dinâmicamente tipada de uma estáticamente tipada.

    Quer entender outros paradigmas, vai estudar Haskell para entender um pouco de linguagens funcionais.

    Enfim, suas sugestões são sim, um bom começo. Mas para se tornar de fato um ninja, há de se ir muito além. :)

    Uma sugestão de leitura: The Pragmatic Programmer: from journeyman to master.

    Abraços,

    Pedro

  74. Raul Mangolin comentou:

    A proposta do Senado para a regulamentação:

    http://legis.senado.gov.br/mate-pdf/64268.pdf

    Senador MARCONI PERILLO.

    quase um lixo a proposta, mas ta valendo!

  75. DRE comentou:

    Primeiramente gostei do seu post “bunda mole”
    Em 2008 fiz dois semestres de ciencia da computação, em agora estou estudando por conta: Logica de prog., C,Javascript, e estou pensando em voltar a estudar no ano que vem se eu for continuar no terceiro semestre, senão faço um curso de programação pra trabalhar na area.
    Esse é o caminho?

  76. Eduardo Castro comentou:

    Ola, estou estudando pra ser mais um ninja da rede, mais não fiz nem um curso nem vou fazer sei que a rede pode proporcionar todo e qualquer conhecimento que preciso gostei muito desse artigo, esse e outros estão abrindo meus olhos !!
    ainda tenho alguma duvidas, meu sonho e MUDAR O MUNDO !!
    e vou fazer isso aqui do meu computadorzinhO

  77. Site Gratis comentou:

    Concordo, só programando se aprende, ou seja, na prática, enfrentando os erros na criação de sites e resolvendo-os. Como você diz, programar é grátis, então não custa nada meter a mão na massa.

  78. Daniele Iori comentou:

    Entrei na faculdade aprendi várias linguagens, naquela época a cada ano avançava mais a programação me esforcei ao maximo para aprender aprendi e passei na faculdade fiz ate um sistema. Era feliz. Só que minha inspiração era meu ex namorado estudei com ele, depois dos anos terminamos o namoro, tentei trabalhar, entreguei vários curriculuns em várias empresas nenhuma me deu a oportunidade pq não tinha experiencia, fiquei muito triste passou vários anos depois disso e vi que peguei amor pelo que estudei gostaria de ter uma nova oportunidade me formei em 2004 será que vocês poderiam me ajudar a relembrar. Agradeceria muito de coração pois estou desempregada.

  79. SEU LEU comentou:

    POR QUE SERA QUE TODO SITE QUE OFERECE CURSO DE PROGRAMADOR GRÁTIS E UMA FRALDE VOU COMEÇAR A DENUNCIAR ESTES SITES DE MERDA QUE SÓ TEM MERDA EM VEZ DE CONTEÚDO ASIM COMO O SEU.

  80. civaldo comentou:

    Olá,
    acabei de ler tudo que você publicou acima. Depois de quase estar desistindo de um projeto que estou tentando suas palavras me reanimou novamente. Não entendo nada construtor mas tentando aqui e alí consegui construir um site, mesmo que eu seja o único trafego que tenho eu fico admirando minha conquista. Enfim, comecei criar um projeto mais ainda está só no papel, mas como todo criador a gente sempre acha que tivemos uma excelente idéia, entao pensei que alguem poderia se interessar por meu projeto, passei pra uma empresa de invesmentos e a resposta que tive foi que eles nao investem em idéias. Entao pergunto eu: o que seria das grandes invenções se alguém não tivesse a idéia. Agora lendo o que escreveu eu cheguei a conclusão de que eu mesmo tenho que fazer acontecer.

  81. Lucas comentou:

    Marco, muito obrigado por este texto! Foi uk delicioso tapa na cara man rs te acompanho no face e por acaso tava dando uma pesquisada na net, ví esse post seu que foi de muita valia. Obrigado mano! Abraço.

  82. Eliseu Jr. comentou:

    Vou contar uma história…

    Em 2007 consegui um trabalho na capital (SP) pra trabalhar com JSP. Havia acabado de terminar o tec. em informática e estava afiado em Java web. Aconteceu que não fiquei um mês nesse trabalho. Sou do interior e passava por alguns problemas em casa, era jovem, tinha um relacionamento complicado e pegar ônibus as 5h e chegar em casa as 20h foi demais para quem eu era.

    Deixei a oportunidade para trás. Fiz vestibular da Fatec daqui e passei. Comecei a estudar e assim que terminou o primeiro semestre eu notei que não estava contente. Era o que eu queria, mas não o lugar, as pessoas. Os problemas pioraram, entrei em depressão, perdi a namorada, desisti do curso e me fodi. Bom, quando a poeira começou a baixar, decidi que ia fazer eng. da computação. Me matriculei com um pouco de apoio dos meus pais. Eu já tinha 21 anos.

    Essa faculdade era paga. Por isso passei a trabalhar com o meu pai em troca do estudo… Não durou muito. Não aguentei ele reclamando do valor decidi que ia dar um jeito de estudar de graça. Comecei a estudar pro ENEM. Fiz, tirei uma nota razoavel em 2009 e foi chamado na metade do ano pra Ciência da Computação. Acabaram as reclamações sobre o valor do meu estudo e eu passei a receber um salário.

    Bom, fazem 10 anos que toco o negócio do meu pai. Cada ano que passava, mais responsabilidade eu tinha. Me formei e hoje tenho quase 30 anos, perdi oportunidades, se tivesse segurado aquela primeira em 2007, hoje teria quase 10 anos de experiência. Meu pai vai se aposentar em breve e eu resolvi fazer um curso de Java pra tentar entrar no mercado… Dia desses mandei um currículo despretensioso, expliquei rapidamente que não tinha experiência, mas que estava estudando… Me retornaram perguntando se hoje eu mexia com Java. Respondi que apenas estudava… Foi então que notei que, se tivesse desenvolvido algo, teria um porrifólio.

    Acho que isso é realmente importante. Mesmo que você não tenha experiência pra oferecer, certamente vc sabe de algo. Crie, escreva algo além de hello world e mostre. É importante pra saberem como vc faz seu código… É o q estou fazendo agora. Se é tarde? Provavelmente. Mas o importante é fazer. Quando mais cedo começar, menos irá se lamentar no futuro.