¿Qué temas en ciencias de la computación son más importantes para un aspirante a ingeniero de software?

Lo más importante que debe aprender es que confiar en las listas más importantes es un pobre sustituto para pensar.

Aquí está la lista que funcionó para mí:

  1. Crítica teatral
  2. Escritura creativa
  3. Ciencias Políticas

Eso me catapultó a una Maestría en Administración de Sistemas y Redes, lo que me llevó a una carrera corta y lucrativa en robótica, lo que me permitió retirarme y obtener un doctorado en informática de alto rendimiento, que ahora me ha llevado a un trabajo de ensueño en un laboratorio nacional del DOE.

Y uso el pensamiento crítico y las habilidades de escritura que aprendí en mis clases de pregrado con mucha más frecuencia que cualquier cosa que aprendí en una clase de informática.

Entonces, ¿cuáles son las clases más importantes para ti? ¿Qué tal unas pocas clases de introducción en meteorología? Combina eso con un poco de álgebra lineal y un título en informática y estás viendo una gran carrera trabajando con simulaciones climáticas. O pruebe la epidemiología y las estadísticas y trabaje para los Centros para el Control de Enfermedades para comprender cómo se propagan las enfermedades transmisibles como el Zika. O tome algunas clases previas a la ley y comience a convertirse en un abogado de patentes especializado en compsci.

Hay muchísimos compañeros que se graduarán con una licenciatura en informática. Sus proyectos y pasantías se verán bastante parecidos, y competirán por el mismo conjunto de trabajos para cortar galletas.

No seas esa persona. Sé el ingeniero de software que tomó cuatro años de clases de astronomía. O clases de teoría musical. O antropología (rápido, ¿qué vicepresidenta de Intel tiene sus tres títulos en antropología?).

Y hagas lo que hagas, no trabajes fuera de la lista de otra persona. No necesitas la universidad para aprender C o teoría de grafos. Necesitas la universidad para aprender cuáles son los problemas . Una vez que entiendes eso, qué clases tomar para generar soluciones se vuelve mucho más obvio.

Voy a decir la teoría de grafos. Tal vez soy parcial porque amo la teoría de grafos. La teoría de grafos es extremadamente interesante y puede usarse para modelar tantos problemas. ¿Hacer un motor de ajedrez? Representa el juego como un árbol de decisión (un árbol es un gráfico), donde mueves una pieza o no. Los algoritmos AlphaGo probablemente se basan en la teoría de grafos. ¿Alguna vez se preguntó por qué lo llaman una red neuronal? Bueno porque usan gráficos para representar conceptos de aprendizaje. HTML? Sí, eso es básicamente una representación textual de un árbol. ¿Cómo funcionan los analizadores? Bueno, crean árboles para analizar el lenguaje. Por supuesto, puedes representar Internet como un gráfico.

Como he tratado de ilustrar, la teoría de grafos afecta a mucha informática. Cada vez que escuchas un gráfico de árbol o una red, en lo que alguien está trabajando es fundamentalmente un gráfico.

Diría que los cursos básicos del sistema operativo que se imparten en el 90% de la educación informática, conceptos de bases de datos, conceptos de orientación a objetos. Curso lógico general – booleanos y tal. Cómo escribir y comunicarse también sería bueno.

More Interesting

¿Qué tan importante es la capacidad de resolución de problemas para obtener un trabajo tecnológico?

¿Es inteligente aceptar el hecho de que estaré endeudado e iré a la universidad?

¿Qué software permite compartir códigos para que puedan desarrollar un proyecto con un equipo?

¿Cuál es la mejor práctica para los PM no técnicos cuando son reclutados por compañías 'solo ingenieros' que asumen que él era un ex ingeniero?

¿Cuál es la diferencia entre los cursos de informática, ingeniería informática e ingeniería de software en las universidades? ¿Existe un título por separado que uno pueda obtener como ingeniero de software?

¿Cuál es la definición de profesionalismo para los ingenieros de software?

¿Qué herramienta es la más utilizada para la evaluación de seguridad?

¿Cuáles son algunos lenguajes / métodos y herramientas de programación modernos utilizados por las nuevas empresas de Internet de hoy?

¿Qué posibilidades hay de que todos los entrevistadores de desarrolladores de software reciban la misma pregunta de programación técnica?

¿Cómo ha influido el movimiento de código abierto en la industria de TI?

¿Qué país del golfo es bueno para los profesionales del software?

¿Dónde puedo obtener software crackeado que sea seguro de usar o cómo puedo ejecutarlo de manera segura?

¿Puede un ingeniero de software indio conseguir un trabajo de forma independiente en los Estados Unidos sin hacer una maestría en los Estados Unidos?

¿Por qué Facebook tarda tanto en cargar los nombres de las personas a las que les gusta un comentario?

Necesito un buen libro para comenzar a aprender ARMv8 Assembly, ¿alguna sugerencia?