He sido desarrollador profesional durante poco más de medio año y me ha sorprendido lo grande que es realmente el mundo fuera de la universidad. Continué aprendiendo en mi tiempo libre, pero me pregunto dónde debería concentrarme.
ENFOQUE 1) La pila de desarrollo utilizada por mi empresa. El pago más rápido en mi desarrollo diario. # Profundo
ENFOQUE 2) Un lenguaje diferente con el mismo paradigma. Vea si puedo generalizar mi conocimiento y forma de pensar.
FOCO 3) Lenguaje diferente, paradigma diferente. Expande mis fronteras y aprende nuevas formas de hacer las cosas. #Broadest
Si alguien tiene un enfoque diferente, siéntase libre de exponerlo.
fuente
Cuando la gente me pide consejos de carrera, su pregunta es una de las primeras preguntas que les hago. No creo que nadie pueda responder esta pregunta por ti; Creo que tienes que decidir por ti mismo si concentrarte en profundidad o amplitud es más probable que cumplas tus objetivos profesionales.
La última vez que cambié de equipo tuve dos oportunidades: trabajar en el equipo de herramientas para desarrolladores de XBOX o trabajar en el equipo compilador de C #. Me di cuenta de que todo se reducía a amplitud vs profundidad. En el equipo de XBOX podría trabajar en sistemas de seguridad un día, sistemas de audio al siguiente, video, redes, interfaz de hardware, lo que sea. Claro, algunas personas son expertas, pero todos tienen que saber un poco sobre todo. En el equipo del compilador de C # pude sumergirme en un lenguaje y un compilador y realmente entender todo en profundidad.
Lo pensé mucho y decidí que estaba más preparado para ser un experto en una cosa que para un diletante. Esa fue una buena opción para mí, pero puede que no sea para ti. Algunas personas tienen mucho éxito sabiendo un poco de todo.
Mi consejo, por lo tanto, es cambiar la pregunta. Averigüe qué tipo de persona es y luego vea si su empresa tiene oportunidades para alguien como usted. Si no, encuentra uno que lo haga.
fuente
Ser un especialista puede hacerte más caro. Pero las oportunidades de trabajo que requieren ese alto nivel serán limitadas, tanto en número como geográficamente.
Ser un generalista quizás paga menos, pero le abre una amplia variedad de oportunidades de trabajo, potencialmente en todo el mundo.
También para trabajos de nivel superior y gerenciales se prefiere tener una persona con experiencia en una variedad de cosas, técnicas y tecnologías. Conocer los bordes y poder ver una imagen completa lo convierte en un activo valioso.
fuente
Creo que en su etapa de desarrollo, obtener cierta profundidad es la primera prioridad. Veo demasiadas personas que saben un poco sobre un montón de cosas pero no pueden dejar de hacer el trabajo de nivel de entrada porque todos sus conocimientos son de nivel de entrada.
Si quisiera ser un especialista, claramente, construir profundidad es la mejor primera opción.
Si quiero ser un generalista, primero construya profundidad (llegue al menos a un nivel intermedio) en una pila y luego bifurque a otros idiomas. Si desarrolla algo de profundidad primero, puede que le resulte más fácil construir profundidad en varios idiomas, ya que tiene más conceptos disponibles y sabe más de lo que le gustaría aprender. Entonces me ramificaría un poco en otra cosa. Luego regrese y desarrolle profundidad al nivel avanzado, luego bájese nuevamente y aprenda más cosas que son muy diferentes de lo que ya sabe. Luego expanda esa profundidad en un área diferente a un nivel intermedio, aprenda algo más nuevamente, etc.
Advertencia: soy un especialista, así que claramente favorezco la profundidad del conocimiento
fuente
Ambas opciones tienen su lugar. Centrarse en la pila de desarrollo utilizada por su empresa lo ayudará en su trabajo, pero aprender sobre otras tecnologías lo ayudará en su carrera.
A fines de la década de 1990, las empresas que necesitaban preparar su software para el año 2000 tenían gran demanda de las habilidades de COBOL. Pero cualquiera que todavía conozca solo COBOL hoy en día tendrá más dificultades para encontrar trabajo.
De la misma manera, la tecnología de hoy será obsoleta mucho antes de que la mayoría de nosotros estemos listos para retirarnos, por lo que aprender nuevas habilidades y tecnologías es esencial.
fuente
Anímate y aprende algo como Haskell o un Lisp. Aprender un lenguaje funcional realmente me ha ayudado a desacoplar mi código, lo que facilita la depuración en general. El único problema que puede encontrar es que no desea regresar.
http://book.realworldhaskell.org/read/
http://lisperati.com/haskell/
http://learnyouahaskell.com/
fuente