¿Es necesario aprender algoritmos y estructuras de datos al solicitar un trabajo como desarrollador de aplicaciones?

Esta posición parece una posición de tipo ingeniero de pila completa, en mi opinión:

  • “Tecnología web (HTML, CSS, JS)” es una interfaz
  • “Docker, AWS” es la administración del sistema
  • Java es backend

Para cualquiera de estas áreas, necesitará conocer el algoritmo y la estructura de datos. Es posible que no necesite un conocimiento avanzado en la estructura de datos para la administración de la interfaz y del sistema, pero tener un mínimo hará la diferencia entre un desarrollador normal y un gran desarrollador.

La estructura de datos y el algoritmo son temas bastante importantes durante los procesos de entrevista. Todas las entrevistas técnicas que he visto contenían algunas de ellas, para muchas compañías. Por lo general, las principales empresas como Facebook, Google o LinkedIn requerirán que tenga un conocimiento sólido en estructura de datos y algoritmo (porque la escala a la que operan requiere que sus ingenieros optimicen los algoritmos para la escala). A menudo, durante las entrevistas técnicas, deberá responder preguntas / resolver problemas que no reflejarán en absoluto el trabajo diario que implicará este puesto, pero desafortunadamente, ese es el único que puede obtener el trabajo.

Tengo un sólido conocimiento de las entrevistas técnicas, ya que estoy trabajando en la industria durante una década y estoy dirigiendo una escuela de ingeniería de software que capacita a ingenieros de software completos. Mis estudiantes han aplicado a un número de pequeñas y grandes empresas, así como a una variedad de roles y estos 2 temas siempre surgen.

Agregaría que, además de sentirse cómodo con las estructuras de datos y el algoritmo, debe sentirse cómodo al explicarlo y explicarlo en una pizarra, nuevamente para entrevistas técnicas.

Mi observación como ingeniero de software y ahora cofundador de una escuela de ingeniería de software es que hay una brecha entre lo que necesita saber para obtener un trabajo y lo que necesita saber para ser bueno en su trabajo:

  • Para obtener el trabajo : estructura de datos / algoritmo / pizarra / conocimiento teórico
  • Para ser bueno en tu trabajo: habilidades prácticas

A medida que se formula su pregunta, “sí” podría considerarse una pérdida de tiempo, pero así es como funciona la industria del software.

Algunas recomendaciones para estar en la cima de tu juego:

  • El libro “Cracking the Coding Interview”
  • El libro “The Algorithm Design Manual”
  • Practica en HackerRank y entrega más rápido a través de Crowdsourcing

¡Buena suerte y si te gustó mi respuesta, por favor vota! :)!

La verdad es que no necesita conocimiento de algoritmos y estructuras de datos para conseguir estos trabajos. Pero sus empleadores no lo saben y pensarán menos de usted si no conoce esas cosas. Las entrevistas se hacen tan horriblemente que se deja de lado una buena cantidad de talento.

Todo lo que necesita son buenas habilidades de resolución de problemas para el dominio particular en el que se especializa. Resolver algoritmos y problemas de estructura de datos lo familiariza con la resolución de problemas, que será útil para usted.

Una empresa que hace preguntas relacionadas con el algoritmo y la estructura de datos durante la entrevista para trabajos de HTML / CSS y JavaScript es como evaluar a alguien para un puesto como limpiador en un hospital pidiéndole a la persona que realice una cirugía cerebral.

¿Realizar una cirugía cerebral te hace un buen limpiador: tal vez

¿De lo contrario, te vuelves un mal limpiador y no eres apto para el trabajo ?: ¡Diablos, no!

HTML: no, absolutamente no

CSS: no

JS: No, pero sería útil.

DOCKER, AWS: No, pero sería bastante útil.

JAVA: absolutamente necesario

No puede ayudar aprender más, pero si el trabajo / sus intereses se inclinan más hacia el desarrollo web front-end, muy poco utiliza algoritmos y estructuras de datos.

Seguí siendo desarrollador de aplicaciones durante años sin conocer algoritmos y estructuras de datos. Por extraño que parezca, cuando tomé el libro de la entrevista de Cracking the Coding, me di cuenta de alguna manera que ya sé lo básico de esto.

Si mantiene la curiosidad, probablemente terminará aprendiéndolos mientras trabaja en problemas de la vida real.