Cómo convertirse en una persona de CS

El entusiasmo es admirable, pero no te engañes haciéndote creer que puedes obtener un conocimiento “divino” en CS en un tiempo razonable. Mi definición para alguien con capacidad “divina” en CS sería, para empezar, que pueden probar definitivamente si P = NP o no. Supongo que no sabes qué es “P = NP”. Recomendaría buscarlo en Google si no lo haces, podría decirse que es el problema más candente en CS hoy.

Aprender sobre programación imperativa vs OOP es un buen comienzo. Una cosa que debe aclarar es si le apasionan las ciencias de la computación (estructuras de datos, algoritmos, complejidad, etc.) o la ingeniería de software (desarrollo de aplicaciones, front-back end, arquitectura de esquema de base de datos, etc.). Ambos de estos temas surgen en la industria, pero yo diría que la ingeniería de software se usa mucho más ampliamente y se amplía hoy en día a medida que los marcos y las API más vanguardistas salen literalmente todos los días. La ciencia de la computación, por otro lado, ha estado bien establecida por décadas. La gente realmente no ha inventado un algoritmo de clasificación mejor que Quicksort o una estructura de datos que es más rápida que un HashMap (ambos han existido durante décadas).

En el ámbito de Comp Sci y Software, hay dos rutas generales que puede tomar:

1) Obtenga un doctorado, realice una investigación (intensiva en matemáticas) y publique artículos sobre nuevos algoritmos / paradigmas que las personas aún no han inventado

2) Obtenga su título de BS / MS, conviértase en un mono de desarrollo de aplicaciones / web, luego busque un trabajo en Facebook / Google / startup.

Algunas personas obtienen su PhD y luego ingresan a la industria, lo cual tampoco es una mala elección.

Elegí el # 2, principalmente porque no soy lo suficientemente inteligente para el # 1 y el # 2 generalmente paga mejor. Debe decidir por sí mismo si realmente le apasiona la informática o si desea convertirse en ingeniero y hacer mucha pasta * tos * erm … crear aplicaciones que deleiten a los usuarios.

Para el # 1, solo diría que estudiar mucho y continuar tomando clases de CS. Concéntrese en comprender los conceptos, haga la tarea y los laboratorios, y si tiene alguna pregunta, vaya a las horas de oficina del profesor o de la maestría. Si encuentra que cierta clase es agradable (por ejemplo, Seguridad), vaya a las horas de oficina de ese profesor y pregúnteles acerca de su investigación. Vea si hay alguna manera de involucrarse. Si todo funciona y puedes publicar durante la licenciatura, tendrás muchas municiones para postular a buenos programas de doctorado de CS en todo el país (y un profesor o dos que pueden escribir una buena carta de recomendación para ti).

Para el número 2, el camino es bastante similar, pero debe enfocarse en obtener una buena pasantía en lugar de hacer investigación (nada le impide hacer ambas cosas si tiene tiempo). Aprenda sobre tecnologías como Node.js / AngularJS / Ruby on Rails y cree algunas aplicaciones web de muestra (hay muchos tutoriales / micro cursos gratuitos por ahí). Cuando recluto en la universidad eventos de reclutamiento para pasantías, las personas que sobresalen son aquellas que tomaron la iniciativa de hacer sus propios proyectos en lugar de simplemente poner proyectos de clase en su currículum.

Buena suerte.