Carrera de desarrollo de software: ¿cómo agregar o cambiar idiomas?

Soy un desarrollador de software que ha trabajado principalmente en el desarrollo de Windows en el lenguaje Delphi. En este momento, estoy buscando un nuevo trabajo y quiero trabajar en un lenguaje de programación diferente (principalmente C# o Java, pero también estoy interesado en otros), pero parece que no puedo pasar el primer nivel, y Creo que es porque no se me ha permitido trabajar mucho en otros idiomas profesionalmente, aunque de vez en cuando escribo pequeñas utilidades para uso personal y para una pequeña organización sin fines de lucro con la que trabajo. Esencialmente, tengo muy pocas entradas en mi currículum para mis idiomas secundarios, por lo que la mayoría de las empresas asumen que solo soy un desarrollador de Delphi y no sé cómo trabajar con sus sistemas, aunque lo sé, o puedo aprender a hacerlo muy bien. rápidamente. ¿Cómo puedo superar esto?

Elija una tecnología que tenga demanda y apréndala. Microsoft tiene certificaciones.
También agregue más texto sobre los nuevos idiomas en su currículum y minimice los idiomas que no desea usar. Muchos reclutadores/departamentos de recursos humanos utilizan búsquedas de palabras clave para seleccionar pilas de currículums.
la tecnología es menos importante que la carrera que quieres hacer.
@bharal ¿Qué? OP ya está en desarrollador de software. OP está preguntando sobre la tecnología específica.
@Blam, no, no, no lo entiendes. Entiendo que OP es un desarrollador. lo que quiero decir es que la tecnología es solo una herramienta. un desarrollador que pregunta "qué idioma debo aprender" es como preguntar "en qué idioma debo hacer esta aplicación". es una pregunta justa, ¡pero solo si sabes lo que va a hacer la aplicación! Y hay otras consideraciones para nuestra aplicación de metáfora: monetización, validez, no se trata solo del lenguaje. Lo mismo ocurre con un desarrollador principiante: quedarse atrapado en el idioma a expensas de la dirección general de su carrera es un error.
@bharal ¿Qué? Así no es como funciona. Un arquitecto elige la(s) tecnología(s) y luego busca programadores con esa experiencia específica. Llegas a ser arquitecto siendo muy bueno en algo. Nadie quiere un generalista principiante.

Respuestas (5)

Cree una aplicación increíble en ese idioma y muéstreles. La clave para una entrevista es esta: mostrar, no contar.

Haga que su currículum haga referencia a un repositorio de código en línea (como su perfil de github). Muchas empresas de desarrollo serias pueden solicitar ver un perfil de github de todos modos. Poder mostrarles algo en persona en una computadora portátil también podría ser bueno. Los buenos entrevistadores querrán saber tanto como sea posible acerca de sus habilidades antes de contratarlo.

Una vez, durante una entrevista para un trabajo, me preguntaron sobre mis habilidades de Objective C (desarrollo de iOS) que mencioné en un currículum. De hecho, tenía una aplicación en la tienda de aplicaciones en ese momento, por lo que el entrevistador sacó su teléfono y descargó la aplicación justo en frente de mí. Aunque no tenía experiencia profesional con Objective C, no tenía dudas de que podía programar en Objective C.

Asegúrate de resaltar primero el idioma que deseas, y es posible que supongan que es en lo que eres mejor y, por lo tanto, será lo que más te pregunten.

Lo pondría en la carta de presentación Y en el currículum. Algunas personas de recursos humanos leen la carta primero y otras el currículum: descartarán su solicitud si están buscando un desarrollador de Java y no hay nada de Java allí.

En la carta de presentación, diga que si bien su idioma principal era Delphi, está seguro de que será un buen desarrollador de Java, porque ... enumere razones como que ha trabajado en Java en su tiempo libre, por ejemplo, software s para la empresa t , siempre ha sido rápido para aprender nuevos idiomas, por ejemplo, en la pasantía x aprendió el idioma y y terminó el proyecto z con él en solo 3 meses, ... cualquier cosa que se le ocurra que realmente pueda respaldar. Un certificado también podría ayudar.

En el currículum solo ponga trabajo voluntario: Aplicación desarrollada para hacer s sin fines de lucro usando Java (+frameworks si usó alguno).

La creación de software puede ser lo mismo para un trabajo de tiempo completo, así como para un trabajo de medio tiempo con una organización sin fines de lucro (el desarrollo de Linux ha sido principalmente sin fines de lucro y esos colaboradores clave pueden escribir su propio boleto para la colocación laboral). ). El factor principal es la extensión del proyecto. Por ejemplo: ¿trabajó para una organización sin fines de lucro en un sitio web con mucho tráfico? ¿Estaba trabajando con grandes conjuntos de datos?

Debe poder conectar las habilidades utilizadas en sus proyectos no laborales con lo que requieren los trabajos. Si no puede, es posible que desee buscar trabajo adicional para ampliar su experiencia previa. Además, la gente de la organización sin fines de lucro debería brindarle una referencia muy sólida.

Es posible que desee cambiar su enfoque. Muchas tiendas de tecnología dan por sentado que los desarrolladores vienen con habilidades en múltiples lenguajes de programación. Entonces, primero, asegúrese de que realmente domina los idiomas adicionales en los que desea trabajar. La búsqueda de "preguntas de la entrevista de código" en Google proporciona varios recursos para evaluar su posición en una prueba de codificación.

En segundo lugar, más importante que el lenguaje de programación, demuéstreles que comprende los problemas que resuelven sus productos. Si puede demostrarme que comprende contabilidad (por ejemplo), asumiré que la parte de programación viene con el resto de su experiencia. Esto hace una gran diferencia en el camino. Muchos desarrolladores que se identifican solo por los idiomas que usan se encuentran limitados porque es posible que nunca entiendan los temas generales que los convertirían en excelentes desarrolladores y arquitectos de alto nivel, etc.

Sobre el código disponible públicamente... Como líder de proyecto y gerente que entrevista a ingenieros de software, no lo penalizaría por no tener nada en github (o bitbucket, o en cualquier lugar en línea). Pero si tienes algo disponible para que lo mire, lo miraré, y si no es bueno, contará en tu contra. Estaría buscando estilo de codificación, diseño, comentarios y otra documentación, y una coherencia general con el código. Cualquier cosa que me demuestre que ha pagado cuotas como desarrollador de software y ha aprendido las lecciones que los desarrolladores experimentados deberían aprender.

También buscaría publicaciones de blog o contribuciones a Stack Overflow, Reddit, HackerNews, etc., que demuestren su comprensión de su oficio. No, no necesitas tu propio dominio. Registrarse en Blogger.com o Wordpress.com, o en cualquier otro sitio de alojamiento de blogs, está bien. Solo comparte lo que sabes.

FYI, las cartas de presentación solo impresionan al evaluador de currículum. Después de eso, los despojan y los gerentes de tecnología y los líderes de proyectos solo ven el currículum. Necesita una carta de presentación para captar la atención del evaluador, por lo que es mejor hacer que cuente su historia en la menor cantidad de palabras posible. No se preocupe por vender sus habilidades técnicas en la carta de presentación. Simplemente ayúdelos a sentir que usted es la respuesta a los problemas que están tratando de resolver. (Esto implica saber algo sobre la empresa).

Diferentes empresas tienen diferentes procedimientos. En mi última entrevista, recibí muchas preguntas sobre cosas que escribí en mi carta de presentación del gerente técnico y el desarrollador senior que me entrevistó.

Lo bueno de ser programador es la facilidad de poder sumergirse en nuevas tecnologías.

Si estuviera en su situación, se me ocurrirían algunas ideas de aplicaciones móviles, las codificaría en Java o C# y luego las publicaría en las tiendas de aplicaciones. No solo aprenderá un nuevo idioma, sino que también aprenderá a trabajar en entornos que no son de Windows. Quizás estas aplicaciones necesiten algún soporte de back-end. Eso le dará una excusa para sumergirse también en los lenguajes de desarrollo web.

Una vez que haya publicado las aplicaciones, ahora tiene algo concreto para mostrar como parte de su cartera y puede agregar el idioma a su currículum.

Esto está en la misma línea que lo que yo respondería. El único cambio que haría es desarrollar la aplicación para algo en el trabajo. Nunca he tenido dificultades para encontrar ideas para aplicaciones de utilidad que ayudarían a todos a ser más productivos (en particular, hacerme más productivo). Si sucede que una buena manera de escribir la utilidad es usar este lenguaje/tecnología novedosos que he querido aprender, entonces eso es lo que usaré. Es un ganar-ganar por todos lados. Obtiene experiencia "en el trabajo", usted (y otros) se vuelven más productivos en su trabajo debido a la utilidad.