Como compensar por ter frequentado uma JavaSchool? [fechadas]


18

Em uma pergunta anterior , solicitei conselhos de carreira para novos engenheiros de software que se saíram bem antes e durante a faculdade. Mas e as pessoas que não tiveram a sorte de ir ao MIT ou a Yale, por qualquer motivo? E se você fosse ao que Joel Spolsky chama de JavaSchool ?

O que os alunos da JavaSchool podem / devem fazer para desenvolver suas habilidades e compensar o que eles perderam na faculdade? (Ou Joel estava errado sobre essas escolas serem desvantajosas?)



4
"Não deixe a escola atrapalhar sua educação" - Mark Twain
BlackJack

Respostas:


12

Apesar das alegações de Joel nesse artigo - e ele próprio reconhece o argumento -, muitas das áreas que podem ser perdidas por uma "JavaSchool" não são necessárias para muitos trabalhos.

Participei de algo que, suponho, se assemelha a uma JavaSchool , pois passamos a maior parte do tempo focando em linguagens de alto nível como C # e Java, mas isso não muda o fato de que "Algoritmos e estruturas de dados" ainda fazem parte da lista de classes obrigatória - para não mencionar todas as outras classes orientadas pela teoria. Concedido nem todos os "JavaSchools" são iguais, mas esse não é o ponto.

Na minha opinião, mais importante do que a compreensão de alguns dos tópicos mais difíceis de desenvolvimento é ser capaz de resolver problemas de maneira eficaz quando surgem desafios únicos. Como engenheiros de software, realizamos a grande maioria de nosso aprendizado no trabalho e, como tal, dois dos maiores aspectos da descrição de nosso trabalho são capazes de resolver problemas e capturar conceitos desconhecidos. Se, durante uma entrevista, alguém é incapaz de fazer uma tentativa discernível e lógica de resolver um problema novo para eles, sua incompatibilidade para uma determinada posição provavelmente se revelará.

Obviamente, ao contratar alguém para uma posição que requer exposição constante e uso de algum tópico intrincado que pode ser esquecido por um JavaSchool, geralmente é a escolha lógica para alguém que tenha um entendimento prévio, mas a falta de experiência não deve sempre exclui a qualificação para o trabalho .

Muito provavelmente, o cara de 50 anos de Java da sua empresa, que está lá desde que alguém se lembra, não tinha nenhum entendimento de Java até que seu trabalho (atual ou anterior) pediu a ele que aprendesse - e ele o fez. A rigor, é uma má prática demitir "o velho" para que um candidato mais jovem e mais "atualizado" possa tomar seu lugar; Dito isto, se a descrição do trabalho de qualquer funcionário, jovem ou velho, mudar, é responsabilidade desse funcionário ser pego ou encontrar um novo emprego. Só porque um indivíduo (especialmente um programador com experiência passada) não entende algum conceito, não significa que não está disposto ou é incapaz de aprendê-lo. De fato, se eles não estão dispostos a aprender, provavelmente não pertencem a nenhum emprego - muito menos ao seu.

É justo dizer que algumas "JavaSchools" são melhores que outras, e esse fato certamente deve ser considerado ao selecionar um candidato para um cargo, mas há traços pessoais muito mais importantes do que apenas onde alguém foi à escola.

É nossa aptidão enfrentar um problema e encontrar uma solução que nos defina como engenheiros, quase todo o resto é secundário.


+1 "É nossa aptidão resolver um problema e encontrar uma solução que nos defina como engenheiros, quase todo o resto é secundário".
Bill

Frequentei uma escola em que as linguagens de programação raramente eram abordadas (tínhamos uma base em C / C ++ / Java, infelizmente nenhuma linguagem funcional), e só conhecemos a teoria de CS. Por outro lado, falamos sobre bancos de dados, mineração de dados, redes de telefonia / celular / internet, interface homem-máquina, etc ... Aprendemos em profundidade e não em profundidade. Eu não acho que foi um mau negócio :)
Matthieu M.

1

Por que não trabalhar com um livro que apresenta a programação de maneira diferente da que você aprendeu? Por exemplo, existem vários livros bons e gratuitos que usam o paradigma funcional. Como criar programas é muito acessível. A estrutura clássica e a interpretação de programas de computador (http://mitpress.mit.edu/sicp/) é menos, mas fornece um profundo senso de iluminação.

Eu recomendo assistir as duas primeiras palestras do Abic sobre uma perspectiva diferente sobre o que é ciência da computação. São mais velhos, mas envelhecem muito bem (http://video.google.com/videoplay?docid=5546836985338782440#).


1

Sinto sua dor, como também fui para uma JavaSchool. A mina é na verdade classificada no Reino Unido com uma classificação bastante alta, mesmo que os alunos do meu ano não tenham recebido uma única aula de estruturas de dados. Tive a sorte de poder escolher o DSA como um curso opcional devido a erros administrativos no meu curso, mas essa é outra história angustiante ...

Na minha experiência, você experimentará algo em uma JavaSchool que não experimentará nas melhores universidades e esse é o aluno que deseja provar seu valor . Assim como em qualquer outra universidade antiga ou de tijolos vermelhos do meu país, tínhamos os preguiçosos típicos e os artistas decentes, mas havia um pequeno grupo de estudantes que estavam cientes de seus arredores e do que faltavam em sua educação. Inevitavelmente, essas pessoas não tiveram um desempenho brilhante no curso, mas deixaram a universidade sabendo mais do que todos os outros. Nos internamos em qualquer empresa de software que nos levasse durante os intervalos que tivemos, escolhemos os idiomas que nunca deveríamos aprender e estudamos as matérias que outros evitavam por serem difíceis.

Dos meus amigos, dois de nós estão realizando nossos estudos para o nível de mestrado, cursando todos os cursos avançados em que sentimos que sentimos falta da fundação e um cara espera que sua recente entrevista na Microsoft resulte em uma trabalho a tempo. Estou prestes a iniciar meu mestrado em breve, principalmente para preencher as lacunas da minha educação e passar mais um ano desenvolvendo as habilidades necessárias para maximizar meu potencial neste setor.

No mundo real, as pessoas sempre mantêm esses preconceitos e, na maioria das vezes, são completamente fundamentadas na verdade. Se você acha que sua escola é inadequada, conte a eles e use sites como esse para aumentar seu nível de educação.


0

Bem, você pode obter um emprego escrevendo software em Java. Desde que você seja bom no que faz, a escola em que estudou e / ou o seu principal não são muito relevantes após o primeiro emprego, mesmo que seja assim .


0

A melhor coisa que consigo pensar é ir e (re) aprender programação em um paradigma completamente diferente, a fim de se libertar da maneira de pensar orientada a objetos.

Eu sugeriria no mínimo:

  • Linguagem Assembly , para obter uma apreciação real de como a máquina funciona
  • Haskell , para uma visão muito pura da programação funcional
  • Lisp , para programação funcional impura e metaprogramação (Clojure seria minha primeira escolha, mas Scheme ou Common Lisp também são ótimos)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.