Eu tenho entrevistado diversos freshers que foram ensinados Java em escolas de engenharia sob o curr�culo da inform�tica. Entrevist�-los destacou problemas graves com sua instru��o assim como com o sistema. Esta � uma breve vista geral das edi��es e das maneiras entrevistar tais candidatos. Na extremidade eu inclu� minha recomenda��o dos cursos para Software Engineers.

Os estudantes em a maioria de institutos da engenharia est�o sendo ensinados Java diretamente sem uma boa introdu��o a desenvolvimento orientado ao objecto. No melhor dos casos t�m o conhecimento superficial de conceitos de OO como o polimorfismo. Torna-se nauseous para prestar-lhes aten��o repetir de cor as defini��es sem demonstrar uma compreens�o desobstru�da de conceitos e de l�gica subjacentes. Tais graduados n�o se transformam nada os codificadores mais do que estruturados de C que usam Java.

Aprender Java mais � saber sobre empacota, que � uma aproxima��o incorreta. Java n�o � apenas sobre as bibliotecas que fornece. Qualquer um com habilidade l�gica pode rapidamente escolher bibliotecas novas.

Java � uma l�ngua com um f�cil aprender a sintaxe que deve primeiramente ser dominada. � uma plataforma que ajudas voc� para desenvolver facilmente a cruz-plataforma e as aplica��es web. Conhecer Java sem saber sobre a correia fotorreceptora (� excep��o de googling e de email), por exemplo, � infrut�fero.

Os programadores de Java apenas n�o precisam de conhecer Java, a l�ngua. Precisam de ter uma compreens�o de conceitos de software b�sicos como o desenvolvimento a tr�s n�veis, os sistemas de gest�o da base de dados relacional, os processos etc. da qualidade.

Os programadores de software com uma compreens�o estreita do campo s�o prov�veis ser uma responsabilidade a se e a suas companhias. Eu procuro os povos que t�m um interesse saud�vel no campo e n�o esses que o escolheram unicamente por causa de seu potencial do sal�rio.

Minha aproxima��o a entrevist�-los � encontrar sua claridade dos conceitos em o que pouco (ou muito) sabem. Eu pe�o lotes de porque. Conseguindo justificar mesmo perguntas �bvias como o valor de vertentes orientadas ao objecto do desenvolvimento ou do polimorfismo iluminam-se em seus underpinings l�gicos.

Meus cursos recomendados para enginners do software (1 semestre cada um) seriam:

  1. Introdu��o aos computadores
  2. Linguagem de programa��o (Fortran)
  3. Estruturas do algoritmo e de dados
  4. Desenvolvimento orientado ao objecto (que usa preferivelmente o SmallTalk)
  5. Programa��o de software de Java
  6. Metodologias da programa��o de software (inclui a programa��o do extremo)
  7. Teste do software & processos da qualidade
  8. Testes padr�es do projeto em Java
  9. Programa��o de software da empresa
  10. Trabalhos em rede - TCP/IP, UDP, smtp, POP3, HTTP etc.

Opcional:

  1. Seguran�a de computador
  2. Intelig�ncia artificial