¿Cuáles son las cosas que los desarrolladores de back-end deberían aprender en 2017?

Bases de datos relacionales, algunas bases de datos no relacionales, aunque no recomendaría que se sumerja de lleno en NoSQL hasta que tenga al menos cierta comprensión de los dbs relacionales … después de todo, solo uno de esos tipos ha sido probado y comprobado durante 30 años, domina el panorama de la programación actual (y en el futuro previsible), y probablemente pueda conseguirle un trabajo de desarrollador junior para muchas empresas si tiene la habilidad necesaria.

El lenguaje de elección del backend tiende a reducirse a opiniones y preferencias personales, pero recomiendo un lenguaje estático y fuertemente tipado como C # o Java como primer paso si eres nuevo. Me encanta mi Python y también creo que NodeJS es excelente a pesar de todas las quejas contra Javascript, pero en lo que respecta a hacer cumplir los buenos estándares de código y escribir código organizado y mantenible, realmente creo que C # o Java son el camino a seguir. Dicho esto, en un vacío con la guía de desarrolladores expertos / experimentados para aprender, no veo nada de malo en usar, por ejemplo, Python con Django para construir un back-end. Los desarrolladores con experiencia y conocimiento producirán código Python / PHP / NodeJS limpio y fácil de mantener … es solo que la naturaleza de estos lenguajes de curva débil, dinámica y de bajo aprendizaje hace que sea peligrosamente fácil producir código de espagueti.

Tener cierta exposición a la nube probablemente será fundamental en el futuro previsible … AWS actualmente posee la mayor parte de los bienes inmuebles en la nube y tiene una gran cantidad de recursos para aprender. Me tomó literalmente minutos hace años descubrir cómo alojar mi primer sitio web estático con S3 y luego solo unas pocas horas para comenzar a lanzar instancias de EC2, unas pocas más para hacer cosas útiles en ellas, y luego unas pocas semanas para convertirme en un poco más fluido con la navegación de mi tablero y el uso de otras funciones. Tener algunos proyectos web alojados en la nube que literalmente puede mostrar a un entrevistador en el acto puede ser una ventaja bastante significativa, especialmente para los desarrolladores más jóvenes y menos experimentados.

Finalmente, creo firmemente que los desarrolladores de back-end deberían tener una competencia funcional con el front-end … no, no tienes que ser genial con React o Angular 1/2 y no, no tienes que ser un experto con SASS / LESS o ten una mente para diseñar hermosas plantillas. Pero si puede preparar una API REST básica para mí desde un archivo CSV que le doy pero no tengo idea de cómo consumir los datos con, digamos, una simple llamada AJAX, entonces probablemente debería estar un poco más familiarizado con el front-end . Hay una pregunta común que dice: “¿Qué sucede cuando escribes ‘facebook.com’ y presionas enter en tu navegador web? Y creo que todos los que se autodenominan desarrollador web front-end o back-end deberían poder hablar por al menos unos minutos sobre el tema. Lo admito, pregúntame hace 3 o 4 años y no podría llenar un minuto. Aquí hay un gran enlace que recomiendo que todos lean, incluso si es solo para evaluar sus conocimientos. Lo que realmente sucede cuando navegas a una URL
Lo curioso es que todavía hay un montón de espacio para profundizar en lo que ya es una respuesta bastante detallada y completa, especialmente si se sumerge en los componentes de bajo nivel que impulsan cada uno de los pasos individuales. Fácilmente una lectura de 10 minutos IMO.

La mayor parte de mi respuesta menciona la tecnología que ha existido durante años, incluso décadas. Sé que mucha gente va a ver esta publicación esperando nuevos marcos / lenguajes / tecnologías brillantes que sean las siguientes gemas ocultas (y no me malinterpreten, hay muchos contendientes por ahí), pero el hecho es que hay habilidades fundamentales que todo desarrollador de back-end debería tener y, por más aburrido que parezca, no hay sustituto para tener una sólida comprensión de las bases de datos, un lenguaje de back-end popular y bien establecido, y un cierto conocimiento de la imagen más amplia (cloud y front fin, por ejemplo).

Aprende el lenguaje de programación Go. Se está convirtiendo rápidamente en uno de los idiomas de nivel superior en TI, ¡el primer idioma en hacerlo en más de 20 años! Ver el pequeño lenguaje que podría.

Go está encontrando su camino en casi todo … servidores de red, computación en la nube, aplicaciones web, robótica, bases de datos, juegos, gráficos, administración de sistemas, computación científica, etc. ¡En serio, súbete a la planta baja y sube a la cima!

La última encuesta SkillUp 2017 de Packt, que se basa en 4.731 encuestados de 43 países, ha revelado las principales herramientas e idiomas que los desarrolladores están utilizando actualmente, y lo que es más importante, las nuevas herramientas y tecnologías que desean aprender este año.

De Python a Jenkins, infórmese sobre las 5 principales herramientas de desarrollo e idiomas para aprender este año – Eligo Technology