Hay muchas opciones. La parte más importante es encontrar algo interesante : ¡es mucho más probable que falle al aburrirse y nunca terminar nada de lo que está haciendo al elegir mal en qué trabajar!
Una cosa que realmente me ayudó cuando comencé fue aprender diferentes lenguajes de programación . Es una excelente manera de estructurarse y asegurarse de exponerse a un conjunto diverso de ideas y perspectivas. Hay tanto que aprender …
Otra opción es trabajar en proyectos paralelos. Averigua en qué tipo de cosas te gusta trabajar. ¿Herramientas de desarrollo? ¿Juegos? Aplicaciones web? Robótica? Editores de texto? ¡Ve a por ello! Siempre he preferido saltar directamente sin preocuparme demasiado, aprendiendo conceptos bajo demanda. La pereza es una de las grandes virtudes de un programador, después de todo. Quizás podría intentar hacer algo concreto cada semana o incluso todos los días: 180 sitios web en 180 días es un buen ejemplo de esto.
- ¿Quora es un buen lugar para trabajar para una ingeniera de software?
- ¿Cuál es la mejor manera de atraer talento de la costa oeste (ingeniero de software senior) para reubicarse y mudarse al medio oeste?
- ¿Qué tan saludables son los ingenieros de software de la India?
- ¿Cuáles son las diferencias entre los ingenieros de sistemas integrados y los ingenieros de firmware?
- ¿Qué le pregunta la gente a un gerente de ingeniería de software?
Una opción divertida es aprender cosas y enseñar a otros . Escribe publicaciones de blog. Dar charlas en las reuniones. Responda en StackOverflow. (O Quora, supongo: P.) Ayudar a otros es a menudo la mejor manera de ayudarse, doblemente para aprender. He descubierto que esta es la mejor manera de obtener una gran cantidad de conocimiento: cuando tiene que explicar algo simplemente, no puede ignorar los casos extremos desafortunados. Es una buena manera de entrar en los rincones polvorientos de su conocimiento.
¡Una charla de encuentro no tiene que estar súper involucrada! Agitar las manos realmente ayuda.
Leer libros de CS es una buena forma de aprender los conocimientos básicos. No solo leería libros por sí mismos: son más una buena manera de apoyar las actividades que mencioné anteriormente. Si está buscando sugerencias, tanto Quora como StackOverflow tienen excelentes hilos. La portada de uno de mis libros favoritos de CS, The Structure and Interpretation of Computer Programs.
Finalmente, aprendería un poco de matemáticas. Esta es una excelente manera de practicar el tipo de razonamiento lógico que es extremadamente crucial para la programación. También es valioso ampliar tu conocimiento general: las ideas matemáticas surgen con mucha más frecuencia de la que piensas en muchos más lugares de lo que imaginas. Personalmente, estoy a favor de un enfoque “de arriba hacia abajo”: tome un libro avanzado y especializado que se vea interesante y desarrolle todos los elementos básicos que necesite para completarlo. Dicho esto, no creo que este sea un buen enfoque para la mayoría de las personas: puede que le guste leer libros generales o seguir algunas conferencias de matemáticas en línea mucho más.
Vicious Circles es el último libro de matemáticas que he estado viendo. Se trata de conjuntos no fundamentados y establece un gran compromiso entre ser accesible para los no matemáticos y ser razonablemente avanzado e interesante.
La mejor manera de aprender matemáticas es si puedes encontrar una aplicación o biblioteca interesante para jugar. Esto ayuda a que los conceptos abstractos sean más concretos y, por lo tanto, más fáciles de comprender. Los idiomas como Haskell con muchas bibliotecas inspiradas matemáticamente son muy buenos para esto. ¡Por ejemplo, vea la biblioteca lineal!
Entonces sí: muchas, muchas opciones. Pruebe varias combinaciones hasta que encuentre una que se pegue . La parte más importante es disfrutar, porque esa es la forma más fácil de asegurarse de que realmente aprenda lo suficiente como para tener un impacto.