Moviendo su carrera a otro lenguaje de programación [cerrado]

21

Voy a ir al grano. Estoy buscando consejos sobre cómo un desarrollador experimentado convencería a un posible empleador de que debería ser considerado para un puesto que usa otro idioma. Esto se cumple con otros requisitos no específicos del idioma que se cumplen (conocer el control de versiones, OO, grado, etc.). Por ejemplo, un desarrollador PHP experimentado que busca moverse a una posición Perl. ¿Es posible? ¿Qué tan difícil sería? ¿Es dependiente del idioma?

EDITAR: Las respuestas que obtuve son una prueba de que el futuro de esta comunidad es brillante, pero lamentablemente solo me permite seleccionar una respuesta. Gracias a todos los que respondieron.

credo canadiense
fuente
77
idioma! = carrera; carrera == desarrollador
Steven A. Lowe

Respuestas:

18

Hablando como alguien que ha dado entrevistas.

Se honesto

Hágales saber que está cambiando de pista, y también dígales cuánto tiempo cree que le llevará aumentar.

Se entusiasta

Muéstreles que está entusiasmado por aprender el nuevo idioma. El entusiasmo puede compensar la experiencia cuando sabes que el desarrollador se irá a casa y continuará programando en el mismo idioma.

Comprender los conceptos de CS

Tener una comprensión más profunda facilitará aprender un nuevo idioma (entre otras cosas).

Demuestra que sabes un idioma relacionado

Aprender Ruby una vez que sepas que Perl no es un gran salto. Esquema de aprendizaje cuando solo sabes que C es un gran salto.

Demuestra que ya sabes 3 idiomas

Cuantos más idiomas conozcas, más fácil será aprenderlos hasta que se convierta en un caso de aprender los modismos más que la sintaxis.

dietbuddha
fuente
Esta es una gran información para obtener, ver a un solicitante potencial desde el lado de los gerentes de contratación.
canadiancreed
20

Un programador experimentado debería poder utilizar casi cualquier lenguaje de programación, además de cualquier herramienta de programación razonable. Si desea pasar a un nuevo idioma, simplemente lea uno o dos libros a su propio tiempo, practíquelo en casa y luego envíe un currículum como todos los demás.

chrisaycock
fuente
44
No lo estoy comprando. Toma tiempo aprender las bibliotecas que vienen con un idioma. ¿Será un novato c ++ pro / php tan bueno como un veterinario php de 10 años? Además, pasar de un lenguaje administrado por memoria a uno que no lo es es mucho más difícil que lo contrario.
Neil McGuigan
99
@NRM, ¿por qué quieres " aprender " las bibliotecas? Siempre hay una referencia disponible, no debe abarrotar sus cerebros con cosas tan poco importantes como las API.
SK-logic
44
@NRM Mal ejemplo. C ++ => PHP debería ser una transición casi trivial. Ahora, intentar esto de la otra manera es difícil.
Konrad Rudolph
1
@NRM: por supuesto, un "novato" no será tan bueno como un "veterinario" de 10 años. Sin embargo, hay muchos trabajos para los "novatos". De ahí vienen los veterinarios.
davidhaskins
1
El problema aquí es convencer al posible empleador de que puede cambiar de idioma, especialmente por RRHH, que solo tiene un requisito que dice "mínimo 37 años de experiencia en Java" o algo igualmente estúpido.
Fred Larson
8

Revelación completa: no lo he intentado yo mismo

Me parece que necesitarías una estrategia de dos partes para que esto funcione. Primero, necesitas poner el pie en la puerta para una entrevista. Eso significa pasar cualquier currículum y filtros de recursos humanos. De cualquier manera, puede incorporar la palabra clave del nuevo idioma en su currículum sin mentir (por ejemplo, contribuyendo con un proyecto de código abierto). Una vez que obtenga una entrevista, debe demostrarle al gerente de contratación que ...

  • puedes hablar de manera inteligente en el nuevo idioma (especialmente si aún no eres un experto)
  • eres capaz de acelerar rápidamente para no retrasar a tus compañeros de trabajo

Creo que cualquier programador con suficiente talento en cualquier idioma debería ser capaz de lograrlo con suficiente paciencia. Necesitará la oportunidad adecuada en la empresa adecuada con las circunstancias adecuadas para ser contratado para un nuevo idioma. En resumen, al igual que ser contratado para un trabajo normal. :-)

Kristo
fuente
7

Durante más de 25 o incluso 30 años he tenido que aprender muchos idiomas nuevos. Tantos ahora he perdido la cuenta. Aquí hay una lista aproximada.

Si voy camino, camino de regreso ...

8080, Z80, 6502, 8086, 80286 ensamblador.

BÁSICO (alrededor de 6 variedades).

APL (yay)

PL / 1

FORTRAN 4 y 77

COBOL (lo creas o no)

PASCAL (varias variedades, incluyendo Delphi)

OCCAM2 (un montón de diversión - creación instantánea de procesos)

C (muchos compiladores, muchos procesadores, muchas variantes extrañas)

C ++

Ada (grandes sistemas y también sistemas integrados)

Un pequeño Perl solo por diversión

PHP

Se han utilizado en todo tipo de máquinas: pequeños sistemas integrados, placas de desarrollo, mainframes IBM que ejecutan TSO, VAX / VMS, CP / M, DOS, Windows, Solaris, Linux, sistemas integrados sin SO, entornos de desarrollo alojados remotos, en y en la lista va

Y hay algunas cosas más oscuras arrojadas en el camino que no puedo recordar (o no quiero ... PL / M).

Cada uno de estos tenía que ser aprendido porque era parte de hacer un trabajo. En la mayoría de los casos, no tenía experiencia previa, solo un gerente tolerante y una buena disposición para participar y hacer el trabajo.

Si aprender algo nuevo le interesa, compre un libro, juegue, haga las cosas a su propio ritmo. Si va por un puesto, se ve bien en un currículum que ha hecho esto porque está interesado.

Como señaló una de las otras respuestas, la mayoría de las veces los conceptos para hacer cosas convencionales no cambian mucho, solo los medios para expresarlo. (O, por supuesto, puede entrar en algunos idiomas muy inusuales que no son OO o de procedimiento y esto requiere un cambio de mentalidad).

Si tiene la oportunidad de hacer algo un poco fuera de lo común como parte de su trabajo, aproveche la oportunidad mientras pueda. La mayoría de las cosas mencionadas anteriormente no las he usado durante años y es probable que no las vuelva a usar, pero nunca se sabe. Un día realmente me gustaría construir una máquina APL microcodificada :)

rápidamente_ahora
fuente
4

Como anécdota personal, me contrataron para un puesto en Java mostrando una demostración basada en PHP. Creo que lo obtuve porque conocía un idioma de cierto dominio (si se puede llamar de esa manera), por lo que no sería re -aprender los conceptos completos, sería como usar un bolígrafo en lugar de un lápiz (¿entiendes la idea?).

Creo que lo realmente importante es demostrar que tiene un buen desarrollo de software, conceptos de CS y habilidades de comunicación, que busca soluciones a los problemas incluso a los más difíciles, que desea ayudar a sus compañeros de trabajo, automatizar y simplificar su trabajo y lo más importante (al menos para mí) que eres humilde y admites que no lo sabes todo y que estás dispuesto a aprender más.

(Abusó totalmente de la palabra "esa" ..)

Tristiano
fuente
3

Solo he tomado un trabajo donde ya conocía el lenguaje de desarrollo primario, así que sí, no solo es posible, siempre asumí que era común.

Lo que hay que recordar es que es el único idioma de muchos idiomas y tecnologías que probablemente usan. SQL es SQL. No importa si lo haces en python o perl. Y configurar el servidor de base de datos ni siquiera está relacionado con el idioma. HTML es HTML, no importa si es generado por PHP o ASP. Lo mismo con XML. Los zócalos son zócalos, básicamente funcionan igual en todos los idiomas. OpenGL funciona igual en Delphi que en C ++. La sintaxis específica es una pequeña parte de la imagen cuando se observa el desarrollo como un todo. Algunas de esas habilidades son temas enormes en sí mismos y mucho más difíciles de aprender que un nuevo idioma.

El punto es, enfócate en las habilidades. Claro, es posible que no conozca su tecnología de desarrollo principal, pero esa es solo una pieza del rompecabezas. Pero lo más probable es que también usen otras tecnologías y sistemas operativos que sí conoces.

Gran maestro B
fuente
1

Te costará entrar por la puerta si no tienes las siglas escritas en tu currículum. Si desea cambiar, dedique algo de tiempo a proyectos personales para aprenderlo lo suficientemente bien y luego resalte eso.

Craig
fuente
1

Ciertamente es posible. Acabo de comenzar un trabajo donde estoy trabajando en ruby, javascript y go. Antes de comenzar no tenía mucha experiencia con ninguno de esos idiomas.

Creo que la clave de mi éxito aquí fue que, en el tiempo transcurrido entre la respuesta inicial y la entrevista, me aseguré de saber suficiente ruby ​​(su idioma principal) para comprender y escribir el código del mundo real. Creo que también ayudó que conociera Python y C, que son bastante similares a Ruby and Go.

dan_waterworth
fuente
1

La empresa para la que trabajo no buscó "programadores de C #". Cualquier buen programador haría lo que pueda aprender un idioma en poco tiempo.

Si contratas programadores con la idea de que se queden por unos años, entonces realmente no puedo verlo como un problema, tienen mucho tiempo para aprender los aspectos internos y externos del idioma. Si se van después de un año, probablemente sea una pérdida de tiempo.

Carra
fuente
0

En mi humilde opinión, no todos los programadores reaccionan de manera similar. El idioma es religión ;-)

En mi experiencia personal, me encanta aprender un nuevo idioma, pero se trata de amar u odiar muy rápidamente. Puedo enamorarme de un nuevo idioma el primer día que lo conozca y usarlo en los años venideros. También odié los idiomas desde el principio hasta ahora, incluso cientos de miles, si no millones, de programadores los están usando.

Por lo tanto, le aconsejo que no mande a un programador en otro idioma. En cambio, charla sobre la preferencia de idioma durante el horario de cerveza del viernes por la noche, para descubrir su amor u odio.

  • Intencionalmente omito nombres de idiomas en esta respuesta ;-)
Oh ho
fuente