¿Debería centrarme en el aprendizaje de algoritmos y estructuras de datos en profundidad, o aprender una habilidad como desarrollo web o desarrollo móvil usando Nanodegree?

Deberías estar ocupado haciendo tu GP y terminando tus papeles en tu universidad en estos días, así que supongo que comenzarás a hacer lo que te diré ahora después de la graduación.

Como estudiante graduado, su objetivo debe ser conseguir un trabajo, cualquier trabajo para ahorrar dinero para usted y cualquier cantidad de dinero, cualquier trabajo con cualquier dinero, incluso sin (pero en su propia carrera).
Entonces mi consejo:

  1. Crea un CV con todo lo que sabes hasta ahora.
  2. Solicite muchos trabajos, cualquier puesto en el que pueda trabajar, solicite a sus contactos y amigos un trabajo o pasante adecuado para su nivel, y ofrezca trabajar de forma gratuita para ellos y solicite todas las pasantías que pueda alcanzar, incluso si no son remunerado (solo navegue en google por empleos y pasantías en su pueblo, ciudad o condado).
  3. Mientras hace el número (2), elija un libro en programación orientada a objetos usando el idioma que más le guste, o el idioma que cree que necesita el mercado en su país (puede averiguarlo simplemente navegando por ofertas y descripciones de trabajos), para mí I recomiende C ++, lea este libro de principio a fin (para actualizar su OOP y OOD para estar listo para cualquier entrevista).
  4. Mientras que el número (2) y el número (3) practican más problemas en Codeforces o HackerRank, resuelva los problemas desde los más resueltos hasta los menos resueltos (esto actualizará sus conocimientos de Algoritmos y estructura de datos sin necesidad de mucho tiempo para leer libros y profundizar en algoritmos). Será mejor si practicaste que usando el mismo idioma estás leyendo su libro.
  5. Mientras hace el número (4) y el número (2) y después de terminar el número (3), revise el curso de administración de la base de datos que estudió y comience a hacer desarrollo web o móvil.

Después de trabajar durante algunas semanas en el número (5), estoy seguro de que podrá encontrar un trabajo o una pasantía.
Una vez que obtenga un trabajo o una pasantía, será mucho más fácil transferir el trabajo o el puesto.

Después de terminar el número (5), si consiguió un trabajo o no, comience a sumergirse en los algoritmos y las estructuras de datos.

Recuerde que desde el primer día de su graduación, hará dos cosas todos los días:

  1. Verifique los trabajos y solicite.
  2. Practica la programación competitiva.

Siga buscando trabajo hasta que obtenga un puesto local en su país.

Después de eso, debe profundizar en los algoritmos y la informática en general, luego de un año o dos de trabajo duro, podrá solicitar Google, Quora o Microsoft.

Te deseo una buena carrera, y espero que te haya sido útil.

Hay una verdad fundamental acerca de ser un desarrollador de software profesional que los académicos en la escuela rara vez se toman el tiempo para señalarle:

Su código solo es valioso en la medida en que ofrece valor a sus consumidores.

Dado que sus habilidades son principalmente para resolver problemas en forma de código, entregados a los usuarios finales, un corolario podría ser:

Sus habilidades solo son valiosas en la medida en que entregan valor a los usuarios finales.

Entonces, a lo largo de su carrera, cada vez que aprenda algo, apréndalo con la vista puesta en “¿qué hace esto para mis usuarios finales?”.

Es realmente difícil crear un currículum vitae de proyectos prácticos que te permita conseguir un trabajo en dos meses. Por lo tanto, debe planear ir después de los puestos de nivel de entrada donde no esperarán una sólida competencia existente en ningún dominio, solo resolución de problemas y codificación. Para ser contratado en ese contexto, debe demostrar sus habilidades para resolver problemas, y eso es más fácil de hacer en la cultura actual de entrevistas con una caja de herramientas algorítmica fuerte. Pero no desea estudiarlos en el vacío, desea estudiarlos con miras a cómo ayudarán a su usuario final, y

Cuando el objetivo es ser contratado, el usuario final es USTED.

Desea maximizar el impacto en su carrera de este proceso de aprendizaje, lo que significa que debe estudiar y practicar con el objetivo específico de ser contratado. CareerCup es el mejor lugar para hacerlo: ve y haz problemas allí, participa en los foros y aprende cómo construir y aplicar tu caja de herramientas.

Pero aquí también falta una pieza: construir su caja de herramientas algorítmica solo ayudará si puede aplicarlo en una configuración de entrevista, así que

Estudie entrevistas al mismo tiempo.

La entrevista es una habilidad y, como todas las habilidades, la práctica hace al maestro (o al menos la práctica mejora). Así que entreviste donde sea que puedas y, mientras tanto, haz entrevistas simuladas. Considere usar Pramp para trabajar con otras personas que también quieran practicar entrevistas, y hágalo una y otra vez hasta que ya no esté nervioso y salga de cada entrevista sintiéndose bien.

Puede tomar más de dos meses, está dando los primeros pasos en un camino que lleva toda la vida, pero no hay mejor momento para comenzar. Solo sé intencional sobre lo que estudias, cuándo y cómo, y llegarás allí sin ningún problema.

Lo más importante en informática son los algoritmos y las estructuras de datos. Son la biblia de CS. Por lo tanto, es muy importante que tenga una comprensión básica muy sólida de estos conceptos. Te diré el motivo con un ejemplo:

Tome un ejemplo de electricista. Uno ha aprendido la habilidad simplemente observando a otros haciendo trabajo. Mientras que el otro probablemente tiene un diploma y conoce los detalles de condensadores, inductores y otras cosas. Por lo tanto, cuando surge un nuevo problema, puede llegar a una solución científica y lógica. El otro también puede llegar a la solución, pero no será tan eficiente como el educado. Lo mismo ocurre con CS también.

Por lo tanto, debe tener los conceptos básicos de DS y Algoritmos. Después de esto, definitivamente puede continuar con el desarrollo, que es mucho más fácil. Si comienza a codificar en Python, facilitará la tarea.

Pero ahora, cuando ve que las aplicaciones que lo rodean están basadas en el desarrollo, puede sentir quién hace estas cosas de programación competitiva. Te daré un ejemplo. Usted busca en Google y muestra los resultados en milisegundos, de millones y millones de páginas indexadas. ¿Cómo sucede? Detrás de escena, estos complejos algoritmos y estructuras de datos están haciendo el trabajo. Todo esto hace que la tarea de los desarrolladores de aplicaciones sea muy fácil y fluida. Pero para ser un gran desarrollador debe tener el conocimiento de estos para hacer aplicaciones escalables y eficientes.

Ahora, para darle el escenario actual.

  1. Tengo un amigo que no es muy bueno en DS y algoritmos, pero que ha realizado mucho desarrollo de aplicaciones. Ahora lo colocan con Google.
  2. Otro amigo mío es muy bueno en programación competitiva y también está en Google.

Por lo tanto, depende de cuáles sean sus intereses y qué camino desea tomar.

¡QUE EL CÓDIGO ESTÉ CON USTED !!!!!!!!

Honestamente depende de tu conjunto de habilidades actual. ¿Qué tan fuerte eres en las estructuras de datos? Si está muy por encima del promedio, es posible que no necesite estudiar en sí mismo, pero concéntrese en practicar su camino hacia mayores dificultades l.

Centrarse en algoritmos y estructuras de datos debe hacerse en un momento u otro. Así es como conseguirá un trabajo, ya que muchas preguntas de la entrevista se centrarán en esto. Sin embargo, tener una habilidad práctica y un portafolio también lo ayudará cuando busque un trabajo. Mi sugerencia sería buscar primero los algoritmos y las estructuras de datos, luego, mientras busca trabajo, aún puede tomar un curso de nanogrado. No debería ser uno u otro.

Yo personalmente realmente recomiendo los nanogrados. No tendrá que preocuparse por encontrar el material adecuado, ya que ya está reunido para usted, estará expuesto a que otra persona revise su código, las lecciones son fáciles y atractivas, y los proyectos son muy útiles e interesantes. Tendrá un muy buen punto de partida para un futuro en cualquier dirección en la que desee ir. Vale la pena el dinero. Y si consigue un trabajo, aún puede continuar con el nanogrado, ya que están diseñados para pasar un mínimo de 2 horas al día. Puede incluir eso en un día de trabajo también.

Estoy en el mismo bote que tú (graduándome este semestre), y estoy haciendo algunos nanogrados. También sugeriría elegir un libro con preguntas típicas de entrevista que pueda resolver cuando se prepare para sus primeras entrevistas.