Estudar para que se eu j√° sei o que fazer

{ November 1st, 2007 }


cmilfont

Autor: cmilfont

Tenho severas críticas ao modelo educacional, principalmente o superior. Vou e volto para a faculdade de tempos em tempos, minha escola real está nos livros, a faculdade é pelo diploma porque a falta dele as vezes fecha portas que não tem como serem abertas e em determinados momentos precisam serem ultrapassadas.

Minhas críticas derivam principalmente da falácia e do sofismo, as pessoas acreditam que possuir um nível superior as credita para a qualificação necessária a uma determinada tarefa simplesmente. Quantos alunos estão se formando esse ano em Ciência da Computação sem a necessária qualificação? A maioria? Todos? Nenhum? Como saber se não existe um mecanismo eficiente de provar isso?

Na ausência de um mecanismo eficiente, o mercado sempre adota pontos factuais para basear suas contratações, e uma delas é o porte de um diploma de curso superior.

Fiz quase todas as cadeiras que envolvem desenvolvimento de software: Estrutura de dados, laboratório 1 e 2, técnicas de programação 1 e 2, lógica matemática, teoria da computação, entre outras que não lembro no momento. Em todas essas cadeiras nunca ouvi o professor(a) sequer mencionar coisas como: Closure, Currying, Continuation, Design By Contract, Actor model, Lazy evaluation, Tail recursion, Quine, Engine, Liskov substitution principle, … mais algumas coisas que não lembrei no momento …

O básico de orientação a objetos é ensinado, o aluno consegue até responder o que é herança e encapsulamento, mas eu nunca vi sequer mencionarem Orientação a Objetos Prototype-based, aí tenho que me deparar com gente dizendo que Javascript ou Lua fede porque simplesmente não entende como funciona os conceitos e acha estranho a sintaxe das linguagens.

Eu mesmo passei a faculdade inteira sem discutir design patterns, com exceção de DAO, que eventualmente pula na frente dos alunos em alguma cadeira obscura de "desenvolvimento web" (sic). Hoje um amigo estava impressionado com as recomendações que o pessoal da SUN passou sobre o GoF na caravana de ontem, e eu falei para ele que isso é naftalina, sério, se em 2007, o GoF é novidade para você, algo de muito sério aconteceu com sua formação.

Tive um professor muito bom, Hélio Moura, que usava na época a primeira edição do livro "Applying UML and Patterns"(que é de 1997 e faz portanto 10 anos) do Craig Larman, referência na época para RUP, e passou alguns princípios legais como GRASP, Law of Demeter, Open/closed principle, entre mais algumas coisas legais que não lembro agora. Mas isso foi uma exceção, e esse professor não ministra mais aulas na faculdade onde estudo. Isso era coisa de 99 ou 2000, início do milênio, vi que os professores de lá ainda usam a mesma versão do livro do Craig. Detalhe, já estamos na terceira edição e com mudanças significativas.

Agora PoEAA do Martin Fowler que é bom, voce vai passar batido, nem tenha esperança de discutir isso em sala de aula.

Domain Model? isso é anos-luz da academia brasiliana, vá estudar que é melhor. Domain Driven Design também é assunto inexistente, procure outra freguesia.

Metodologias ágeis, enquanto a academia está descobrindo XP (timidamente claro), o mercado já discute a fusão entre XP, Scrum, FDD, Crystal, DSDM. Até a Microsoft tem métodos ágeis enquanto a academia consolida UPs como novidade.

A maioria sai da faculdade monoglota, com apenas o conhecimento específico de uma linguagem de programação, enquanto deveriam estudar princípios, estão estudando linguagem. Programação funcional até pode ser vista, talves raramente em uma cadeira de calculo, ou IA (com LISP) se der tempo, alguns confundem sentenças com paradigmas, tinha um professor que falava que por a linguagem ter sentença condicional como um "IF", ela não poderia ser considerada 100% Orientada a objetos, entre outras sandices bizarras. DSL? bah!

Conversando com um amigo dia desses lá na faculdade, entramos no assunto banco de dados, sem querer surgiu no meio da discussão sobre formas normais, para minha surpresa ele disse que não sabia do que eu estava falando, achei estranho porque o professor de banco de dados 1, cadeira responsável por esse conteúdo, é um excelente professor, Fernando Siqueira, e conhecendo ele eu sabia que não passaria ninguém sem ensinar formas normais. Depois esse meu amigo voltou e falou que deu uma "olhada" no livro e "lembrou". Ora, isso me causa apreensão, mesmo eu sabendo que o professor tem a competência sobre uma matéria e tenho certeza que a aplicou, porque um aluno simplesmente esquece o principal conteúdo de uma determinada matéria?

São mistérios, mas mistério mesmo é uma menina que se forma esse ano e não sabe ainda para que serve um banco de dados, mesmo evidentemente ter cursado todas as cadeiras de banco de dados. Isso sim merece estudo, tese, trabalhos científicos e tudo que nós pudessemos descobrir.

Livros

A minha escola real são os livros, tive e tenho alguns bons professores, uns poucos excelentes, mas os autores clássicos são os mestres dos meus mestres. Não procure livro específico, procure autor, e toda a cultura por volta desse autor.

Posso indicar alguns que são a base da carreira de qualquer desenvolvedor que se preze: Alan S. Koch, Alistair Cockburn, Bertrand Meyer, Craig Larman, Eric Evans, Joshua Kerievsky, Kent Beck, Martin Fowler, Rod Johnson, Ron Jeffries, Steve McConnell, Robert C. Martin, … isso só dando uma olhadela aqui na minha "biblioteca". Sei que esqueci nomes importantes, mas se você seguir essa lista, vai acabar caindo neles.

O pior disso tudo é que o pessoal fica empolgado com título aqui, o cara virou doutor já se acha semi-deus, são praticamente inacessíveis, é muito mais facil você falar com Martin Fowler do que falar com um Doutor brasileiro.

Então voce tem duas alternativas, estudar ou frequentar a faculdade, dá para conciliar as duas, mas a preferência será sempre para o estudo, ele que pagará o leite de cada dia, aliás… leite não que esse está matando ultimamente, e ei que pensei que era a cerveja :)

Categories: Design Patterns, Engenharia de Software, Metodologia, Orientação a Objetos ~ ~ Trackback


Assine os coment√°rios deste artigo.


22 Responses to “Estudar para que se eu j√° sei o que fazer”

  1. 1
    Rafael Ponte

    Complicado mesmo.. hoje o que n√£o falta √© gente saindo de faculdades de Ci√™ncia da Computa√ß√£o ou afins sem aquele conhecimento “base” para entrar no mercado, e pior s√£o os que j√° est√£o no mercado h√° um bom tempo com uma qualidade duvidosa e ningu√©m se toca!

    Enfim, no final das contas o mercado separa os bons dos duvidosos, mesmo que demore algum tempo :)) Mas não deixe de ter seu diploma, por pior que seja como você mesmo disse, abrirá algumas portas onde o mesmo nada mais é que uma chave.

    Excelente post Milfont.

  2. 2
    Rafael Carneiro

    Esse post foi t√£o bom que n√£o tenho palavras para qualific√°-lo e parabeniz√°-lo. S√≥ tenho a dizer: “meus parab√©ns Milfont, continue escrevendo excelentes posts e fazendo com que a comunidade de T.I acorde para os avan√ßos e mudan√ßas do novo mundo”.

  3. 3
    Rafael Carneiro » Blog Archive » Aten√ß√£o: n√£o fa√ßa mais nada antes de ler o post mencionado abaixo

    […] Sem mais nada a dizer, apenas leia esse excelente artigo do Christiano Milfont, de t√≠tulo “Estudar para que se eu j√° sei o que fazer“. […]

  4. 4
    Emanoel Tadeu

    Livro é essencial. Muita coisa do que aprendi hoje foi lendo, não em sala de aula escutando o professor. Excelente post!

  5. 5
    Chico

    √ďtimo post!

    Ao ler o t√≠tulo, logo pensei: “L√° vem mais um defensor da pr√°tica dizer que teoria √© bobagem!”

    Felizmente, a cada linha você me provou ser exatamente o contrário. Parabéns!

    J√° tive excelentes professores – geralmente aqueles detestados pela maioria – e tenho saudade deles. Educadores? S√≥ conheci um em toda a minha vida …

    Existe uma zona de conforto perigosa em nossas salas de aula. De um lado, professores fingindo que ensinam. Do outro lado, alunos jurando que aprendem.

    Agora, o pior mesmo √© a pose…

    Abraço,

  6. 6
    Handerson Frota

    Muito massa milfont, como sempre digo: “A faculdade √© apenas um complemento, assim como uma certifica√ß√£o, mas nenhum desses diplomas vai garantir que voc√™ √© bom no que faz ou tem conhecimento para faz√™-lo.”

    Temos v√°rios exemplos de “profissionais” que s√£o formados e acreditem, est√£o lecionando, e n√£o tem o m√≠nimo de conhecimento, mas tem um diploma, isso √© errado, putz √© triste mesmo. Um j√° √© professor de FGF √© inacredit√°vel e intrag√°vel.

    Parabêns Milfont.

    Abraços

  7. 7
    M√°rio Arag√£o

    é muito mais facil você falar com Martin Fowler do que falar com um Doutor brasileiro

    hahaha! √ďtima! Consegue falar s√©rio e ainda me fazer rir.

    √Č isso, disse tudo e eu preciso atualizar minha “biblioteca”.

    Abraço!

  8. 8
    Rafael Ponte » Blog Archive » Uma pitada de verdade.. com Christiano Milfont

    […] Milfont escreveu um excelente post sobre a realidade na educa√ß√£o de Ci√™ncias da Computa√ß√£o e o mercado de trabalho, muito bom […]

  9. 9
    Hebert Aquino

    Milfont, acho que voc√™ escreveu um excelente post, mas algumas coisas que voc√™ falou acho que s√£o quest√Ķes mutio complexa de serem resolvidas na nossa profiss√£o. Vou te dar um exemplo bem claro, o que diferencia um bom aluno √© se “ele aprendeu aquilo para a vida” e n√£o para passar na cadeira de Banco de Dados porque ele queria era apenas se formar na faculdade e ter um diploma, mas ter diploma n√£o significa ter emprego garantido e nem que voc√™ √© melhor do que uma pessoa que n√£o tenha diploma. A nossa profiss√£o n√£o classifica se uma pessoa est√° qualificada o suficiente para assumir um cargo como a OAB, acho que se a classe fosse unida e exitisse uma forma de regulamentar a profiss√£o algumas dissiparidade podessem ser resolvidas.
    Espero que algumas dessas quest√Ķes possam um dia ainda serem resolvidas.

    Mas no meu ponto de vista o diploma serve para uma pessoa n√£o apenas ingressar no mercado de trabalho, mas muitas vezes realizar concurso p√ļblico que √© nada mais que um novo vestibular.

    Cara as vezes nem todos os professores est√£o correto do que est√£o falando e s√£o donos da verdade, embora voc√™ quando √© aluno est√° acreditando em tudo que ele est√° passando…

    Já conheci todos os tipos de mestres aqueles que mesmo errado lhe convence de quer está certo e até mesmo aqueles que você vê que é um charlatão e outros que dá prazer de assitir as suas aulas.

    Na minha opnião você acertou em todos os pontos, mas temos que ver que o mercado seleciona os aptos.

  10. 10
    Rafael de F. Ferreira

    Oi Christiano, eu concordo na maior parte do que voc√™ disse, mas tenho s√≥ duas contemporiza√ß√Ķes:

    “a linguagem ter senten√ßa condicional como um “IF”, ela n√£o poderia ser considerada 100% Orientada a objetos”
    N√£o que seja uma considera√ß√£o particularmente relevante, mas isso at√© tem fundamento, sim. Voc√™ conhece Smalltalk? Veja como condi√ß√Ķes s√£o implementadas no ambiente.

    Outra coisa √© que a √°rea de computa√ß√£o √© muito ampla. Por exemplo, a maioria das refer√™ncias que voc√™ citou vem do que o Fowler recentemente denominou de “escola OOPSLA de pensamento”. Se voc√™ pegar um pesquisador de alto n√≠vel na √°rea de algoritmos para combinat√≥ria, p. ex., o tipo de trabalho que ele faz n√£o tem absolutamente nada a ver com OO ou XP. Para ficar mais pr√≥ximo do mercado, pense que as core competencies do Google (recupera√ß√£o de informa√ß√Ķes e sistemas distribu√≠dos) passam longe de requerer um bom entendimento de domain modeling.

    Eu digo isso pq eu tb fico frustrado com o que vejo na facul, mas entendo que aquele tipo de conhecimento √© v√°lido. Embora eu esteja ca#ando e andando para Programa√ß√£o Linear, faz algum sentido que isto seja ensinado, pois √© uma √°rea de pesquisa cient√≠fica frut√≠fera e, afinal, o nome do curso come√ßa com “ci√™ncia”…

  11. 11
    Moacir

    Geralmente nas faculdades, eu acredito que seja em todas, os professores d√£o uma maior √™nfase ao conhecimento acad√™mico como p√≥s-gradua√ß√Ķes, mestrados, doutorados, mas o que realmente d√° “sustento” eles n√£o incentivam, sal√°rio de professor √© razo√°vel, mas imagina o de um programador de uma grande empresa.
    Acho que é o melhor post que já li sobre professores, alunos e conhecimento. Isso é tudo que eu sempre quis falar, mas nunca encontrei palavras o suficiente para dizer.

  12. 12
    Alline

    Eu que agrade√ßo as boa dicas…
    :)
    √Č sempre bom encontrar posts com boas dicas… tenho tentado fazer o mesmo…

    []’s

  13. 13
    Paulo

    Simplesmente perfeito! Você escreveu o que a gente tá querendo dizer há anos. Obrigado !
    Tem algu√©m do MEC lendo este blog ? T√° na hora de tirar a poeira da universidade brasileira…

  14. 14
    @#$%¨&

    Fale pela sua faculdade. Estou no 3o (de 10 semestres) de eng computação cefet/ce e eu e minha turma, cerca de 20, conhece pelo menos a metade dos assuntos que vc citou. Claro, nem tudo devido apenas a contato com professores, afinal esta é uma da áreas do conhecimento mais abrangentes e esperar conhecer tudo em um curso de graduação é, no mínimo, ingenuidade.

    E se seus amigos, depois de uma disciplina de banco de dados, n√£o conhece interpretar/entender para o que serve BD… ou n√£o assistiu aula, ou n√£o realizou os trabalhos, ou vive em outro mundo! N√£o acredito que isto seja culpa do curso/faculdade, mas incompet√™ncia dos alunos.

    BD por exemplo eu ainda não estudei nada diretamente na faculdade, mas participando de atividades com profs, já sei usar linguagem sql, desenvolver aplicativos java/c# relacionando tabelas, claro que ainda está um pouco longe de um conceito técnico formal, mas já sei usar e sei a complexidade teórica do assunto, apesar de ter somente uma noção da prática! =]

    Objetivo da faculdade n√£o √© lhe tonar um certificado em todas as linguagens do mundo. Ela lhe dar uma orienta√ß√£o, do que pricinpalmente √© usado, quer apreder todas? Boa sorte! Acesso ao prof para orientar a quem tem interesse em ESPERCIALIZAR-SE em conhecedor de linguagens. At√© pq, linguagem por linguagem… n√£o se aprende linguagem.. aprende-se programar! Linguagem √© sintaxe. Muda uma coisa ou outra.. paradigmas… conhecer programa√ß√£o estruturada e programa√ß√£o O.O. j√° meio caminho para se programar em quase tudo, a diferen√ßa depois disso ser√° sintaxe. Vc, pelo bom conhecedor do assunto que parece querer mostrar ser, deve saber.

    Ent√£o muito cuidado. Onde vc estuda? Aposto que em faculdade p√ļblica. Nosso sistema educacional precisa de mudan√ßas, mas com certeza mudan√ßas mais urgentes na educa√ß√£o b√°sica. Na universidade, inclusive a p√ļblica, se pode reclamar dos profs, ter contato com acad√™micos de outros lugares, principalmente quando o curso esta relacionando a TI… existem f√≥rum, cursos, apostilas, google… quem quer aprender, aprende. Agora na educa√ß√£o b√°sica, as crian√ßas n√£o tem acessos a estas facilidades.

    Se liga antes de falar besteira pro ai!

  15. 15
    cmilfont

    S√©rio, d√° pregui√ßa de responder a algu√©m que escreve “ESPERCIALIZAR-SE” em caixa alta evidenciando sua pr√≥pria ignor√Ęncia.
    Conheço o CEFET-CE e sei que não é essas coisas lá. Outra coisa, deixe de mentir que você não conheçe metade do que foi escrito aqui.

  16. 16
    Fabrício Costa

    Eu acho que voc√™ foi infeliz em algumas coloca√ß√Ķes, o papel do curso de ci√™ncia da computa√ß√£o √© de dar base te√≥rica para entender os conceitos computacionais na qual s√£o utilizados algumas tecnologias para tal fim. Se voc√™ fez ci√™ncia da computa√ß√£o deve saber que √© completamente imposs√≠vel a abordagem de todos esses assuntos que tamb√©m acho importantes, saiba que al√©m desses existem diversos que voc√™ n√£o citou. Hoje temos a obriga√ß√£o de fazer uma faculdade e al√©m disso temos que mergulhar nos livros, isso se quisermos acompanhar as novidades. Que cursa o curso de CC sabe a import√Ęncia e a mudan√ßa de mentalidade que ele nos tr√°z.

  17. 17
    Adolfo Neto: Outros

    […] Estudar para que se eu j√° sei o que fazer page_revision: 2, last_edited: 1222462060|%e %b %Y, %H:%M %Z (%O ago) edittags history files print site tools+ options edit sections append backlinks view source parent block rename delete help | terms of service | privacy | report a bug | flag as objectionable Hosted by Wikidot.com — get your free wiki now! Unless stated otherwise Content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License Click here to edit contents of this page. Click here to toggle editing of individual sections of the page (if possible). Watch headings for an “edit” link when available. Append content without editing the whole page source. Check out how this page has evolved in the past. If you want to discuss contents of this page – this is the easiest way to do it. View and manage file attachments for this page. A few useful tools to manage this Site. See pages that link to and include this page. Change the name (also URL address, possibly the category) of the page. View wiki source for this page without editing. View/set parent page (used for creating breadcrumbs and structured layout). Notify administrators if there is objectionable content in this page. Something does not work as expected? Find out what you can do. General Wikidot.com documentation and help section. Wikidot.com Terms of Service – what you can, what you should not etc. Wikidot.com Privacy Policy. _uff = false; _uacct = “UA-68540-5″; _udn=”wikidot.com”; urchinTracker(); […]

  18. 18
    cléber dos santos

    Excelente post!

    “Fico triste que na minha faculdade possui uma boa grade com materias bem alinhadas para o curso, todavia √© freiada drasticamente pela qualidade de ensino, que v√£o desde a coordena√ß√£o do curso(pela sua falta de motiva√ß√£o – eventos…) a qualidade profissional dos professores”, sem falar nos livros obsoletos na biblioteca.

    √Č claro qua nao devemos culpar os outros, procurar formas de aprender √© t√£o importante quanto ter uma boa faculdade, mas a parte que me toca foi que o curso de sistema de informa√ß√£o deu um salto no per√≠odo em que o MEC deu uma visita para dar o conceito do curso, lembrei do JK nessa √©poca, dos 50 anos em 5. Por√©m o MEC se foi o curso ganhou conceito B e retornou ao seu decl√≠nio, triste n√£o?

    Não conto com a faculdade para a aceitação no mercado de trabalho, mas seria interessante se as faculdades criassem mecanismos de apredizagem coerentes com a realidade, algo que motivasse os alunos, ja que estamos estudando teoria e tals é importante sim, é o principal erro dos acadêmicos eles ficam no mundo universitário, quando percebem ja estão apresentando a monografia e olham para trás e perguntam: urfa!! apresentei a monografia e passei e agora? será se estou pronto? o que eu sei?

    A perguntamos: é culpa do aluno, da faculdade ou um poquinho dos dois?

  19. 19
    cL aUg

    Parab√©n cara … Gostei muito do post, e quanto a facul concordo com tudo que voc√™ disse. Bem, eu n√£o fa√ßo faculdade, tenho apenas 16 anos, por√©m estudo pra caramba, compro um monte de livros, tenho a minha biblioteca …

    ūüėÄ

  20. 20
    Eduardo

    Acho que o grande problema √© a falta de prop√≥sito. Muitas pessoas entram na faculdade e acham que um diploma significa tudo para uma carreira de sucesso…

    Parab√©ns pelo post…

  21. 21
    Fulano sem coração

    http://www.lia.ufc.br/~serra/nlaboratorio.htm

  22. 22
    žĖĎŽįė

    I savour, lead to I discovered just what I was having a look for.

    You’ve ended my four day long hunt! God Bless you man. Have a great day.
    Bye

Leave a Reply