Como desarrollador web full stack con 1 año de experiencia, ¿sería beneficioso para mí aprender algoritmo y estructura de datos?

Aprender sobre estructuras de datos y algoritmos te convierte en un excelente programador.

Las estructuras de datos y los algoritmos son patrones para resolver problemas . Cuantos más tenga en su cinturón de servicios públicos, mayor será la variedad de problemas que podrá resolver. También podrá encontrar soluciones más elegantes a nuevos problemas de las que de otro modo sería capaz.

Entenderá en profundidad cómo su computadora hace las cosas. Esto informa cualquier decisión técnica que tome, independientemente de si está utilizando o no un algoritmo dado directamente. Todo, desde la asignación de memoria en las profundidades de su sistema operativo, hasta el funcionamiento interno de su RDBMS y cómo su pila de red logra enviar datos desde un rincón de la Tierra a otro. Todas las computadoras dependen de estructuras de datos y algoritmos fundamentales, por lo que comprenderlos mejor hace que comprenda mejor la computadora.

Parte de lo que Algorithms te enseña son prácticas para evitar. ¿Un bucle foreach que anida 3 capas de profundidad? Sí … eso es malo.

Todo depende del tipo de aplicaciones que esté creando y en qué parte de la pila esté trabajando. Si está trabajando únicamente en el front-end, aún puede ayudar, ya que JavaScript incorrecto conduce a largos tiempos de giro o navegadores congelados. El lado de la lógica de negocios / servidor lo usa aún más, ya que a menudo tiene que manipular mucho los datos antes de pasarlos.

En mi opinión, es un conocimiento “básico” bastante básico que deberías tener como programador.

En resumen, cada programador debe conocer al menos algoritmos básicos y estructuras de datos. Los principales que encontrará en todos los idiomas son lista, conjunto, mapa (o diccionario) y cola / deque.

Memorizar la complejidad algorítmica de ciertas operaciones en una clase como una Lista, un Conjunto o un Diccionario asegurará que elija el mejor método para almacenar y acceder a sus datos.

SÍ.

Con cada algoritmo y la nueva estructura de datos que aprendas, te mejorarás como programador. Incluso si no escribe / usa algoritmos complejos todos los días, al menos sabrá dónde buscar cuando encuentre un problema que requiera tales habilidades. Esto también contribuirá a una mejor comprensión del software y su funcionamiento subyacente. No será _magic_, será el algoritmo A o la estructura de datos B.

La mayoría de las personas se preguntan: _ ¿Por qué tengo que aprender algoritmos si no los uso en mi trabajo diario? _ No es el algoritmo per se o la estructura de datos lo que te ayuda la mayor parte del tiempo, sino la mentalidad que obtienes mientras aprendes Un ser curioso.