¿Cuál sería la próxima cosa que debería aprender / abordar como persona de CS?

Aprende sobre algo que crees que sería genial .

Entré personalmente al desarrollo móvil porque me di cuenta de lo mucho que usaba mi teléfono y pensé que sería genial poder programar una aplicación. Trabajé principalmente en aplicaciones que solucionaron pequeños problemas míos y mejoraron aplicaciones existentes. El desarrollo móvil no solo me ayudó a aprender a construir software a gran escala de manera eficiente, sino que también me enseñó a pensar siempre en el usuario final. Ahora, antes de trabajar en algo, trato de pensar en el usuario final y los tengo en cuenta al momento de desarrollar. También aprende cómo comercializar su aplicación, recopilar comentarios de los usuarios, lidiar con los informes de errores / bloqueos y administrar el correo electrónico. Cuando lancé mi primera aplicación importante, fui bombardeada con miles de correos electrónicos y tuve que aprender a manejar eso. Tuve una gran experiencia y todo vino de probar algo que pensé que era genial.

Actualmente, estoy realmente interesado en la Inteligencia Artificial y la tecnología de drones, así que estoy trabajando en un proyecto que enseña a un drone a navegar por un curso por sí mismo, evitando obstáculos y variables inesperadas. Rápidamente descubrí que conseguir que un avión no tripulado permanezca en el aire por sí solo es un trabajo duro y la brisa más leve puede hacer que se desequilibre y se bloquee. Todavía tengo un largo camino por recorrer, pero me encanta trabajar en ello.

Entonces, para responder a tu pregunta, creo que deberías intentar encontrar algo que te parezca interesante y aprender sobre eso. No me preocuparía demasiado sobre cómo podría ayudarte a expandir tu mente. Lo sabrás después de probarlo y reflexionar.

“No puedes conectar los puntos mirando hacia adelante; solo puedes conectarlos mirando hacia atrás” – Steve Jobs

Lo mejor que puedes aprender y ya deberías haberte autodidacta antes de obtener tus calificaciones es el lenguaje ensamblador. Si te conociera en persona y me dijeras que eres un estudiante de CS, las primeras preguntas que haría serían: “¿Puedes escribir programas completos en Assembly? ¿Qué arquitecturas? ¿Puedes hacerlo sin mirar un libro de referencia?”

Si pudiera responder positivamente a todas estas preguntas, se habrá diferenciado de los programadores de lenguaje de alto nivel y sería muy bueno, incluso para ellos.

¿POR QUÉ? Si tiene la aptitud y la inteligencia para aprender a ensamblar incluso para una arquitectura sin necesidad de mirar un libro, puede aprender cualquier idioma común de alto nivel con fluidez en cuestión de semanas y cualquiera de los idiomas intermedios como C +, incluidos los idiomas de los teléfonos móviles y Cualquier idioma nuevo que aparezca en el futuro. Con el menor tiempo posible para familiarizarse con las ligeras diferencias de las arquitecturas, puede desensamblar cualquier programa que haya sido escrito con software de desarrollo o lenguajes intermedios como C + y procesos de escritura que están más allá de los dominios del software de desarrollo, procesos que expanden las cosas a Lote mientras carga y ejecuta mucho más rápido que el código original, luego vuelva a ensamblarlo. No hay nada mejor que esto. Podrá hacer todo lo que un programador de lenguaje de alto nivel puede hacer, pero ellos no podrán hacer el 30% de lo que usted puede hacer.

¿Tienes un juego de computadora favorito? Desmóntalo, hazlo como quieras y realmente tuyo. Demonios, escribe el tuyo desde cero.

Como estudiante de CS, ya debe tener al menos una aplicación en el Android Market especialmente porque ha dicho que es competente en Java. Si vende la aplicación por solo 60 centavos y es algo que la gente encuentra muy útil, puede terminar vendiendo cientos por semana (cientos de dólares) y debería ser fácil para usted.

Aprender todos los aspectos de la CS es una cosa, pero al aprenderlo, desarrolle cosas y su dominio se multiplica por diez. Luego, cuando tenga sus calificaciones y vaya a su entrevista de trabajo, conversará sobre su conversación con Assemby Language y las aplicaciones que pone en el mercado de Android por aburrimiento además de responder a sus preguntas: las eliminará.

Algunas sugerencias que no vas a terminar, pero que evolucionarán tu pensamiento:

  • Crea tu propio sistema operativo que no es un clon de otra cosa.
  • Construir un servidor web básico. Comience con un programa que hace que los archivos estáticos estén disponibles en el puerto 80, agregue soporte de scripting y amplíelo
  • Cree un programa no trivial que se ejecute en una gran cantidad de plataformas con cambios mínimos en el código.
  • Crea un clon de licuadora.

Todo lo anterior, aunque reinventa la rueda y es probable que no tenga ningún beneficio que no sea la experiencia, enseña habilidades valiosas que son necesarias en la mayoría de los proyectos.