¿Los profesores que enseñan desarrollo de software saben lo que dicen?

Algunos lo hacen, en realidad.

Tal vez es mejor ahora que cuando fui a la escuela.

Los grandes profesores usaban las computadoras más que los profesores de computación. Exploraron IA, CogSci, Phyics, etc. Los profesores de matemáticas también fueron bastante buenos.

Pero, en una multitud de profesores realmente buenos, tuve que lidiar con falsos muy malos, aquellos que se metieron con mi vida de maneras imperdonables. El software tiene muchas, muchas falsificaciones. Es un problema.

Pero, todos estos problemas pueden tener poco que ver con su situación. Su profesor puede haber sido bastante bueno, y su trabajo es simplemente diferente. Por otra parte, su profesor puede haber estado diciendo la basura dogma y su trabajo podría ser un área de desastre total. ¿Cómo puedes saberlo?

Así es como lo dices: descúbrelo por ti mismo. Realmente deberías. He aprendido por las malas que no puedo aferrarme a situaciones malas. Tienes que saber con quién estás tratando. No es un juego simple de esta información aquí, esa información allá. Podría encontrar que una compañía hace todo exactamente como lo describió su curso, solo para descubrir que la compañía está dirigida por una banda de asesinos de hachas caníbales que solo lo contrataron para planificar la cena. Quizás encuentre que solo esos tipos siguieron la información en su curso exactamente. Eso significaría que solo prefieres trabajos en los que terminas metido en un plato encima de una mesa de banquete.

Metodología de software? ¿Hay uno? Ahí está ese, el otro, el nuevo, el viejo, a la manera de Joe, a la manera de Mary. ¿Aprendiste un proceso estandarizado? ¿Qué comité estándar?

Nada peor que estar en un lugar que adopta una metodología de software para su equipo de diez cuando la metodología fue diseñada para una corporación realmente grande, con subgrupos, órdenes de informes, etc., etc. Esta es una metodología diseñada para ralentizar todo. O tal vez va a una startup que adopta una metodología diseñada con un sesgo hacia el mantenimiento: ¡OOPS!

¿Cómo sabes cuándo pasar de cosas nuevas a mantenidas? ¿Qué se está diseñando? Solo hay muchas preguntas.

Entonces, suponiendo que las cosas sean buenas para usted, que se encuentre entre personas decentes y que su profesor no sea un falso falso, podría tomar su curso como ejemplo, un buen consejo. Tal vez es hora de descubrir lo que realmente hay que hacer y ser instrumental para que las cosas funcionen.

Ahora, si está pagando para aprender una manera de hacer las cosas y continúa en el camino, y su trabajo es otra forma de hacer las cosas, podría considerar pagar otros cursos si planea mantener su trabajo.

¿Qué querías de la clase? Mira, eres el que tomó una clase de metodología … antes de una pasantía. La “Metodología de software” no le enseñará sobre programación, si eso es lo que quería.

Los pasantes no implementan metodologías dentro de una compañía de software. Viven con cualquier metodología, o falta de ella, que existe en la empresa que les brinda una pasantía. La mayoría de las empresas no son realmente religiosas sobre scrum by the book o extreme o metodología x.

Además, incluso si la mayoría de las compañías fueran excelentes ejemplos de metodología formal de software, este hecho no sería de mucha utilidad para alguien que realiza una pasantía de ingeniería de software; tal vez sería relevante para una pasantía de administración de software si tal cosa existiera.

Sí, pero no podrá comprender su valor hasta que tenga algunos años de experiencia en su haber, experiencia REAL, no pasantías (los pasantes nunca obtienen experiencia real porque las compañías no confían en ellos … No, cuando se lo dijeron qué tan “útil” es donde estaban acostados).

Parte del desarrollo de software en el mundo real es el fracaso: las negociaciones fallan, usted elige la tecnología / arquitectura incorrecta para su proyecto y se da cuenta después del lanzamiento del proyecto, pelea con sus compañeros de equipo (o tiene relaciones sexuales con ellos, o tiene relaciones sexuales y luego pelea, etc.) .), su líder no puede mantener al equipo unido debido a una planificación deficiente, su sistema es pirateado horriblemente 1 año después del lanzamiento y se convierte en un infierno para su empresa, y muchas cosas más.

Todas estas cosas pueden prevenirse y corregirse implementando una versión más profunda de lo que le enseñan en su metodología de software: reúna los requisitos correctos, use las herramientas de planificación correctas, siga la metodología correcta, etc. Por supuesto, adaptado a cada empresa y para cada proyecto Las compañías reales pueden producir resultados, pero generalmente son caóticas y desorganizadas, y como pasante humilde no podrás darte cuenta. Pero después de unos años, vas a buscar trabajo y, oooooh, sí, te preguntarás cómo pueden mantener la compañía unida (la respuesta generalmente está en que algunas personas talentosas lo compensan por su propia voluntad).

Solo cuando comience a verse afectado por sus errores, comprenderá por qué los desarrolladores experimentados odian a la mayoría de los gerentes. Pero por ahora, la compañía hizo un buen trabajo al hacerle pensar que están operando sin problemas.

Es posible que su profesor simplemente se hiciera eco de un libro de texto obsoleto, que ya no refleja la práctica industrial típica actual.

Es posible que el trabajo que tenga se base en metodologías inusuales que no reflejan la práctica industrial típica actual.

Sin saber más sobre el contenido de su curso, o lo que está haciendo en su trabajo, es imposible decir cuál podría ser.

Como con cualquier profesión, hay buenas y malas. Está la persona que pasó directamente de pregrado a posgrado y volvió a enseñar hace 20 años y no ha actualizado sus habilidades desde entonces. Otro profesor podría ejecutar un grupo de usuarios local. Otro podría ser el principal experto en una rama muy específica de CS. Además de todo esto, un profesor puede o no ser un buen maestro. Se podría argumentar que la habilidad de enseñar es aún más importante que su aptitud técnica.

Aparte de eso, es muy fácil tener una desconexión entre la escuela y la industria. Tal vez la escuela te enseñó git pero tu lugar de trabajo está estancado en svn. Tal vez en la escuela usaste eclipse y en el trabajo usas intellij. Tal vez la escuela habló de ágil y su trabajo dice que son ágiles, pero no hacen cosas ágiles.

Con la rapidez con la que cambia la industria del desarrollo de software, es difícil que las cosas permanezcan sincronizadas.

Finalmente, “¿Vale la pena la educación por la que estoy pagando?”. Esto merece una publicación para sí mismo y la respuesta es quizás, probablemente, depende mucho de ti.

El desarrollo de software es un oficio. Cuanto más alejado esté uno de hacerlo, menos relevante será la capacidad de enseñarlo. La educación que está pagando definitivamente vale la pena, pero por razones ajenas a la mayor parte del conocimiento que obtendrá de los cursos académicos en informática. Una educación universitaria es una oportunidad para madurar, desarrollar intereses y conocer personas que pueden recomendarte para un concierto.

More Interesting

¿Los guiones gráficos se usan ampliamente en el desarrollo de iOS, o los desarrolladores todavía prefieren usar archivos .XIB / .NIB? ¿Cuáles son los pros y los contras de usar cualquiera?

¿Cuáles son las diferencias clave entre un programador y un desarrollador?

Como desarrollador de software, ¿cómo debo mantenerme fuerte y seguro cuando alguien dice que mis habilidades técnicas son malas?

Cómo aprender lógica empresarial en software de desarrollador

¿Cómo se ve un diseño de CV perfecto para un desarrollador de software?

¿Qué debo saber sobre la comunidad de desarrolladores de aplicaciones en la Ciudad de México?

Microsoft acaba de lanzar PowerApps (potencia tu negocio con aplicaciones). ¿No crees que una tecnología así es una amenaza para las empresas de TI y los desarrolladores de software?

¿Cómo mantenemos los datos confidenciales lejos de los desarrolladores de software?

¿Por qué es que la industria no ha adoptado un sistema de aprendizaje / oficial de desarrollo de software frente al método clásico de obtener una licenciatura y obtener entre 1 y 3 pasantías?

¿Qué va a tener más demanda en los próximos 5-10 años en la industria del juego? ¿Diseñadores de juegos, desarrolladores de software o artistas?

Tengo menos de 18 años y quiero una cuenta de desarrollador de Apple. ¿Mis padres tendrían que inscribirse en el programa para desarrolladores de Apple y luego publicar mis aplicaciones?

¿Qué ejercicios diarios de algoritmo son mejores para mejorar mis habilidades de desarrollo de software?

¿En qué trabajan los desarrolladores de software en empresas como WhatsApp una vez que su software está actualizado?

He estado aplicando a trabajos por años. ¿Cómo consigo un trabajo como desarrollador de software?

¿Cuál es el proceso de desarrollo de un software ERP?