La necesidad en el Perú de Ing. Software en Pregrado
Publicado: 26 Ago 2014, 10:36
Hace unos días leí un articulo acerca de la experiencia en Ing. de Software (IS) de la primera universidad en USA donde se creó la carrera en pregrado hace casi 20 años (Universidad de Rochester Institute of Technology - RIT), aunque la primera en el mundo fue en Inglaterra, hace casi 30 años en la univ. Imperial College.
Me gustaria comentar algunos puntos que me parecen relevantes de este articulo que me gustaría compartir:
- Porque surge esta carrera en pregrado en esta universidad?, por la falta de capacidades que se observaba de los egresados de la carrera de Ciencia de la Computación (CC) al empezar a trabajar en las empresas en ese momento. Cabe mencionar que Ciencia de la Computación fue la primera carrera de pregrado creado en su mayoria por matematicos hace unos 60 años en la Universidad de Cambridge en Inglaterra en 1953 y University Purdue 10 años mas tarde. Los que promovieron la Ing. de Software (IS) en el RIT traian toda su experiencia de la industria. "A pesar que los graduados que empezaban a trabajar en campo de la ing. de software (ciencias de la computación y otras ingenierias) venian con conocimientos de análisis y teorías de la computación, y muchos expuestos a los sistemas operativos, conceptos de lenguajes de programación, inteligencia artificial, graficos y diseño de compiladores, lo que ellos hacian falta es la experiencia para ser efectivos cuando se trabajaban en grandes, y complejos sistemas de calidad industrial". "En particular, estos egresados tenian poco o ninguna experiencia trabajando como miembros de equipos de trabajo".
- La falta de algunos conocimientos y experiencia muy importantes para la industria.Básicamente los egresados de CC tenian que aprender en el trabajo, por ejemplo empezar a aprender los procesos de modelos Waterfall u otras metodologías. "Los egresados de la carrera de CC tenian más interes en compiladores, sistemas operativos, gráficos, y otros, pero poco interes en el diseño.", "ademas de muchos no tenian experiencia con el control de versiones, configuration management, conocimientos pobres de Pruebas, o técnicas de Verification o Validación". Anteriormente los que querian tener conocimientos de Ing. de Software tenían que llevar un Master, y habian muchos una vez entrado a la industria no podian hacerlo.
- "La controversia entre ingenieria y ciencia es muy antiguo, aquellos que el objetivo es crecer y expandir el conocimiento vs. aquellos que quieren aplicar tales conocimientos para crear productos útiles". Yo creo que ninguna de estas es mas importante que la otra, pero, hacer ciencia es mas costoso y con resultados a largo plazo que aplicar los conocimientos ya existentes (que son muchisimos), es decir, ya sea aplicar conocimientos de inteligencia artificial, computacion gráfica, compiladores, tecnología movil u otros temas. Historicamente usar los conocimientos de por ejemplo Web Semantica, inteligencia Artificial u otros y llevarlos a productos útiles que podrian ser potenciales empresas de tecnologia, es un proceso en la que los ingenieros estarian mejor preparados. Yo podria mencionar varios ejemplos, pero podria mencionar el mio propio, donde teniendo como base conocimientos de inteligencia artificial pude aplicarlos a los mercados de capitales creando una aplicación que realiza tradings de forma autónoma.
- En el articulo el RIT propone un manifesto donde por ejemplo se valora mas la curricula horizontal vs vertical, el conocimiento de horizontal que debería ser la Ing. de Software al conocimiento técnico muy profundo que debería ser la Ciencia de la Computación. Valora mas el trabajo en equipo (Ing. de Software) que la actividad individual de la Ciencia de la Computación, Valora mas el diseño y el modelamiento (Ing. de Software) que la programación (Ciencia de la Computación), valora mas los procesos disciplinados (Ing. Software) que el desarrollo ad-hoc (Ciencias de la Computación).
- Actualmente los alumnos del RIT hacen practicas en la industria, y en la propia universidad antes de finalizar la carrera. En esta universidad existen laboratorios donde se intenta simular el día a día de las actividades realizadas en la industria (trabajos en equipos,etc), es mas, alguna compañia luego a intentado emular estos laboratorios para obtener mejores resultados, es decir, hay una retroalimentación entra la industria y la academia.
Ha cambiado algo en la Ciencia de la Computación?
Los autores del articulo creen que las deficiencias observadas en la Ciencia de la Computación luego de 20 años todavia existe, y esto se puede observar en la actual curricula de la Ciencia de la Computación CS2013, apesar que en esta versión los autores han identificado la necesidad de conceptos Ing. de Software para cumplir con los objetivos del CS2013, se ven muchas deficiencias en cuanto al contenido en este tema.
Al momento de detallar las areas de conocimiento se le da poca importancia a principios de la Ing. de Software "Solo tres areas SDF Software Development Fundamentals, SE Software Engineering, SP Social issue and Profesional Practice caen en los principios de IS, ademas "Las horas minimas para temas de IS, 10 horas para SDF, 28 para SE y 1 para SP". Es decir, hay unas contradicciones entre lo que realmente se dice con lo que se intenta "recomendar" cuando se va a detalle: "la amplitud y la profundidad de esta área de conocimiento conduce a un lamento regularmente escuchado en conferencias de educación de Ing. de software", existiendo muchas quejas de profesores de CC que intentan seguir esta curricula "Como voy a encajar temas criticos de IS y "soft" de trabajo en equipo en un solo curso de IS segun la curricula CS2013?".
Hay que tener en cuenta estas opiniones sobretodo a quienes intentan seguir "recomendaciones" que necesariamente no pueden cumplir con los objetivos planteados.
Perspectivas de la Industria a la educación en Ing. de Software
En la industria, como comentaba al inicio, se ha observa la deficiencia entre las capacidades necesarias de la industria y de los egresados que salen de las escuelas, y esto los autores lo hacen notar en su experiencia en varias reuniones con gente de la industria donde claramente identificaban las necesidades de alguna capacidades que les hacian falta al entrar a trabajar en la industria que los cubria la Ing. de Software, y lo mas curioso que pocos sabian que existia esta carrera en pregrado.
Ademas esta universidad menciona algunos datos interesantes, los egresados de Ing. de Software de esta universidad tenian un mejor salario en promedio mejor que los egresados de Ciencia de la Computación o Ing. de computadores de la misma universidad, ademas que la tasa de colocación de los egresados de Ing. Software es mas del 90%, ademas de ser mas valorados por los empleadores porque venian con mejores conocimientos para ser aplicados inmediatamente en el día a día.
Conclusiones
En el Perú existe la necesidad urgente desarrollar la carrera de Ing. de Software en todas nuestras universidades por los puntos anteriormente mencionados, no es una carrera nueva en el mundo. Personalmente conosco a la persona que lucho para que esta carrera se implemente en una universidad importante en España hace unos pocos años y luego empezaron a seguir otras.
La necesidad de ing. de software en el pais podrian llevarnos, no solo a crear un entorno mas favorable a la creación de empresas de tecnologia, sino además, potenciales inversores extranjeros podrian tener una mirada mas positiva al momento de decidir donde invertir, porque se encontrarian con capital humano con la experiencia y los conocimientos en Ing. de Software. Los que tenemos muchos años de experiencia en la industria en muchos paises, podemos dar fe de que el puesto de Ing. de Software existe en muchas empresas importantes de tecnologia del mundo, pero en su mayoria por egresados de Ciencia de la Computacion y otras ingenierias, y esto porque fueron las primeras carreras que existieron, pero como dice el articulo, entran a aprender Ing. de Software en el trabajo. Lo de el país debería de ofrecer son Ing. de Software con conocimientos y experiencia obtenidos durante su carrera universitaria de pregrado.
Aqui el articulo completo
http://cacm.acm.org/magazines/2014/8/17 ... g/fulltext
(nota: los que no tienen acceso al ACM me pueden enviar un PM o Private Message para enviarles el articulo: viewtopic.php?f=8&t=277)
Me gustaria comentar algunos puntos que me parecen relevantes de este articulo que me gustaría compartir:
- Porque surge esta carrera en pregrado en esta universidad?, por la falta de capacidades que se observaba de los egresados de la carrera de Ciencia de la Computación (CC) al empezar a trabajar en las empresas en ese momento. Cabe mencionar que Ciencia de la Computación fue la primera carrera de pregrado creado en su mayoria por matematicos hace unos 60 años en la Universidad de Cambridge en Inglaterra en 1953 y University Purdue 10 años mas tarde. Los que promovieron la Ing. de Software (IS) en el RIT traian toda su experiencia de la industria. "A pesar que los graduados que empezaban a trabajar en campo de la ing. de software (ciencias de la computación y otras ingenierias) venian con conocimientos de análisis y teorías de la computación, y muchos expuestos a los sistemas operativos, conceptos de lenguajes de programación, inteligencia artificial, graficos y diseño de compiladores, lo que ellos hacian falta es la experiencia para ser efectivos cuando se trabajaban en grandes, y complejos sistemas de calidad industrial". "En particular, estos egresados tenian poco o ninguna experiencia trabajando como miembros de equipos de trabajo".
- La falta de algunos conocimientos y experiencia muy importantes para la industria.Básicamente los egresados de CC tenian que aprender en el trabajo, por ejemplo empezar a aprender los procesos de modelos Waterfall u otras metodologías. "Los egresados de la carrera de CC tenian más interes en compiladores, sistemas operativos, gráficos, y otros, pero poco interes en el diseño.", "ademas de muchos no tenian experiencia con el control de versiones, configuration management, conocimientos pobres de Pruebas, o técnicas de Verification o Validación". Anteriormente los que querian tener conocimientos de Ing. de Software tenían que llevar un Master, y habian muchos una vez entrado a la industria no podian hacerlo.
- "La controversia entre ingenieria y ciencia es muy antiguo, aquellos que el objetivo es crecer y expandir el conocimiento vs. aquellos que quieren aplicar tales conocimientos para crear productos útiles". Yo creo que ninguna de estas es mas importante que la otra, pero, hacer ciencia es mas costoso y con resultados a largo plazo que aplicar los conocimientos ya existentes (que son muchisimos), es decir, ya sea aplicar conocimientos de inteligencia artificial, computacion gráfica, compiladores, tecnología movil u otros temas. Historicamente usar los conocimientos de por ejemplo Web Semantica, inteligencia Artificial u otros y llevarlos a productos útiles que podrian ser potenciales empresas de tecnologia, es un proceso en la que los ingenieros estarian mejor preparados. Yo podria mencionar varios ejemplos, pero podria mencionar el mio propio, donde teniendo como base conocimientos de inteligencia artificial pude aplicarlos a los mercados de capitales creando una aplicación que realiza tradings de forma autónoma.
- En el articulo el RIT propone un manifesto donde por ejemplo se valora mas la curricula horizontal vs vertical, el conocimiento de horizontal que debería ser la Ing. de Software al conocimiento técnico muy profundo que debería ser la Ciencia de la Computación. Valora mas el trabajo en equipo (Ing. de Software) que la actividad individual de la Ciencia de la Computación, Valora mas el diseño y el modelamiento (Ing. de Software) que la programación (Ciencia de la Computación), valora mas los procesos disciplinados (Ing. Software) que el desarrollo ad-hoc (Ciencias de la Computación).
- Actualmente los alumnos del RIT hacen practicas en la industria, y en la propia universidad antes de finalizar la carrera. En esta universidad existen laboratorios donde se intenta simular el día a día de las actividades realizadas en la industria (trabajos en equipos,etc), es mas, alguna compañia luego a intentado emular estos laboratorios para obtener mejores resultados, es decir, hay una retroalimentación entra la industria y la academia.
Ha cambiado algo en la Ciencia de la Computación?
Los autores del articulo creen que las deficiencias observadas en la Ciencia de la Computación luego de 20 años todavia existe, y esto se puede observar en la actual curricula de la Ciencia de la Computación CS2013, apesar que en esta versión los autores han identificado la necesidad de conceptos Ing. de Software para cumplir con los objetivos del CS2013, se ven muchas deficiencias en cuanto al contenido en este tema.
Al momento de detallar las areas de conocimiento se le da poca importancia a principios de la Ing. de Software "Solo tres areas SDF Software Development Fundamentals, SE Software Engineering, SP Social issue and Profesional Practice caen en los principios de IS, ademas "Las horas minimas para temas de IS, 10 horas para SDF, 28 para SE y 1 para SP". Es decir, hay unas contradicciones entre lo que realmente se dice con lo que se intenta "recomendar" cuando se va a detalle: "la amplitud y la profundidad de esta área de conocimiento conduce a un lamento regularmente escuchado en conferencias de educación de Ing. de software", existiendo muchas quejas de profesores de CC que intentan seguir esta curricula "Como voy a encajar temas criticos de IS y "soft" de trabajo en equipo en un solo curso de IS segun la curricula CS2013?".
Hay que tener en cuenta estas opiniones sobretodo a quienes intentan seguir "recomendaciones" que necesariamente no pueden cumplir con los objetivos planteados.
Perspectivas de la Industria a la educación en Ing. de Software
En la industria, como comentaba al inicio, se ha observa la deficiencia entre las capacidades necesarias de la industria y de los egresados que salen de las escuelas, y esto los autores lo hacen notar en su experiencia en varias reuniones con gente de la industria donde claramente identificaban las necesidades de alguna capacidades que les hacian falta al entrar a trabajar en la industria que los cubria la Ing. de Software, y lo mas curioso que pocos sabian que existia esta carrera en pregrado.
Ademas esta universidad menciona algunos datos interesantes, los egresados de Ing. de Software de esta universidad tenian un mejor salario en promedio mejor que los egresados de Ciencia de la Computación o Ing. de computadores de la misma universidad, ademas que la tasa de colocación de los egresados de Ing. Software es mas del 90%, ademas de ser mas valorados por los empleadores porque venian con mejores conocimientos para ser aplicados inmediatamente en el día a día.
Conclusiones
En el Perú existe la necesidad urgente desarrollar la carrera de Ing. de Software en todas nuestras universidades por los puntos anteriormente mencionados, no es una carrera nueva en el mundo. Personalmente conosco a la persona que lucho para que esta carrera se implemente en una universidad importante en España hace unos pocos años y luego empezaron a seguir otras.
La necesidad de ing. de software en el pais podrian llevarnos, no solo a crear un entorno mas favorable a la creación de empresas de tecnologia, sino además, potenciales inversores extranjeros podrian tener una mirada mas positiva al momento de decidir donde invertir, porque se encontrarian con capital humano con la experiencia y los conocimientos en Ing. de Software. Los que tenemos muchos años de experiencia en la industria en muchos paises, podemos dar fe de que el puesto de Ing. de Software existe en muchas empresas importantes de tecnologia del mundo, pero en su mayoria por egresados de Ciencia de la Computacion y otras ingenierias, y esto porque fueron las primeras carreras que existieron, pero como dice el articulo, entran a aprender Ing. de Software en el trabajo. Lo de el país debería de ofrecer son Ing. de Software con conocimientos y experiencia obtenidos durante su carrera universitaria de pregrado.
Aqui el articulo completo
http://cacm.acm.org/magazines/2014/8/17 ... g/fulltext
(nota: los que no tienen acceso al ACM me pueden enviar un PM o Private Message para enviarles el articulo: viewtopic.php?f=8&t=277)