¿En qué debería centrarme mientras obtengo mi título en informática?

Debes concentrarte en divertirte mientras estás en la universidad. Si vas a obtener un título en CS, debes tener muchas asignaturas optativas; cuando te gradúes, puedes tener una buena formación.

Mira, tu título te llevará a la puerta (o no) en las empresas, pero ser una persona interesante, en lugar de un autómata CS sin sentido, es mucho más útil en algunos lugares. También, por lo que parece, no sabes en qué te quieres meter. Todos usan tecnología, por lo que todos pueden querer ingenieros de software. Los ingenieros de software que pueden escribir son mejores, así que tome algunos cursos de escritura (creativa, técnica, filosofía, lo que sea) en algo que le guste. No sabes lo útil que es eso.

Alternativamente, considere tomar algunos cursos de idiomas. Muchas empresas, especialmente las de tecnología, pueden tener oficinas en el extranjero, y ayuda si eres el héroe que habla alemán / ruso / español / etc. Incluso en una gran empresa de tecnología, puedes terminar interactuando con muchas personas para quienes el inglés no es el primer idioma. Últimamente he estado trabajando en la oficina japonesa. Tienen un punto de contacto que me habla, pero que obviamente se está comunicando con personas cuyo inglés no es tan bueno.

Tal vez te guste mucho el arte, el teatro o lo que sea. Genial, encenderá una pasión que puede perseguir en las 16 horas / día que no está en el trabajo.

% aquí hay un contraargumento de que podrías gastar todas tus asignaturas optativas de educación no general en cosas de CS. En teoría, podrías ser un mejor programador si tomas esos cursos, pero, francamente, el 99% de las veces el hecho de que hayas hecho ese trabajo de curso no es útil (contrapunto: cuando puedo hablar sobre Criptografía, que era mi CS concentración, estoy muy feliz . Pero no sucede a menudo).

Algunas otras cosas que desearía que la gente me dijera cuando comencé la universidad:

Una pasantía exitosa en una empresa (especialmente grandes empresas) puede convertirse en una oferta de trabajo después de la escuela. Lo mismo con algunas startups. Esas compañías también le brindan más apoyo / asesoramiento profesional. Las empresas más pequeñas (especialmente las que no están en centros tecnológicos) consideran a los pasantes como recursos de desarrollo temporal adicionales.

Su GPA es importante para obtener una entrevista para su primer trabajo, tal vez. Después de eso, se trata de dónde trabajó anteriormente. Puede ayudarlo a obtener una entrevista para una pasantía en una gran empresa (Apple, Microsoft, Google, Amazon).

Concéntrese en hacer el trabajo tan pronto como se le asigne, porque estará menos estresado en general y más feliz (porque no tiene trabajo) y lo hará mejor (porque puede acudir a los profesores en busca de ayuda).

Matemáticas discretas se convierten en teoría CS. Es útil prestar atención (no lo hice) porque comienza como algo que rara vez usará y se convierte en algo que es útil saber.

Estructuras de datos y algoritmos (a veces es un curso, a veces son 2 cursos. Depende de su escuela) es su curso de preparación para la entrevista. Si necesita concentrarse en un curso, concéntrese en eso.

Así que espero que ayude. Hiciste una pregunta muy general, así que no puedo darte muchas respuestas específicas. Siéntase libre de comentar aquí / envíeme un mensaje si desea más información.

Diría que lo más importante con diferencia es el desarrollo de habilidades y experiencia. Que tengas un título en ciencias de la computación al final no es casi completamente importante. Nadie (nadie con ningún sentido de todos modos) te va a contratar porque tienes un papel en un marco en tu pared. Para lo que lo contratarán es por sus habilidades y experiencia.

Algunas personas no están tan interesadas en conseguir un trabajo. Esta bien. Si está interesado en ser competente, la respuesta es la misma. Obtener un título no te hará competente. Tampoco obtendrá buenas calificaciones. Desarrollar habilidades y experiencia lo hará.

Entonces, ¿cómo desarrollar habilidades y experiencia? Haciendo cosas Sin duda obtendrá algo de eso haciendo trabajo de clase y escuchando a sus profesores, pero eso no es suficiente. Debe estar haciendo proyectos propios que le interesen. Estos pueden durar mucho tiempo (a diferencia de la mayoría de los proyectos de su clase, que probablemente solo durarán unos días o algunas semanas como máximo). Debe ver el ciclo de vida de un proyecto en el que su comprensión inicial del problema cambia drásticamente, lo que hace que tenga que tomar decisiones difíciles sobre la refactorización, la reescritura o el abandono del código antiguo. Es probable que no aprendas nada sobre tales cosas en tus clases.

Otra cosa que probablemente no verá mucho o ninguna de las herramientas prácticas del mundo real, como sistemas de control de versiones, rastreadores de errores, detectores de fugas de memoria, analizadores de código estático, analizadores de red, sistemas de registro distribuido, etc. Debes conocer tu camino para ser un ingeniero de software real y no un tipo con un papel en la pared.

Si es posible, intente conseguir un trabajo desarrollando algún software real. Incluso si es barato o gratis. Eso desarrollará sus habilidades y experiencia tan rápido como cualquier otra cosa.

Haz amigos con alguien con un poco más de experiencia que tú. Hacer preguntas. Ser curioso. Pruebe cosas y haga que revisen lo que hizo y escuche sus sugerencias. Si puede, devuélvalo ayudando a otros con un poco menos de experiencia. No solo es lo mejor que puedes hacer, puedes aprender mucho ayudando a otros, viendo sus ideas, viendo sus errores y ayudándolos a superarlos.

Por último, te sugiero que prestes especial atención al desarrollo de tus habilidades de comunicación. Aprende a escribir y hablar mejor que antes. El desarrollo de software se trata tanto de comunicarse con las personas como de comunicarse con las computadoras. El diseño gráfico, la escritura técnica, la ortografía, la gramática y el hablar en público son habilidades complementarias críticas que un ingeniero de software necesita.

Pruebe y obtenga algunos cursos de negocios, derecho comercial, contabilidad y estadísticas. Intenta obtener estadísticas avanzadas en lugar de ecuaciones diferenciales. (a menos que te guste el cálculo)