¿Es mejor especializarme en un solo campo que me gusta o expandirme a otros campos para ampliar mis horizontes? [cerrado]

31

Este es un dilema en el que he estado pensando durante bastante tiempo.

Soy un estudiante graduado y mis temas de interés son el diseño de lenguaje de programación, análisis de código, compilación, etc. Hasta ahora, este campo ha sido muy interesante y gratificante para mí, así que estaba pensando en encontrar un trabajo en ese campo y continuar para especializarse en ello. Siento que es un campo relativamente sólido que no "pasará de moda" en el corto plazo. Siempre he pensado que en campos tan complejos es mejor ser un verdadero experto que simplemente otro tipo que comprende superficialmente de qué están hablando los expertos.

Por otro lado, siento que al especializarme de esta manera realmente limito mi opción futura. Siempre he creído firmemente en los enfoques multidisciplinarios de los problemas. Tal vez debería buscar un trabajo de programación general en el que pudiera ganar experiencia en otros campos, y aplicar ocasionalmente mi campo favorito para resolver problemas. La especialización en solo uno o dos campos puede impedirme pensar fuera de la caja y provocar un estancamiento.

Realmente me gustaría escuchar más opiniones sobre esta elección. La verdad es que ya me estoy inclinando hacia una de las opciones, por lo que la psicología básica dice que nada cambiará de opinión, pero aún así me encantaría escuchar algunos comentarios.

Roble
fuente
Buen curso. Te respondo. También me gustaría ver otros comentarios
PradeepGB
Especialícese en programación Y algo más que no desaparecerá, tal como leyes, impuestos, lenguaje, biología o matemáticas. Si bien las habilidades de TI se vuelven inútiles demasiado rápido, algunas otras habilidades se quedan. Es difícil encontrar (como ejemplo) un programador de habla italiana + china que se especialice en impuestos. Solo haz tus apuestas sabiamente. Piénselo: en los próximos 20 años como programador (con suerte) necesitará aprender mucho más de lo que se necesita para completar una tesis doctoral. Desde esta perspectiva, otros 2 años de escolarización en algo "más estático" no parece una idea terrible.
Trabajo

Respuestas:

21

Especialízate si lo disfrutas

Como sabe, si se especializa, incurrirá automáticamente en un costo de oportunidad, ya que no será inmediatamente elegible para otras tecnologías (por ejemplo, los programadores de Java a menudo no son aceptados de inmediato para trabajos de optimización de compiladores). Sin embargo, debe equilibrar esto con su amor por la complejidad inherente a la disciplina elegida.

Dices que quieres ser un experto, así que adelante y tómate el tiempo para aprender la disciplina elegida. Nosotros como comunidad siempre necesitamos nuevos expertos. Sin embargo, mi consejo es seguir la recomendación pragmática del programador de "Aprender un nuevo idioma cada año" . De esa manera, mientras realiza un análisis léxico profundo de la codificación algorítmica, también puede crear una pequeña aplicación para iPhone que le interese. Nunca se sabe, la polinización cruzada de diferentes paradigmas puede causarle una idea que extenderá su especialización a nuevas áreas.

Gary Rowe
fuente
Con respecto a su primera oración, también existe el temor de que algún día me canse de lo que amo y luego, como especialista, será difícil cambiar de campo. Por otro lado, mi interés en ese campo se ha fortalecido durante muchos años.
Roble
1
@Oak nunca puedes predecir cuándo te cansarás de algo, así que elige un campo con el que estés seguro de que estás contento y maximízalo. Si siente que se está agotando, desvíe su atención a otro trabajo. Si su campo elegido es lo suficientemente avanzado (y ciertamente suena como si lo fuera), debe tener suficientes habilidades para poder recoger cualquier cosa. OK, serás un novato, pero dedícate y pronto estarás volando.
Gary Rowe
2
Como Oak está interesado en los idiomas y el diseño de idiomas, apuesto a que ya sabe un montón de idiomas, y el aprendizaje de nuevos idiomas básicamente cae en su especialización (más o menos). Para alguien que ya esté interesado en los idiomas, sugiero que haga algo nuevo y no trivial en un idioma que conozca: intente con la inteligencia artificial o el aprendizaje automático o la PNL o escriba un sistema operativo ...
Tikhon Jelvis
20

Creo que depende de lo que quieras de tu carrera ...

A nivel técnico : ser un experto en todos los oficios significa que puede solicitar una variedad más amplia de roles que alguien que es extremadamente especializado. Si desea ser adaptable y moverse y no estar atado a un nicho en particular, esto probablemente no sea tan malo. Sin embargo, la desventaja es que probablemente estará limitado a un nivel relativamente menor / intermedio de roles, a menos que profundice en un área en particular.

Especializarse en un área determinada es más o menos lo contrario de lo anterior. Es probable que pueda obtener un mayor estatus e ingresos (si se encuentra en un buen nicho con alta demanda, por supuesto), pero es probable que se encasille en esa especialidad en gran medida.

Entonces, en un sentido amplio, estas dos son las opciones a nivel técnico.

A nivel político : si estás hablando de "progreso profesional" en términos de ascender a la gerencia y tal, entonces generalmente no importa lo que hagas técnicamente. Prácticamente todos los que conozco que pasaron a la gerencia desde un rol de programador lo hicieron al conocer muy bien a las personas y los procesos comerciales en su organización. Algunos eran especialistas y otros generalistas (en términos de la tecnología con la que trabajaban), pero TODOS estaban muy arraigados en la organización, conocían bien a las personas y los procesos, y básicamente se volvió lógico que comenzaran a asumir esas responsabilidades.

Entonces, en un sentido básico, si desea avanzar en su carrera en términos de ascender en la jerarquía administrativa, se trata de jugar a la política. Ser un generalista frente a un especialista no importa tanto (solo tal vez convertirse en un especialista en los procesos y la tecnología que administrará).

Mesas Bobby
fuente
44
No estoy exactamente seguro de por qué tienes que ser muy especializado para ser clasificado como senior.
Jon
@ Jon: Buen punto. Lo he editado.
Bobby Tables
3
Además, Jack-of-all-trades puede tener una perspectiva única cuando se enfrenta a un problema porque pueden imaginar soluciones adicionales que alguien que conoce solo una tecnología ni siquiera puede imaginar.
wildpeaks
10

En primer lugar, las ofertas de trabajo a menudo exageran la cantidad de especialización requerida. Ninguna compañía dice "necesitamos un tipo que sepa un poco sobre Javascript porque no sabemos nada" en una publicación de trabajo; pusieron "experto en Javascript" allí porque, siendo todo lo demás igual, les encantaría conseguir a alguien que fuera realmente un experto. Eso no significa necesariamente que solo los expertos estén calificados para lo que sea que la empresa necesite hacer en Javascript (y se sorprenderá de la frecuencia con la que ni siquiera saben lo que necesitan hacer). Así que no te preocupes demasiado por ser un "experto"; solicite trabajos en los que esté familiarizado con las habilidades anunciadas y vea cómo van las cosas en la entrevista. Ser bueno en un trabajo es mucho más que cuántos años de [insertar idioma] tienes en tu haber. Y si el trabajo es gratificante,

Eso se trata de "conseguir" un trabajo; para "mantener" un trabajo, ser JOAT puede ser maravilloso. Si su empresa comienza a explorar diferentes idiomas y plataformas, estará por delante del juego. Si su empresa basada en MS de repente necesita a un tipo de UNIX para algo, usted será su opción (ya sea ese tipo o manejar la contratación de un "experto"). Mantener un trabajo se trata de ser indispensable pase lo que pase, y JOAT es una buena manera de ser ese tipo.

Además, hace que sea mucho más fácil conseguir un nuevo trabajo cuando su empresa se desploma :)

EZ Hart
fuente
1
"Si su empresa basada en MS necesita repente un tipo UNIX para algo" ... oh podemos soñar, ¿no nos :)
Jordan
@ Jordania: no es necesario soñar; He estado allí. Trabajé durante años en una tienda de MS, pero finalmente terminamos con clientes que necesitaban soporte en MySQL y Linux. Aquellos de nosotros que conocimos Linux de otros trabajos y uso doméstico tuvimos que intervenir hasta que pudiéramos contratar a un administrador de Linux. Sucede :)
EZ Hart
7

Pues sí y no. El problema es que nunca serás una estrella de rock. Nunca serás ese tipo que puede hacer cosas con C que nadie más puede hacer. Su falta de enfoque impide ese tipo de excelencia.

Por otro lado, cuando la administración decide que no pueden permitirse un montón de programadores, no van a disparar que , para mantener a él . La flexibilidad tiene sus beneficios.

Soy un Jack, y mi departamento ha visto una reducción del 80% en los últimos 4 años. Sin embargo, aquí estoy. En parte es porque estoy más desenfocado que la mayoría. Me gusta que me entreguen una tarea de la que no sé nada, ya mis jefes les gusta el hecho de que digo "¡Seguro!" no importa qué mierda de culo raro se les ocurra. Y, cuando comprendes el panorama general, es una especie de estrella de rock que la mayoría de los especialistas nunca alcanzan, y puede ser lucrativo.

Entonces, si buscas ser una estrella de rock, debes concentrarte, porque nadie puede ser mejor que todos en todo. Pero si buscas estabilidad, elige la flexibilidad, porque ser flexible es más comercializable que ser malo.

Satanicpuppy
fuente
3

Generalist vs. Specialist es un artículo de CIO.com, pero probablemente hay docenas de artículos similares o publicaciones de blog de personas que intentan ver si una es mejor que la otra. Cada uno tiene sus ventajas y desventajas. Cualquiera que quiera decir que uno triunfa totalmente sobre el otro puede ser parcial en cierta medida.

No olvide que existe una posible ilusión en cada lado de su elección. Lo que ves como una especialización puede tener varios sabores. Por ejemplo, ¿consideraría que los desarrolladores web en general son especialistas o generalistas? Algunos podrían ver eso como una especialización y otros aún podrían verlo como bastante amplio, ya que muchas aplicaciones basadas en la web en estos días pueden tener todo tipo de componentes que pueden requerir diferentes conocimientos en algún grado.

Si bien las áreas que enumera me harían pensar que quiere trabajar para una compañía de software, puede haber algunas partes de la Tecnología de la Información que podrían usar habilidades similares de alguna manera. Podrías saber cuánta personalización se realiza en varios softwares disponibles para que funcione y qué tan bien es una inversión para la mayoría de las empresas para dar un ejemplo original.

JB King
fuente
3

Por otro lado, siento que al especializarme de esta manera realmente limito mi opción futura.

Recuerda. Tu futuro se extiende a través de décadas.

La tecnología actual se habrá desvanecido significativamente a medida que surjan nuevas oportunidades.

La especialización no es ningún daño en absoluto.

Comencé especializado en perforar tarjetas de papel para escribir programas COBOL. Ahora escribo Python y no he tocado una tarjeta de papel perforada en décadas.

La tecnología va y viene. Lo que sea que se especialice ahora desaparecerá en una década y se especializará en otra cosa. O te volverás obsoleto.

Preocuparse por la "experiencia en otros campos" es una pérdida de tiempo. Obtendrá esa experiencia si lo desea o no.

S.Lott
fuente
3

Depende de cuál sea tu carrera. Creo que debería ayudar a su carrera si desea ser un consultor general, comenzar su propio negocio, trabajar para una pequeña empresa o en cualquier otra situación en la que ese tipo de flexibilidad sea un activo reconocido. Estoy en la misma situación, y actualmente trabajo como consultor, aunque estoy buscando especialización en .NET / C # / SQL / ASP.

En la misma línea, ¿es posible hacer carrera al ser versátil con la tecnología, tener una amplia gama de experiencia (aunque superficial), pero sin especializarse en una tecnología en particular?

Sí, creo que podría buscar pequeñas empresas que no puedan contratar a alguien para cada área de especialización, o ser un consultor.

(Tampoco es una mala idea elegir un área en la que se especializará, además de mantener sus habilidades más generales).

vjones
fuente
2

Cuando contrato desarrolladores, soy parcial hacia las personas con fortaleza y experiencia en las habilidades particulares que busco. Los reclutadores van a amplificar en gran medida ese sesgo. Eso significa que incluso si pudiera contratarte (y me gustan las personas con amplias habilidades y buenos conocimientos básicos que pueden aprender), es probable que nunca te hable.

Yo mismo, aunque siempre he sido un gran oficio y he tenido muchos títulos de trabajo diferentes en la misma compañía donde he trabajado la mayor parte de mi carrera. Aún así, temo la posibilidad de tener que buscar un trabajo y no creo que pueda conseguir fácilmente otro trabajo con mi salario actual (que es bastante satisfactorio, pero la gente aquí me conoce).

Jeremy
fuente
2

como siempre...

Depende

Depende de lo que quieras decir con "carrera". Más concretamente, depende de lo que creas que quieres decir con "carrera".

En estos días trabajo mucho con aplicaciones web. Cuando comencé esta carrera, la red mundial no existía. Entonces, en gran medida, la respuesta de @ Satanicpuppy es correcta.

Hay cuatro ventajas que vienen con el territorio de Jack-of-All-Trades (JOT):

  1. La disposición y la capacidad de aprender lo que sea necesario para hacer el trabajo.
  2. La sabiduría de saber lo que no sabes
  3. La humildad de decirlo y pedir ayuda cuando sea necesario.
  4. Una gran bolsa de trucos a través de múltiples límites de dominio

El principal inconveniente es: se necesita mucho, mucho más tiempo para sobresalir , porque está presionando la curva de aprendizaje en múltiples frentes.

¿Soy tan buen DBA como algunos amigos que no han hecho nada más que eso durante 15 años? Por supuesto no. ¿Puedo ver soluciones en un instante que nunca imaginarán en quince días? Sí.

El mejor consejo, creo, es seguir siendo un JOT hasta que encuentres algo tan fascinante, tan convincente que quieras hacerlo y solo hasta el final de los tiempos. Ese "eso" será tu especialidad.

Me gusta resolver problemas nuevos y difíciles, buscar innovaciones para matar lo mundano y aprender continuamente: ese es mi "eso", y es la razón por la que me encanta.

Ser generalista es mi carrera.

Steven A. Lowe
fuente
+1: Ser generalista es mi carrera también. :-) Conocer otras cosas además del dominio del problema o la tecnología principal es útil porque le permitirá tener una caja de herramientas con posibles soluciones . Puede que no te convierta en un súper especialista, pero podrás jugar con nuevos juguetes, es decir, con tecnología.
Spoike
2

Creo que una de las razones por las que las empresas buscan y valoran más a las personas especializadas se remonta a las abstracciones con fugas . El problema es que en los últimos 30 años más o menos, los ingenieros de software han aumentado exponencialmente el número de capas de abstracción y, por mucho que nos gustaría asegurarnos de que no haya efectos secundarios, siempre surgen. Y son las idiosincrasias indocumentadas las que tienden a atraparte.

Tal vez pueda comenzar a usar la nueva tecnología rápidamente leyendo especificaciones y ejemplos en línea, pero ¿alguna vez notó que cuando comienza algo nuevo pasa el 20% de su tiempo escribiendo código para una función y el 80% de su tiempo buscando el error más extraño? has visto alguna vez? A medida que te conviertes en un experto en un área, esta ración cambia de 20/80 a 95/5 (estoy inventando números, pero en general probablemente estén cerca) específicamente en esa área. Lo que significa que puede entregar el trabajo mucho más rápido y evitar trampas / errores comunes antes de que sucedan. Por ejemplo, hoy, uno de nuestros ingenieros superiores (nuevo en el equipo / producto) pasó más de medio día buscando un problema con la corrupción de la pila que me llevó 5 minutos identificar porque este era mi territorio.

A medida que se convierta en un experto en su campo, será más visible y valioso para la administración. No sé sobre otras compañías, pero en aquellas en las que trabajé, su compensación (al menos en parte) depende de cuán importantes sean sus responsabilidades. JOAT generalmente no tiene responsabilidades permanentes. En cambio, los gerentes los usan como recursos móviles / intercambiables (nuestro VP los llama cuchillos suizos del ejército) que se pueden mover de un equipo a otro según la demanda. De modo que puede permanecer en la empresa durante 10 años, luego mirar hacia atrás y darse cuenta de que nunca ha adquirido una sola responsabilidad. Tengo un muy buen amigo (que también es un excelente desarrollador de C ++ / C #, pero también es un JOAT muy bueno porque él tomará cualquier trabajo) que fue encasillado en ese papel. Sé que no está contento porque, aunque tengo una porción considerable y divertida del producto como mi patio de recreo, es principalmente un invitado temporal en la tierra de otra persona. Pero ahora no puede salir de eso.

Dicho esto, tener las habilidades de JOAT es igualmente importante, por lo que aunque no necesariamente trataría de posicionarme como JOAT, creo que es importante seguir leyendo / estudiando / aprendiendo cosas nuevas porque la tecnología cambia e incluso si usted eres un experto hoy, es posible que tengas que convertirte en un experto en algo completamente diferente mañana.

DXM
fuente
¡El caso de tu amigo es exactamente por lo que estoy pasando ahora mismo! +1
Html Tosin
1

Yo diría absolutamente.

Pero va a tener que salir y obtenerlo, no aparecerá en un periódico o en una publicación de trabajo en línea (la probabilidad es pequeña). Por lo tanto, en lugar de buscar trabajos especializados, tal vez debería buscar trabajos que cumplan con sus diversas fortalezas. "Marginalmente bien" es subjetivo, tal vez estás siendo demasiado duro contigo mismo, modesto también, pero eso es algo bueno (-:

Además, si bien sus experiencias y conocimientos son importantes, los empleadores están más interesados ​​en su capacidad de entregar resultados. Pregúntese: ¿Qué puedo hacer con mi variedad de conocimientos y experiencias que mejoran los resultados de esta empresa ? Sin ver su currículum vitae, algunos títulos que se me ocurren son ingeniero de soluciones, arquitecto (red, aplicación, etc.) o incluso un CTO.

Por último, mi consejo es hacer una carrera de lo que disfrutas. Tendrá que hacerlo durante más de 8 horas al día durante muchos años, y también podría gustarle lo que está haciendo a ese ritmo (-;

HTH, y mis mejores deseos,

KM

KM.
fuente
1

Es cierto que la mayoría de las ofertas de empleo están jugando en su contra al ser demasiado específicas o demasiado exigentes. Están escritos como anuncios (probablemente para mostrar a otros cuán poderosos son), pero evita que se apliquen algunos perfiles excelentes debido a las razones que usted indica en su pregunta.

Aquí está la publicación de empleo que uso:

Descripción de trabajo y persona

Al menos 4 años de experiencia con .NET Framework. No se requiere conocimiento de tecnologías específicas. Los candidatos deben aprender rápidamente y ser capaces de demostrar entusiasmo por aprender cosas nuevas. Queremos personas que:

  • están interesados ​​en los medios digitales
  • ver las dificultades como oportunidades
  • hacer las cosas y no son controlados por CV son
  • interesado en el lado comercial de
  • su trabajo tiene el espíritu de inicio Idioma: francés o inglés

Habilidades (no es obligatorio pero cada una será un activo):

  • .NET Framework 4.0
  • nHibernate o Entity Framework
  • Componentes DevExpress
  • LINQ
  • WCF
  • HTML / CSS / Javascript
  • ExtJs

Como puede ver, excepto la experiencia general con .NET, no se requiere ningún otro conocimiento. Sin embargo, lo que se requiere es la capacidad de aprender cosas nuevas.

Como no puede controlar cómo las empresas escriben su descripción de trabajo, debería verlas como oportunidades de aprendizaje.

Cuando veo un puesto de trabajo que es muy exigente, lo veo como una oportunidad para aprender cosas nuevas. Durante la entrevista (si la consigo), explico que dado que mi motivación es aprender y hacer las cosas, no me afectaría demasiado la falta de experiencia en una de las tecnologías más mencionadas.

De hecho, así es como aprendí tan rápido: eligiendo trabajos exigentes .


fuente