P: ¿Por qué los proyectos de CS en la universidad parecen programas de juguetes?
Porque ellos son. Las tareas de CS están destinadas a cumplir un propósito, y es demostrarle a un profesor si usted entendió o no y podría aplicar un concepto muy específico aprendido durante la clase. Un curso de programación o algoritmos no está diseñado en torno a los requisitos del usuario y del negocio, el control de calidad, el diseño o la eficiencia. Es implementar un poco de conocimiento y luego pasar al siguiente. Realmente no hay tiempo en un solo semestre (o trimestre o trimestre o período de clase de cualquier duración que se le asigne) para cubrir las mejores prácticas, conceptos y paradigmas de programación de aprendizaje, y luego aprender lo suficiente como para aplicar a un proyecto de programación considerable que usted podría considerarse más que “del tamaño de un juguete”.
No, a menos que haya una clase dedicada a la creación de aplicaciones del mundo real, o facsímiles de.
- ¿Qué hace Takipi?
- ¿Por qué es engañoso llamarte desarrollador de pila completa en LinkedIn solo porque te graduaste de bootcamp de codificación?
- Estoy trabajando como ingeniero de software. No estoy satisfecho con mi trabajo. ¿Debo dejar el trabajo y unirme al negocio de mi padre o buscar cualquier otro trabajo de TI?
- Al usar un VCS como Git, ¿ven otras personas el código fuente de mi proyecto privado?
- ¿Qué me estoy perdiendo como ingeniero de software, si no estoy trabajando en una empresa líder como Google, Facebook, etc.?
Tomé una clase, creo que se llama “Algoritmos Aplicados”, donde trabajamos en pequeños equipos de 3 a 4 estudiantes, y nos dieron requisitos comerciales muy flexibles que nuestros programas tenían que satisfacer. Hubo una tarea en el aula, er, tarea que teníamos usando datos reales del registrador de nuestra universidad, y la abordamos pensando que esto realmente podría ser algo útil, con consecuencias y aplicaciones en el mundo real. Tuvimos reuniones con nuestra “usuaria” (una mujer amable en la Oficina de Registro) y señalamos sus requisitos y casos de uso y todo. Fue muy emocionante y agotador para 4 estudiantes con poca o ninguna experiencia en el “mundo real”.
Pero con solo unas pocas horas a la semana para dedicarnos a trabajar juntos en esto, no había forma de que pudiéramos producir un programa de alta calidad y totalmente funcional que estuviera listo para la producción. Todavía éramos estudiantes con una carga completa de cursos y horarios de trabajo y responsabilidades extracurriculares. Solo tuvimos entre 5 y 6 semanas para obtener un prototipo de programa; este es nuestro último proyecto del semestre, si recuerdo, antes de los exámenes finales. Ni siquiera teníamos nada cerca de una interfaz de usuario, solo la línea de comandos.
Para la escala, los proyectos en los que trabajo ahora (y estoy en desarrollo web, no en ingeniería de software) pueden tomar varios meses antes de que estén listos para la producción. Y ahora hay muchos más jugadores y partes móviles que, por ejemplo, un solo usuario, un solo administrador y otros 2 o 3 programadores. Y es un equipo completo de diseñadores y desarrolladores y especialistas en garantía de calidad que dedican potencialmente hasta 8 horas al día en un solo proyecto (aunque esto es realmente muy raro, más bien unas pocas horas aquí y allá divididas entre varios proyectos). “Del tamaño de un juguete” de hecho.
Sin embargo, lo último que escuché fue que nuestro proyecto de asignación de aula sirvió de base para lo que los futuros grupos de estudiantes terminaron usando para crear prototipos de un producto que funciona para nuestro registrador, aunque escuché esto a través de la vid (uno de los estudiantes con los que trabajé en el proyecto) y podría estar muy, muy equivocado. Tal vez el Registrador todavía está haciendo tareas en el aula a mano.