¿Qué habilidades de programación debe conocer cada desarrollador web antes de aprender un segundo lenguaje de back-end?

Muchos de los conceptos que aprende en su primer idioma se transferirán a todos los idiomas que haya aprendido.

Variables Ramas (if / else, switch, etc.). Bucles (para, while, do / while, etc.). Funciones / procedimientos / subrutinas. Todos estos conceptos existen de alguna forma en casi todos los idiomas. La sintaxis puede parecer un poco extraña en algunos idiomas, pero el concepto es el mismo.

Una vez que se sienta cómodo con esos conceptos, debe sentirse cómodo creando soluciones no triviales utilizando esos conceptos. La mayoría de los problemas de ejemplo en los que nos cortamos los dientes son ingeniosos y simples. Los casos límite generalmente están muy bien definidos y los parámetros del problema son muy limitados.

Los problemas del mundo real tienden a ser complicados y complicados con una serie de casos extremos, todos los cuales deben manejarse correctamente.

Una vez que pueda hacer ESO cómodamente en su primer idioma, entonces debería estar listo para elegir uno nuevo. Al hacerlo, aprenderá nuevas formas de pensar sobre problemas familiares, pero también descubrirá que aprender un nuevo idioma casi siempre se trata de sintaxis.

Habrá modismos comunes a cada idioma, por supuesto, y si está cambiando a un nuevo paradigma (por ejemplo, OOP a funcional o imperativo a la lógica), habrá una curva de aprendizaje más pronunciada. Dicho esto, una vez que entiendes la forma en que el lenguaje “piensa” sobre el problema, se trata de profundizar en los nuevos conceptos y ponerlos en práctica.

Deben saber programar . La programación se trata de resolver problemas, por lo que deben desarrollar y perfeccionar sus habilidades de resolución de problemas.

Te estás centrando demasiado en los idiomas y las tecnologías. Comience con un lenguaje de programación y aprenda a usarlo bien mediante la práctica de escribir software .

Solo después de haber alcanzado una medida de competencia, debe comenzar a buscar otros idiomas.

Por supuesto, hay muchas habilidades que un desarrollador de back-end debería tener, pero las dos que sorprendentemente más carecen:

  1. Cómo diseñar una base de datos relacional: he visto algunos diseños realmente horribles (ver Normalización de la base de datos – Wikipedia), y escribir consultas SQL buenas y eficientes parece eludir a mucha gente.
  2. Cómo almacenar credenciales de inicio de sesión. No, escribir la contraseña en texto claro en una base de datos no es un buen diseño, es horrible. Y no, MD5 la contraseña y luego almacenar que no es mucho mejor …

Quisiera poder recomendar algunos buenos libros para el primero, pero no tengo una visión general de los libros actuales.

Por el segundo, al menos puedo ofrecer un video sobre cómo NO hacerlo:

aunque no me gusta el consejo de dejar que Facebook o Google lo hagan. También pueden equivocarse.

Fuera de mi cabeza, creo que un desarrollador frontend debería conocer los siguientes lenguajes / técnicas: JavaScript, CSS3, HTML5. Deben conocer la mecánica básica de los siguientes marcos: Angular, React y JQuery. Deben conocer los siguientes patrones: MVC, MVVM y programación reactiva. Si conoces esos conceptos básicos, estás bien.

Suponiendo que no conoce ningún lenguaje de programación, primero debe aprender a programar. (Ver Teach Yourself Computer Science.) La programación no es lenguajes, es análisis. No es escribir en un teclado, es pensar.

Una vez que haya aprendido a analizar la situación hasta el punto de que pueda encontrar una solución al problema, entonces es el momento de aprender idiomas.

Entonces puedes aprender tantos idiomas como quieras. Pedirle a Google ejemplos de lo que necesita (que sabrá si ha aprendido programación) le dará la respuesta para cualquier idioma. Al igual que laravel, conectarse a una base de datos le dará casi 500,000 visitas.

La respuesta corta es:

Asegurar su sitio con el primer idioma utilizado, por ejemplo, usar php puro tiene algunos desafíos con la seguridad.

Saber cómo “hablar” con la API web.

Automatización de tareas, por ejemplo, correos electrónicos automáticos, recordatorios,

Eso es lo más importante para mí.

Antes de aprender su segundo idioma de back-end, es absolutamente necesario saber … el primero.

Eso es. Ni siquiera todas esas cosas de front-end, aunque es bueno ramificarse y adquirir otras habilidades que van bien con la programación. (No descuides las habilidades blandas y el cuidado personal).

Tienes mucho tiempo para decidir si quieres ser un desarrollador web de back-end o front-end o full-stack … o incluso una categoría de desarrollo completamente diferente, como móvil, escritorio, incrustado, kernel, etc. Simplemente sigue aprendiendo , al menos un idioma o una técnica importante por año, una combinación de “la nueva moda” para que pueda seguir siendo empleado y algo tan * diferente * como sea posible de lo que ya sabe, para darle diferentes perspectivas para pensar.

Si puede reconocer el problema y resolverlo con el idioma elegido, puede aprender un segundo.

Personalmente, no incluiría HTML, CSS, jQuery, bootstrap en la mezcla. No son idiomas sino herramientas para ayudar en el desarrollo web.

Javascript, sql (supongo que esto es en su mayoría una funcionalidad CRUD básica y probablemente no debería contarlo) valdría la pena describirlo como idiomas.

Básicamente, si el idioma no cumple con los objetivos, aprende otro.

Debes saber lo suficiente para hacer tu trabajo. Curiosamente, cuando cambies a un nuevo idioma de fondo, sabrás más sobre tu primer idioma porque puedes contrastarlo.

PHP es uno de los lenguajes de fondo que debes conocer.

PHP y JavaScript son lenguajes muy poderosos en la Web.