Je suis développeur professionnel depuis un peu plus de six mois et j'ai été étonné de voir à quel point le monde est vraiment hors de l'université. J'ai continué à apprendre pendant mon temps libre mais je me demande où dois-je me concentrer?
FOCUS 1) La pile de développement utilisée par mon entreprise. Le gain le plus rapide dans mon développement quotidien. #Deepest
FOCUS 2) Une langue différente avec le même paradigme. Voyez si je peux généraliser mes connaissances et ma façon de penser.
FOCUS 3) Langage différent, paradigme différent. Élargissez mes frontières et apprenez de nouvelles façons de faire. #Broadest
Si quelqu'un a un objectif différent, n'hésitez pas à le faire.
la source
Lorsque les gens me demandent des conseils de carrière, votre question est l'une des premières que je leur pose. Je ne pense pas que quiconque puisse répondre à cette question pour vous; Je pense que vous devez décider par vous-même si vous concentrer sur la profondeur ou l'étendue est plus susceptible d'atteindre vos objectifs de carrière.
La dernière fois que j'ai changé d'équipe, j'ai eu deux opportunités: travailler sur l'équipe des outils de développement XBOX, ou travailler sur l'équipe du compilateur C #. J'ai réalisé que cela se résumait à une largeur vs une profondeur. Au sein de l'équipe XBOX, je pourrais travailler un jour sur les systèmes de sécurité, les systèmes audio le lendemain, la vidéo, la mise en réseau, l'interface matérielle, vous l'appelez. Bien sûr, certaines personnes sont des experts, mais tout le monde doit savoir un peu tout. Dans l'équipe du compilateur C #, je pouvais plonger dans un langage et un compilateur et vraiment comprendre le tout en profondeur.
J'y ai beaucoup réfléchi et j'ai décidé que j'étais plus apte à être tempéramental à être un expert sur une chose plutôt qu'un dilettante sur plusieurs. C'était un bon choix pour moi, mais ce n'est peut-être pas pour vous. Certaines personnes ont beaucoup de succès en sachant un peu de tout.
Mon conseil est donc de renverser la question. Déterminez quel type de personne vous êtes, puis voyez si votre entreprise a des opportunités pour quelqu'un comme vous. Sinon, trouvez-en un qui le fait.
la source
Être spécialiste peut vous coûter plus cher. Mais les opportunités d'emploi nécessitant un tel niveau seront limitées, tant en nombre qu'en zone géographique.
Être un généraliste paie peut-être moins, mais vous ouvre une grande variété de possibilités d'emploi, potentiellement dans le monde entier.
Pour les emplois de niveau supérieur et de gestion, il est préférable d'avoir une personne expérimentée dans une variété de choses, de techniques et de technologies. Connaître les bords et être capable de voir une vue d'ensemble fait de vous un atout précieux.
la source
Je pense qu'à votre stade de développement, obtenir une certaine profondeur est la première priorité. Je vois trop de gens qui en savent un peu sur un tas de choses mais qui ne peuvent pas passer le niveau d'entrée parce que toutes leurs connaissances sont au niveau d'entrée.
Si je voulais être un spécialiste, clairement, la profondeur de construction est le meilleur premier choix.
Si je veux être généraliste, créez d'abord la profondeur (atteignez au moins le niveau intermédiaire) dans une pile, puis dérivez-vous vers d'autres langues. Si vous développez d'abord une certaine profondeur, vous trouverez peut-être plus facile de développer la profondeur dans plusieurs langues, car vous avez plus de concepts à votre disposition et en savez plus sur ce que vous voudrez peut-être apprendre. Ensuite, je me ramifiais un peu dans autre chose. Revenez ensuite et augmentez la profondeur au niveau avancé, puis ramifiez-vous et apprenez plus de choses très différentes de ce que vous savez déjà. Ensuite, augmentez cette profondeur dans une zone différente à un niveau intermédiaire, réapprenez quelque chose d'autre, etc.
Attention - je suis un spécialiste donc je suis clairement en faveur de la profondeur des connaissances
la source
Les deux options ont leur place. Se concentrer sur la pile de développement utilisée par votre entreprise vous aidera dans votre travail, mais l'apprentissage d'autres technologies vous aidera dans votre carrière.
À la fin des années 1990, les compétences COBOL étaient très demandées par les entreprises qui devaient préparer leurs logiciels pour l'an 2000. Mais quiconque ne connaît encore que COBOL aujourd'hui aura beaucoup plus de mal à trouver du travail.
De la même manière, la technologie d'aujourd'hui sera obsolète bien avant que la plupart d'entre nous ne soient prêts à prendre leur retraite, il est donc essentiel d'apprendre de nouvelles compétences et technologies.
la source
Allez-y et apprenez quelque chose comme Haskell ou un Lisp. L'apprentissage d'un langage fonctionnel m'a vraiment obligé à découpler mon code, ce qui rend le débogage plus simple. Le seul problème que vous pourriez rencontrer est que vous ne voulez pas revenir en arrière.
http://book.realworldhaskell.org/read/
http://lisperati.com/haskell/
http://learnyouahaskell.com/
la source