Sou desenvolvedor profissional há pouco mais de meio ano e fico impressionado com o tamanho do mundo realmente fora da faculdade. Continuei aprendendo no meu tempo livre, mas estou pensando em onde devo me concentrar?
FOCO 1) A pilha de desenvolvimento usada pela minha empresa. Pagamento mais rápido no meu desenvolvimento do dia a dia. #Deepest
FOCO 2) Uma linguagem diferente com o mesmo paradigma. Veja se consigo generalizar meus conhecimentos e minha maneira de pensar.
FOCO 3) Linguagem diferente, paradigma diferente. Expanda minhas fronteiras e aprenda novas maneiras de fazer as coisas. #Amplo
Se alguém tiver um foco diferente, sinta-se à vontade para divulgá-lo.
fonte
Quando as pessoas me pedem conselhos de carreira, sua pergunta é uma das primeiras perguntas que faço. Eu não acho que alguém possa responder a essa pergunta para você; Acho que você deve decidir por si mesmo se é mais provável que o foco na profundidade ou na amplitude atinja seus objetivos de carreira.
Quando mudei de equipe pela última vez, tive duas oportunidades: trabalhar na equipe de ferramentas para desenvolvedores do XBOX ou na equipe do compilador C #. Percebi que tudo se resumia à amplitude versus profundidade. Na equipe da XBOX, eu poderia trabalhar em sistemas de segurança um dia, sistemas de áudio no dia seguinte, vídeo, rede, interface de hardware, etc. Claro, algumas pessoas são especialistas, mas todos precisam saber um pouco sobre tudo. Na equipe do compilador C #, eu poderia mergulhar em um idioma e um compilador e realmente entender tudo em profundidade.
Pensei muito e decidi que era mais temperamental para ser um especialista em uma coisa, e não um diletante para muitas. Essa foi uma boa escolha para mim, mas pode não ser para você. Algumas pessoas têm muito sucesso sabendo um pouco de tudo.
Meu conselho, portanto, é inverter a questão. Descubra que tipo de pessoa você é e veja se sua empresa tem oportunidades para alguém como você. Caso contrário, encontre um que faça.
fonte
Ser um especialista pode torná-lo mais caro. Mas as oportunidades de emprego que exigem esse alto nível serão limitadas, tanto em número quanto geograficamente.
Ser generalista talvez pague menos, mas abre uma grande variedade de oportunidades de emprego para você, potencialmente em todo o mundo.
Também para trabalhos gerenciais e de nível superior, é preferível ter uma pessoa com experiência em várias coisas, técnicas e tecnologias. Conhecer as arestas e ser capaz de ver uma imagem grande faz de você um ativo valioso.
fonte
Penso que, no seu estágio de desenvolvimento, obter profundidade é a primeira prioridade. Eu vejo muitas pessoas que sabem um pouco sobre um monte de coisas, mas não conseguem deixar de fazer um trabalho de nível de entrada, porque todo o seu conhecimento é de nível de entrada.
Se eu quisesse ser especialista, claramente, construir profundidade é a melhor primeira escolha.
Se eu quiser ser um generalista, construa a profundidade primeiro (chegue ao nível intermediário) em uma pilha e depois se ramifique para outros idiomas. Se você desenvolver um pouco de profundidade primeiro, poderá achar mais fácil criar profundidade em vários idiomas, pois possui mais conceitos disponíveis e sabe mais sobre o que você pode aprender. Então eu me ramificaria um pouco para outra coisa. Em seguida, volte e desenvolva profundidade para o nível avançado, depois se ramifique novamente e aprenda mais coisas muito diferentes do que você já sabe. Em seguida, expanda essa profundidade em uma área diferente para um nível intermediário, aprenda outra coisa novamente etc.
Advertência - sou especialista, por isso sou a favor da profundidade do conhecimento
fonte
Ambas as opções têm seu lugar. O foco na pilha de desenvolvimento usada pela sua empresa o ajudará em seu trabalho, mas aprender sobre outras tecnologias o ajudará em sua carreira.
No final dos anos 90, as habilidades em COBOL eram muito procuradas por empresas que precisavam preparar seu software para o ano 2000. Mas quem ainda conhece apenas hoje a COBOL terá muito mais dificuldade em encontrar trabalho.
Da mesma forma, a tecnologia de hoje ficará obsoleta muito antes de a maioria de nós estar pronta para se aposentar, portanto, aprender novas habilidades e tecnologias é essencial.
fonte
Vá em frente e aprenda algo como Haskell ou Lisp. Aprender uma linguagem funcional realmente me permitiu dissociar meu código, tornando mais simples a depuração geral. O único problema que você pode encontrar é que não deseja voltar.
http://book.realworldhaskell.org/read/
http://lisperati.com/haskell/
http://learnyouahaskell.com/
fonte