Como desarrollador completo de Java / JS, ¿qué puedo aprender para avanzar en mi carrera? ¿Es Scala una apuesta segura?

Debería poder formarse su propia opinión como desarrollador JS / Java de pila completa.

Seguramente debes ver que:

  • Java no irá a ninguna parte en la próxima década más o menos. Hay un montón de eso.
  • JavaScript no va a ninguna parte. Hay demasiado de eso

Para roles individuales, es posible que desee entrenarse en uno de los idiomas que menciona. Aunque no me he encontrado con proyectos importantes en Clojure, Groovy o Go. Scala, he oído hablar de ser usado, pero es bastante raro por aquí.

Sin embargo, el gran diferenciador es manejar la complejidad. Ambos podemos escribir una sola página web que se comunique con un único servidor de aplicaciones web que se comunique con una sola base de datos.

Pero eso ni siquiera es el presente, y mucho menos el futuro. Los sistemas se vuelven más complejos cada día,

Necesitamos saber sobre

  • escalabilidad y disponibilidad.
  • seguridad de la aplicación
  • robustez
  • innumerables formas de UI / UX en diferentes dispositivos: reloj, teléfono, realidad virtual, TV, tableta … ah, y esas cosas anticuadas llamadas computadoras portátiles

Las próximas cosas parecen centrarse en la personalización, a menudo involucrando aprendizaje automático, o redes a gran escala, ya sea Facebook o IoT. Computación generalizada.

En lugar de idiomas, mi opinión es centrarme en estas ideas básicas de nivel de sistemas. Creo que eso es lo que separa lo bueno de los desarrolladores simplemente buenos.

Sin embargo, solo mis pensamientos. Sea interesante ver las otras respuestas a esto.

Para ser tan inútil como siempre, sí Scala, Clojure, Groovy y Go son buenas apuestas. Aprender cualquiera de los tres te beneficiaría.

Pero pongamos mi git hat obstinado por un momento y asegúrese de obtener los votos negativos y los comentarios enojados.

Groovy me parece estar al final de su ciclo de vida actual y ahora es casi “lo que usa Gradle”. Es probable que sea un poco mezquino (Búsqueda maravillosa: está aumentando técnicamente, pero ¿43 empleos? Vs. Búsqueda de escala en 239), pero Groovy ya no es genial .

Clojure es un poco especializado, pero conocer un lenguaje liso siempre es bueno. Pero no esperaría usarlo realmente (Clojure Search, 25 trabajos). Eso es Clojure (como todos los lisps) es realmente una habilidad CV. Impresionante mostrar que puedes hacerlo, pero eso es todo.

Scala no solo se usa para big data, sino que ese es el caso de uso más común en este momento. Sin embargo, con Java 8, gran parte de Scala se puede hacer en Java. Pero sin algo de [desorden / genialidad; eliminar según sea necesario] de Scala.

Si eres senior, entonces Go (Go Search, 79 empleos) es una opción increíble en este momento. Ir en serio carece de buenos desarrolladores senior. Pero no creo que esto sea una prueba de futuro, sino un movimiento oportunista . Todavía no estoy convencido de que Go no tendrá el mismo destino que Groovy. Genial por un momento, luego deslícese en la oscuridad.

Existen otros idiomas que vale la pena considerar (como Kotlin, ruby, php y swift).

Si lo que desea hacer es su CV a prueba de futuro, entonces aprender un segundo idioma es bueno (probablemente estaría mirando Scala, ya que sería rápido obtener decente o JavaScript / Node.JS) pero debería ser una parte menor de El desarrollo de tu carrera. En cambio, dedique su tiempo a:

  1. DevOps (aprenda los conceptos básicos de la gestión de un maquinista y Docker)
  2. Cloud (aprenda los conceptos básicos de AWS y tal vez, si tiene algo de tiempo libre, la oferta de Google o Microsofts en la nube).
  3. Arquitectura

En ese orden.