Si me uno a una compañía que usa C ++ en su desarrollo justo después de graduarse, ¿será difícil unirme a una compañía diferente después de unos años?

Después de unos años, tendrá algunos años de experiencia laboral en C ++ y cero años de experiencia laboral en algún otro idioma. Si “unos pocos” significa uno o dos, entonces realmente no importa, y es justo solicitar trabajo en cualquier idioma que hiciste en la escuela.

SIN EMBARGO, tiene más experiencia en C ++ que cualquier otra cosa, por lo que los trabajos mejor pagados para los que calificará son los trabajos en C ++. De esta manera, se lo empujará a solicitar más trabajos de C ++.

C ++ es un lenguaje orientado a objetos. Java es otro lenguaje orientado a objetos. Si aprendió Java y practicó C ++, la mayor parte de esa habilidad se transferirá a un trabajo de Java. La diferencia será que los trabajos Java asumen el conocimiento de la amplia y extensa biblioteca estándar de Java, además de cierto número de bibliotecas específicas del proyecto, mientras que C ++ viene estándar con solo una biblioteca relativamente pequeña. Entonces, C ++ y Java serán los más intercambiables.

Es mejor tratar de mantenerse actualizado en varios idiomas, para hacerlo más portátil. Si puedes hacer esto en el trabajo, te pagan por ello. Si tu trabajo es un monocultivo de idiomas, solo tienes que pasar tu tiempo en casa estudiando. Si no te gusta pasar tu tiempo en casa frente a una pantalla, elegiste la profesión equivocada, lo siento.

Cambiar de empresa es más que un idioma con el que está familiarizado. Por supuesto, algunos idiomas tienen marcos grandes, por lo que es fácil aprender el nuevo idioma, pero la gran curva de aprendizaje estará en el IDE y los marcos. Habiendo dicho eso. Las habilidades que son al menos tan importantes son:

  • Team Player: lo descubrirán durante las entrevistas.
  • Resolución de problemas: ¡esto es un problema!
  • Herramientas auxiliares: IDE, bases de datos de errores, herramientas de gestión de proyectos / equipos.
  • Sistemas de control de fuente: hay docenas de SCS. Entonces, comprender los conceptos básicos es esencial
  • Flexibilidad y multitarea.

Por lo tanto, cambiar de idioma depende del entorno al que vaya. Si es de incrustación a front-end, hay un gran cambio de paradigma que trasciende el lenguaje. Si el área es similar, como las aplicaciones de escritorio, moverse entre C, C ++, C # y Java puede no ser un factor decisivo.

Desafortunadamente, cualquier trabajo que tome (en cualquier lenguaje de programación) lo encasillará al menos un poco a los ojos de futuras compañías. Dicho esto, hay muchos trabajos para los desarrolladores de C ++, ya que principalmente como desarrollador de C ++ recibo correos electrónicos de headhunters y reclutadores todo el tiempo. Si puede mantenerse al día con la tecnología fuera del conjunto limitado de herramientas que usará en cualquier posición, entonces siempre puede anunciar una competencia tecnológica desarrollada personalmente en su CV / currículum.

Mi mejor consejo si desea cambiar de carril más adelante es aprovechar todas las oportunidades dentro de su organización / equipo de desarrollo que usen tecnología con la que desee trabajar en el futuro. Incluso si, por ejemplo, solo realiza un pequeño proyecto NodeJS de poca importancia para el producto principal de su equipo, en ese momento todavía puede decir honestamente que ha trabajado con NodeJS profesionalmente (solo espere que tenga que ser lo suficientemente competente para responder cualquier entrevista) preguntas que la experiencia lleva a).

No me preocuparía por * NO * tener Java en tu currículum. No conozco a ningún gerente de contratación que te vea sabiendo C ++ y pensando que no puedes aprender Java fácilmente. Y puede escribir Java en su tiempo libre y tener algunas muestras para mostrar, de modo que eso lo facilite aún más. Evitará que saltes directamente a una posición de Senior Dev, pero eso no es gran cosa. En general, C ++ te hace pensar en más cosas, no menos, que Java, por lo que diría que es más difícil y tedioso escribir, pero te da más control, para bien o para mal.

Lo que importa es lo que harás, qué tan desafiante es el código y cómo creces como desarrollador. Estas cosas importan mucho más

¿Hay otros desarrolladores senior inteligentes que sean accesibles y que lo ayuden a crecer?

¿Tienen un buen procedimiento de control de versiones con compilaciones automatizadas y un control de fuente moderno?

¿Qué tan grande es el código base? ¿Está en un Dominio que le interesa, es decir, Salud, Finanzas, Defensa?

¿Son buenos los beneficios, incluida la remuneración, y las demandas de trabajo son equilibradas? Si no está estresado, puede disfrutar más de la vida y abrocharse el cinturón para aprender otras cosas cuando lo necesite, y ser más selectivo cuando busca tomar otra posición en 1–2 años.

¿Se integran con SQL y / o la web (es decir, AJAX / JavaScript)? Estos son un plus, pero no son necesarios si los primeros 4 son sólidos.

Como Matthew ha sugerido, solo estás limitado por los límites de tu imaginación.

Si desea hacer Java, nada lo detiene más que su requisito específico de que tiene que hacerlo en el trabajo. Pruebe un proyecto paralelo o pase un tiempo aprendiendo Java por su cuenta. Ningún empleador mirará su currículum y dirá: “enumeró Java, pero claramente no lo usó en el trabajo anterior, por lo que no debe saberlo”, le preguntarán si conoce a Java en la entrevista. y ahí es cuando puedes demostrar eso.

Además, C ++ no te encerra en una esquina. Ser de mente cerrada hace eso. Soy un programador de C pero hago lo que sea necesario para hacer bien el trabajo.

Es complicado.

La mayoría de los gerentes de desarrollo decentes entienden muy bien que no es tan importante moverse entre idiomas.

La mayoría de los departamentos de Recursos Humanos no entienden eso.

Además, realmente lleva algún tiempo acostumbrarse completamente a un idioma y sus bibliotecas.

Entonces, saltar idiomas es una barrera, pero es factible. Recursos humanos es el problema que enfrenta en esto, y una red de ex compañeros de trabajo que saben lo maravilloso que es trabajar con usted es la solución. Si el lugar que está solicitando ya tiene uno o dos tipos que saben que vale la pena pagar una pequeña curva de aprendizaje, es muy probable que aumenten.

La moraleja de la historia es, asegúrese de que la gente con la que trabaja encuentre una experiencia muy positiva.

A2A

Es difícil de decir, porque es difícil predecir qué tipos de conocimientos y habilidades se considerarán más valiosos que otros en el futuro.

Como otros han dicho, si es posible, intente trabajar en algunos proyectos en otro idioma, utilizando otra plataforma, etc. en su tiempo libre.

¡Buena suerte!

Puedo pensar en cosas peores que ser ‘pigeon holed’ como desarrollador de c ++. Si sabe programar y tiene las habilidades de ventas que realmente necesita como programador (sus habilidades de programación son necesarias para hacer el trabajo, pero las habilidades de ventas son la razón por la que obtiene el trabajo), realmente no debería suceder. La falta de exposición a otras tecnologías sería tu culpa de todos modos.

Si aprendió programación (no es un lenguaje de programación, aprender un lenguaje de programación no le enseña programación), aprender un nuevo idioma es solo aprender su sintaxis, o usar Google para buscar la función que necesita y cómo se usa en ese idioma . En 45 años, probablemente he estado cerca del nivel experto en unos 20 idiomas en un momento u otro. En otros 45 años, la frase “ensamblaje 6502” podría no significar nada para la mayoría de los desarrolladores.

More Interesting

¿Puede un probador de software entrar en la industria del automóvil?

¿Es posible sincronizar un proyecto bifurcado con el proyecto fuente ascendente, a través de la consola web de GitHub?

¿Cómo se puede usar el lenguaje de modelado unificado para soportar el análisis de dominio en el desarrollo de software?

¿Qué es la prueba Big Bang en ingeniería de software?

¿Por qué los fabricantes de software lanzan software que saben que tiene errores?

Pruebas de software: ¿cómo se mide la efectividad de una prueba? ¿Y cómo se compara eso con su costo?

¿Cuál es el mejor software de simulación por computadora?

¿Los consultores logran ganar una compensación más alta que los ingenieros de software regulares con el mismo nivel de experiencia?

¿Por qué las empresas confían en los discos duros magnéticos para el almacenamiento de datos cuando las unidades de disco duro que no son de estado sólido son tan susceptibles a fallas, es decir, una tasa de falla del 100% dentro de una década?

¿Debería una empresa tener reglas sobre qué idiomas se pueden usar internamente? ¿Qué hay de las reglas para las plataformas de código abierto?

¿En qué se diferencian BSD, Unix y Linux?

¿Qué idioma se utiliza para construir la mayoría de los principales sitios web como Google, Facebook y Twitter?

¿Dónde y para qué se utiliza Java en la industria?

¿Qué tan difícil es conseguir un trabajo como ingeniero de software en Silicon Valley? ¿Cómo cambiará esto en 10 años?

¿Cómo pueden los desarrolladores de software mejorar su capacidad de detectar errores mediante inspección?