Creo que la educación progresiva es el mejor camino a seguir, pero en realidad no hay una respuesta correcta.
Trabajo en la Escuela Holberton de Ingeniería de Software en San Francisco, donde utilizamos los mejores métodos de capacitación para nuestros estudiantes. La filosofía que seguimos ayuda a los estudiantes a desbloquear su máximo potencial. Más importante para nosotros que aprender, es el enfoque del aprendizaje. Haga eso correctamente y la curva de aprendizaje nunca se detiene, por lo que sigue viendo una mejora constante.
En línea por ti mismo
- Tomé el examen GATE este año y obtuve un rango de 4700 en el EEE. Caí un año después de la universidad para prepararme para el GATE. ¿Que debo hacer con mi vida?
- Tengo dos ofertas de trabajo. Ambos son buenos. Sin embargo, el primero me dijo que yo era la segunda opción. Siento un poco vergonzoso elegir una oportunidad que otros les ofrecen. ¿Me equivoco al pensar?
- Ahora soy un contador público con una excelente experiencia en artículos de 3 años que se completará el 15 de septiembre de 2015. Estoy buscando obtener un GMAT de una escuela de negocios en los Estados Unidos y me gustaría obtener una beca. ¿Vale la pena postularse sin experiencia laboral?
- ¿Por qué los estudiantes de mecánica obtienen trabajos fuera del campus de más de 10 carencias?
- ¿Cuál es una mejor opción, hacer un proyecto de soporte en MNC o trabajar como desarrollador de Java en una pequeña empresa?
Si lo hace en línea, se convertirá en un ingeniero de software autodidacta. Los que logran hacerlo (porque es muy difícil) se encuentran entre los mejores. Todo lo que necesitas es MUCHA motivación.
Si decide ir a aprender solo, aquí hay algunos consejos:
- Encuentre un mentor: el mundo del software es grande y hay mucho que puede encontrar en Internet al respecto, también, sea honesto, hay demasiado y es difícil saber por dónde empezar. Encuentre a alguien que haya estado en la industria por un tiempo y que se mantenga actualizado. Defina un plan con esta persona sobre lo que debe estudiar.
- Obtenga un código revisado: por lo general, hay muchas formas de lograr algo y muchas formas muy malas. Si bien Internet está lleno de excelentes recursos, está lejos de ser perfecto. Asegúrese de pedirle a su mentor que revise su trabajo de vez en cuando, para que no esté aprendiendo de la manera incorrecta.
- Aprende haciendo: leer libros y tutoriales es bueno, pero hacerlo es el rey. El software es como un oficio, es practicando que lo dominarás.
- Practique en algo significativo: seguir los tutoriales tiende a ser molesto, una vez que se sienta lo suficientemente cómodo con una tecnología, trate de llegar a una idea de proyecto personal donde tenga que usar lo que esté aprendiendo. Eso te ayudará mucho a mantenerte motivado y estar orgulloso de ti mismo. Recuerde que PUEDE HACERLO, es cuestión de tiempo y perseverancia, pero el camino puede ser largo.
- Diviértete: CodinGame es genial, los videojuegos que controlas usando un lenguaje de programación de tu elección. HackerRank es una plataforma en la que puede evaluar sus habilidades de programación, muchas preguntas son del tipo de entrevistas técnicas que las empresas están utilizando para seleccionar candidatos, una buena manera de ver cuál es su posición.
- Salga y conozca a los ingenieros de software: hay mucho que necesita saber para ingresar al mundo de la tecnología, mucho que solo podrá saber cuando debata con ingenieros de software reales. Vaya a reuniones y hackathon, algunos sitios web que recomiendo para esto son Meetup.com y Eventbrite. Si vives en el área de SF Bay, visita nuestra página de Meetup.
Educación progresiva
Es TAN DIFÍCIL reclutar grandes ingenieros de software, y es muy triste ver que las personas que salen de la universidad después de estudiar durante media década todavía no están listas para hacer el trabajo porque pasaron su tiempo en clase escuchando conferencias, en lugar de trabajar en sus duras habilidades. A veces encontré algunas joyas para graduados de bootcamp, pero en su mayoría eran personas con experiencia en programación existente, donde los bootcamps los llevaron al siguiente nivel.
Tenemos en Europa muchos ingenieros de software que están capacitados en base a la educación progresiva y especialmente en base al concepto de metodologías basadas en proyectos y aprendizaje entre pares. En nuestra escuela (Holbertonschool) tenemos un programa de 2 años, los estudiantes comienzan a trabajar después de 9 meses. Sin maestros formales, sin conferencias, los estudiantes aprenden practicando y colaborando, que es más o menos lo que hacen los grandes ingenieros de software mientras trabajan. Después de 9 meses, sin experiencia previa en programación, los estudiantes encuentran trabajos de software en Docker, Apple, Dropbox … Cherry on the cake, no hay costo de matrícula por adelantado. Como creemos que nuestro modelo educativo funciona, los estudiantes solo pagan un porcentaje de su salario una vez que obtienen un trabajo.
En última instancia, no existe un tipo de educación ideal que nos sirva a todos, pero el software es como un oficio, es practicando que lo dominarás. Es por eso que creo que las escuelas de educación progresiva son las más adecuadas para capacitar a ingenieros de software que la industria necesita.
¡Buena suerte! 🙂