¿Debería concentrarme en dominar algoritmos y estructuras de datos o desarrollar una buena aplicación? ¿Qué es más necesario a largo plazo?

No se pueden tener buenas aplicaciones sin alguien, para empezar, la persona que diseñó la cosa, que tenga un sólido conocimiento de las estructuras de datos y algoritmos. Piensa sobre esto. Vas a construir una aplicación. Lo primero que te viene a la mente: ¿quién lo va a usar? ¿Cuántos usuarios tendrá? ¿Qué tipo de recursos necesitará y cuántos de ellos? Esto ya está poniendo en su cabeza las ideas de equilibrio de carga, seguridad y gestión de recursos. El equilibrio de carga lo lleva a algoritmos. Con una idea aproximada de cómo se distribuirán y consumirán los recursos en su aplicación, tendrá que estructurarlos de alguna manera para que su aplicación siempre sea estable, receptiva y mantenga la corrección. Estructura tus datos y aliméntalos a un algoritmo, solo para que puedas tener una aplicación estable; aún no tienes una buena. Pero espero que empieces a ver a dónde voy con esto. Mucho antes de que se escriba la primera línea de código, los algoritmos y las estructuras de datos ya han desempeñado un papel decisivo. Digamos que esto está hecho y tienes tu diseño infalible. Los desarrolladores comienzan a escribir. No son muy expertos en algoritmos y agregan muchos vectores que ordenan con burbuja cada vez que ingresan en una función recursiva. La primera compilación de la aplicación se implementa y pasa 0 pruebas. Es lento como el infierno, se agota el tiempo en todas partes, finalmente se bloquea con un OOM. ¿Que pasó? Lo diseñó para que sea escalable, óptimo, seguro. Bueno, y que. El conocimiento del arquitecto no es suficiente. Sus desarrolladores también necesitan una sólida formación con algoritmos y estructuras de datos. Y si ese es el sombrero que llevas puesto, entonces tú también.

Para empezar, esta es una muy buena pregunta y debo admitir que muchos de nosotros no entendemos la importancia de esta pregunta. Soy ingeniero informático y he pasado por el mismo pensamiento hace unos años.

Entonces, si quieres una respuesta rápida, aquí está:

Necesitas ambos.

Dejame explicar,

Para un estudiante de informática, dominar las estructuras de datos y los algoritmos y ser un buen desarrollador es importante. La razón es que ambos son mutuamente dependientes (es decir, uno realmente no puede desarrollar una gran aplicación sin implementar o usar buenas estructuras de datos y algoritmos y, por otro lado, si no tiene las habilidades para desarrollar buenas aplicaciones, no lo hará) tienen mucho uso para las estructuras de datos y algoritmos que aprendió).

Suponiendo que tenga suficiente tiempo para estudiar ambos, le sugiero que comience con los fundamentos de la informática. Por fundamentos, me refiero a lo siguiente:

  1. Estructuras de datos y algoritmos: (no solo lea las diversas implementaciones de DS y algoritmos, codifíquelo)
  2. DBMS: (No solo aprenda a escribir consultas, sino que aprenda a conectarse a una base de datos y ejecutar varias operaciones. Además, intente diseñar la base de datos para aplicaciones grandes)
  3. OS: (No hay mucho que explicar aquí, aprende todos los conceptos)
  4. Redes de computadoras: (solo aprenda los conceptos básicos. Obtenga más información solo si le interesa)
  5. OOPS: (es imprescindible si necesita buenas habilidades de diseño)

Una vez que sea bastante bueno en los temas mencionados anteriormente, puede ir al lado del desarrollo.

No te limites con las tecnologías que ya conoces. No deje de aprender porque la demanda es demasiado y la tecnología está cambiando constantemente.

Básicamente, primero estudie todos los fundamentos de la informática y luego concéntrese en el lado del desarrollo. Es un proceso lento y constante, pero obtendrá lo que desea dependiendo de la cantidad de trabajo que realice.

Espero que esto ayude. Feliz codificación. 🙂

¡Hola! Has respondido tu propia pregunta. El punto es que para escribir “buenas aplicaciones”, debes ser bueno con los algoritmos y las estructuras de datos. Pero si está utilizando herramientas o API RAD (Desarrollo rápido de aplicaciones) para crear su aplicación, entonces DS y Algoritmos no importan mucho. Para crear las API y las herramientas, son importantes.

¿Largo plazo? Si eres un estudiante universitario y te preocupa conseguir un trabajo en las mejores empresas de tecnología, entonces haz todo lo posible por DS y algoritmos porque eres juzgado únicamente en función de tu proceso de pensamiento y enfoque. Lo aprendí por las malas. El primer rechazo duele mucho, pero no te rindas. Abra codechef o geeksforgeeks y comience a prepararse. Es posible que tu universidad no te lo diga. Tus amigos pueden estar construyendo aplicaciones de Android, sitios web y otras cosas y pueden hacer un buen futuro con eso. Piensa en tu prioridad y elige con cuidado.

Espero que haya ayudado.

Puedes ir desarrollando una buena aplicación porque cuando comienzas a trabajar solo, puedes aprender más y también la profundidad del tema.

Si simplemente comienza a estudiar o piensa dominar estructuras de datos o algoritmos, sabrá qué son, dónde se usan, pero no servirá para el propósito principal: cómo se usan.

Por lo tanto, para comenzar a utilizarlos, comience con una buena aplicación, los dominará en el proceso de desarrollo de esa aplicación.

Por lo tanto, no se trata de cuáles son necesarios a largo plazo, uno es directa o indirectamente proporcional al otro.

Déjame hacerte una pregunta antes de responder la tuya,

¿Puedes correr bicicleta sin aire en sus ruedas? Sí, puede, pero no será suave, así que … Considere su aplicación como una bicicleta y el aire en sus neumáticos serán estructuras de datos y algoritmos. Ahora es su decisión cómo conducirlo, creo que he aclarado mi punto …

¡Gracias!