¿Debo aprender Golang o Ruby (Ruby on Rails) para el desarrollo de backend para conseguir un trabajo en 2017?

¡Quédese con JavaScript por un tiempo y haga una inmersión profunda! Puede crear cualquier producto que pueda crear con Rails o Go en la web con Javascript, incluso puede escribir aplicaciones móviles nativas con React Native y volverse loco en el escritorio con Electron.
Perfecciona tus habilidades de JS, realmente atrapa las bibliotecas con las que estás trabajando, sus expresiones idiomáticas, sus defectos y su fuerza y, sobre todo, * construye * cosas con él. Que más que cualquier conocimiento de Rails o Go es lo que lo llevará adelante, abrirá oportunidades de trabajo, nuevas conexiones, exposición y la casualidad que puede cambiar su vida. Aquí hay algunas ideas sobre lo que puede construir:

  • Una aplicación web que permite la comunicación en tiempo real usando React / Redux y Web Sockets, ¿puede hacerlo isomorfo? ¿Cómo podría usar Redux tanto en el servidor como en el backend y la acción de envío a las tiendas en todos los clientes (pista aquí es donde entran los sockets web).
  • Una aplicación de línea de comando simple, algo relacionado con archivos, git, la terminal, tal vez un comando que genera la distribución de las constantes más comunes en sus proyectos.
  • Una aplicación de escritorio en electron, crea un cliente de escritorio para aplicaciones web populares que actualmente no tienen una.

Con todos sus proyectos, hágalos pequeños, pero inicie la búsqueda de productos, bloguee al respecto.
En general, la amplitud se logra mejor al profundizar sucesivamente, hacer una inmersión profunda, obtener algo de experiencia y si el trabajo lo requiere, aprender una nueva herramienta y repetir.
Todavía puede aprender un poco de Ruby & Go, comprender cómo influyó Rails en prácticamente cualquier otro marco nuevo, lo que encontrará y qué nicho se supone que debe llenar Go, pero no se deje rastrear por las nuevas cosas brillantes que hay demasiadas bajando por la tubería para que te mantengas al día y en última instancia son una distracción.

Buena suerte.

¡Si tu puedes!

Go tiene una barrera de entrada muy baja, por lo que muchas empresas lo usan como la pila principal de tecnología, ya que un joven especialista aprende el idioma muy rápido y su trabajo rápidamente vale la pena.

Según nuestra experiencia, Golang será perfecto tanto para sistemas de back-end grandes y pequeños como para servidores de red altamente escalables. Go es un lenguaje moderno y bien presentado, le proporcionará una gran velocidad y un rendimiento de calidad, un entorno limpio y una buena adaptabilidad con otros marcos, bibliotecas e idiomas, así como un gran apoyo de la comunidad.

De acuerdo con el extenso índice Tiobe y la encuesta Stackoverflow, Golang está cada vez más comprometido con su posición en comparación con otros lenguajes más utilizados como Java, C ++, Python, PHP, etc. Sigue siendo uno de los de más rápido crecimiento, amado, temido y quería un lenguaje de programación de los últimos años, en comparación con el Ruby que en los últimos años ha perdido popularidad.

Cualquiera de los dos estaría bien, al igual que unas pocas docenas más. Ruby tiene algunas buenas bibliotecas y habilidades de procesamiento de texto, pero no es el mejor lenguaje para abordar tareas. Go tiene una comunidad vibrante que está moviendo el idioma para convertirse en una solución para todo lo que se ejecuta en el servidor.

Yo elegiría ir. Tiene una serie de ventajas y puede resolver una variedad de problemas en el backend. Se compila y es bastante rápido para la mayoría de las tareas de subproceso único. Los programas concurrentes son fáciles de construir correctamente para utilizar mejor los recursos disponibles. Tiene soporte de primera clase para hacer casi cualquier cosa que un programador de sistemas quiera hacer. Finalmente, la implementación es simple con una compilación de un solo paso y un ejecutable vinculado estáticamente.

Dicho esto, no estoy seguro de cuánta diversidad hay entre Go y node.js en términos de tareas para conquistar. Ninguno de los dos es realmente apropiado para cosas como ML, informática científica o manipulación de hardware. No sé qué áreas aparte del desarrollo web quieres tocar a continuación, pero eso puede llevarte a otro idioma o agregar un tercero.

Ninguno.

Ruby es un lenguaje encantador, verdaderamente hermoso y Rails es un proyecto brillante que simplemente funciona automáticamente. Sin embargo, no hay muchos proyectos grandes o empresas que lo usen. Los frameworks Node.js lo han reemplazado como lo nuevo y sexy.

Go no será un éxito a menos que Google lo respalde por completo y lo convierta en su idioma de goto. No veo que eso suceda.

En 2017, la mayoría de los backends seguirán siendo PHP o Python. Java probablemente todavía tendrá vida en las empresas. De los tres, sugeriría que Python sería más útil para el tipo de cosas que son difíciles en Javascript.