La semana pasada en Xataka empezamos un especial dedicado a repensar la carrera informática. Empezamos preguntando a los profesionales: su visión del sector en España y sobre todo cómo veían ellos la formación académica que han recibido y la que actualmente se imparte. Hoy volvemos con una segunda entrega y pasamos de los profesionales al sector de la educación. Más concretamente a los profesores... Ricardo Galli, Fernando Tricas...
#1:
Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera.
100% de acuerdo con Galli, yo he conocido a muchos compañeros ingenieros que no les gusta programar, me parece inaudito.
#13:
Un profesor amigo mio me contó el siguiente caso:
"tomé imágenes de código en Java, de tal manera que el estudiante no podía hacer copiar-pegar, debía transcribir, eran programas plenamente funcionales de menos de 20 líneas de código: ni un sólo estudiante de un grupo de 30 pudo compilar ningún programa, todos tenían errores en la transcripción, pero lo peor es que los estudiantes afirmaban categóricamente y con convencimiento que habían transcrito correctamente el código" ... lo peor viene: "cuando les veía el código, rápidamente me daba cuenta del error, variables mal escritas, falta de puntos y comas, if/for sin paréntesis o sin las llaves necesarias, cuando se los señalaba, los estudiantes decían que NO veían ningún error, nada, todo perfecto, estaban completamente ciegos ante eso"
Mi hipótesis es que la juventud actual está tan acostumbrada a los errores de ortografía y gramática que sus cerebros ya no ven el mensaje escrito como debe ser sino que captan la idea y por eso ignoran los errores. Cuando llegan a programar, sus cerebros hacen cortocircuito porque el lenguaje de programación no les perdona ni un sólo error. Y eso que estamos con los simples errores de sintaxis, no me quiero imaginar la reacción con los errores de lógica. Por eso la juventud se defrauda cuando los ponen a programar y huyen despavoridos de esa actividad.
#21:
#1 Pues sinceramente, después de muuuuuuchos años en este mundillo te diré que programar es ¡¡UN COÑAZO!! en el mundo real no se programan meneames ni se diseñan sistemas de inteligencia artificial, eso lo haces en tu tiempo libre si todavía te quedan ganas después de una jornada de trabajo aburridísima en la que acabas hasta las pelotas de código, el 90% de tu tiempo programando consistirá en hacer pantallitas iguales una tras otra, validaciones, búsquedas, estadísticas.... y eso que a mi me encanta programar, pero la mayor parte del trabajo no supone reto ninguno, y menos si ya llevas unos cuantos años.
#6:
Más inaudito es que a un informático sólo le guste el mundo windows. Y he conocido a varios.
#43:
#21#35 Yo creo que los pensamientos de #1 son los que hacen que los informáticos que están asqueados de picar código coñazo den el cambio. Al menos así lo hice yo hace cosa de un año, asqueado de trabajar en cárnicas y programar siempre j2ee. Dejé el curro y me metí de lleno en el mundo de las aplicaciones para móviles; hoy en día programo las aplicaciones que se me ocurren, me gustan y como yo quiero; vivo de ello, trabajo menos y ganos más. Ojo, que no digo que sea fácil, me costó más de medio año empezar a despegar...
#3:
#2 Ya tío, a ver si Galli le mete mano a la base de datos y me da unos puntillos de karma, que no hay manera de pasar de 10.
#119:
#112#107 lo verdaderamente divertido de la informática es cuando puedes participar en todo el ciclo. Desde conocer al cliente y que te explique lo que quiere, hasta convertir eso en un funcional, luego en un diseño técnico y luego empezar a programar.
Ese proceso se parece bastante a la construcción de un edificio, lo encuentro apasionante.
Lo que es un coñazo es: dedicarse exclusivamente a la programación durante años o exclusivamente a la gestión.
Quedarse estancado en un área (sea la que sea) termina por ser muy aburrido y muy peligroso, porque si te quedas en paro eres menos versátil.
Ahora bien, si tengo que elegir, creo que la programación en general es lo más apasionante y/o divertido.
He tenido todos los roles posibles en informática, creo, y el de gestor de proyectos, aunque mejor pagado, es muy desagradecido, porque recibes hostias por todas partes:
- del cliente, por no cumplir al 100% lo acordado.
- de los programadores, por ser demasiado exigente o no conocer a fondo el entorno tecnológico.
- de los financieros de la empresa, por desviarte en costes y no conseguir que el proyecto sea rentable
- de tus jefes, por no dejar satisfecho al cliente
- de tu familia, por trabajar 11 horas diarias
- y del mercado, porque te quedas obsoleto tecnológicamente y si te vas al paro lo tienes muy chungo. Un programador actualizado al menos siempre puede encontrar trabajo.
#46:
La misma historia de siempre macho, ya cansa el tema. Todas las carreras son iguales. Siempre con lo mismo, que si lo que se ve en la carrera luego no se usa, que si se tocan demasiados campos a la vez...
Pues nada, lo suyo va a ser montar los planes universitarios como si fueran un Codecademy, que es lo que está de moda, y a tomar porculo tanta teoría de sistemas operativos, compiladores, redes y bases de datos, ¿no?
Yo lo único que haría sería eliminar a todos los profesores inútiles, ir reciclando los planes introduciendo nuevas tecnologías en la segunda mitad de los mismos, y poco más. No se puede hacer más en cuatro años (antes 5), es literalmente imposible, entre exámenes y prácticas.
#110:
Después de leer la entrevista, estoy de acuerdo con todo lo que dice Galli (y no, no es para que haga un update de mi karma en la base de datos, realmente estoy de acuerdo )
Yo creo que el principal cambio que necesita la carrera en España es clases en inglés: si no todas, por lo menos la mitad. En mi facultad, parte de los alumnos están constantemente insistiendo en que hay que normalizar el gallego en la universidad, mientras que ni uno protesta porque en la carrera no se haga un esfuerzo por potenciar el idioma que realmente necesitas para todo en esta disciplina (incluso si trabajas en España y para clientes españoles, vas a trabajar sí o sí con sistemas, librerías, APIs, etc. documentadas en inglés. Y si quieres que lo que hagas tenga un poco de difusión -software libre, etc.- documentar en cualquier idioma que no sea inglés es absurdo).
Lo triste es que no sólo es que no protesten, sino que cuando se propone alguna iniciativa de clases en inglés, los alumnos son el primer colectivo que se opone, lo cual manda huevos. Que se opongan los profesores, para los cuales supondría trabajo extra (sobre todo porque muchos no tienen buen nivel de inglés), vale, pero los alumnos...
Prefieren sacarse el título más cómodamente y salir siendo analfabetos en su campo porque no dominan el idioma universal de la informática, que hacer el esfuerzo de aprender la informática en inglés durante la carrera y salir siendo mucho mejores profesionales. Dice mucho de cómo es la mentalidad en nuestro país.
#56:
Lo de que los ingenieros informáticos no tienen que programar es la mayor chorrada (y más repetida) que pulula por el mundillo.
La fase de implementación (llamada vulgarmente picar código) es una más de las distintas que componen el desarrollo de un proyecto software. Idealmente ni siquiera la que más tiempo consume (sin un buen análisis y diseño no tienes nada), pero sin duda crucial para obtener un buen resultado.
Decir que a un ingeniero informático no se le forma para esa fase me parece una absurdez. ¿Quién mejor que un ingeniero informático para llevar a cabo esa fase? A mí en la carrera me enseñaron a programar en numerosas asignaturas (troncales y optativas), ya sea directa o indirectamente.
¿Sabéis para qué no me formaron en ninguna asignatura? Para gestionar personas. Y eso es justamente lo que hace un jefe de proyecto. La gestión, para los gestores. Yo soy informático.
#90:
Para empezar la informática es un campo muy amplio, la carrera de informática tal como esta planteada sólo cubre de forma superficial un monton de cosas diferentes, en todo caso le puede servir a alguien para probar distintos aspectos de la informática y luego enfocarse en el que más le guste, poco más. Se necesitaría una especialización mucho mayor y crear distintas carreras, como minimo una orienta a la ciencia informática y otra enfocada al desarrollo de sistemas informáticos. Por supuesto en ambos casos la programación es una actividad FUNDAMENTAL en absoluto accesoria, en absoluto "una de muchas cosas", aprender a programar es aprender a comunicarse con un ordenador, un informático en un sentido abstracto es alguien que se comunica con personas que le plantean sus necesidades y posteriormente es capaz de plantear una solución informatica a esas necesidades, no se puede hacer esto ultimo sin saber comunicarse con las maquinas. En mi opinión un ingeniero informático que no sepa programar es equivalente a uno que no sepa comunicarse con el resto de personas, le falta una mitad fundamental, es como pretender ser filólogo inglés sin saber la lengua, un completo absurdo.
Coincido en que la carrera debe enseñar los principios y fundamentos y en absoluto centrarse en tecnologías que van y vienen, aunque si debe valerse de estas ultimas como herramientas de enseñanza y de motivación (no motiva lo mismo a un alumno PASCAL que ruby por ejemplo).
Y ahora si hablamos de principios, algunos se enseñan como por ejemplo algoritmia, compiladores, redes, fundamentos de sistemas operativos y otras muchos principios igual de fundamentales (más si pensamos en una posible especialización en desarrollo que es mi campo) no se enseñan en absoluto, como por ejemplo:
- Orientación a Objetos DE VERDAD. Principios SOLID, principios GRASP de asignación de responsabilidades, patrones: los del GOF y otros muchos como los de Domain Driven Design igual de fundamentales. Ejemplos de diferentes enfoques OO: el más puro de smalltalk, los híbridos con C++/java/C#, los de tipado "dinamico" como python, ruby o groovy. Un ingeniero debería ser EXPERTO en todas estas cosas, no entender a duras penas encapsulación y polimorfismo que a lo más que llegan ahora mismo en las universidades (y lo se de primera mano, he sido alumno y profesor unos cuantos años).
- Programación funcional DE VERDAD. Como ejemplo coger el libro del MIT (http://mitpress.mit.edu/sicp/). Cosas como explicar las ventajas de la PF en entornos multiprocesdor (un poquillo de erlang no vendría mal como ejemplo).
- Ingeniería del software, no quedarse en metrica/rup y explicar enfoques agiles (esto muchas ya lo hacen por suerte). Y otras muchas cosas que se obvian y son principios fundamentales como por ejemplo las diferentes estrategias de SCM (estrategias de branch/merge, distribuidos vs centralizados, feature toggling vs branching...). Conceptos como despliegue continuo e integración continua son también fundamentales, estrategias de testing automatico etc,etc.
Y podría seguir un buen rato, y todas estas coas son PRINCIPIOS Y FUNDAMENTOS, el problema no es tanto que la universidad no enseñe ruby on rails o node.js, el problema es que incluso en el terreno de los principios y fundamentos la universidad esta bastante por detrás de lo deseable.
Por suerte tenemos internet, tenemos acceso a toda la información necesaria y más, tenemos grupos y comunidades, y gracias a todas estas cosas la universidad ya no es el único sitio donde aprender, y menos aún paro un un informático.
#25:
#21 Qué pasa, programabas tarjetas perforadas con uno de estos o qué?
#5:
"Es decir, un ingeniero debe ser buen programador, independientemente de que en su carrera se dedique a programar, al análisis, o a dirigir proyectos. Por otro lado, no entiendo que alguien pueda ser analista o director de proyectos sin una experiencia importante en programación. Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera."
A pesar de estar de acuerdo, creo que habría que matizar mas. No todo es programar, se puede ser un excelente gestor de bases de datos, de redes, de sistemas... No todo es la rama de desarrollo. Aunque tambien es cierto que en cada una de ellas existe, en mayor o menor grado.
#53:
#6 Yo conozco a muchos que también se estancan solo en mundo Linux
Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera.
100% de acuerdo con Galli, yo he conocido a muchos compañeros ingenieros que no les gusta programar, me parece inaudito.
"tomé imágenes de código en Java, de tal manera que el estudiante no podía hacer copiar-pegar, debía transcribir, eran programas plenamente funcionales de menos de 20 líneas de código: ni un sólo estudiante de un grupo de 30 pudo compilar ningún programa, todos tenían errores en la transcripción, pero lo peor es que los estudiantes afirmaban categóricamente y con convencimiento que habían transcrito correctamente el código" ... lo peor viene: "cuando les veía el código, rápidamente me daba cuenta del error, variables mal escritas, falta de puntos y comas, if/for sin paréntesis o sin las llaves necesarias, cuando se los señalaba, los estudiantes decían que NO veían ningún error, nada, todo perfecto, estaban completamente ciegos ante eso"
Mi hipótesis es que la juventud actual está tan acostumbrada a los errores de ortografía y gramática que sus cerebros ya no ven el mensaje escrito como debe ser sino que captan la idea y por eso ignoran los errores. Cuando llegan a programar, sus cerebros hacen cortocircuito porque el lenguaje de programación no les perdona ni un sólo error. Y eso que estamos con los simples errores de sintaxis, no me quiero imaginar la reacción con los errores de lógica. Por eso la juventud se defrauda cuando los ponen a programar y huyen despavoridos de esa actividad.
#1 Pues sinceramente, después de muuuuuuchos años en este mundillo te diré que programar es ¡¡UN COÑAZO!! en el mundo real no se programan meneames ni se diseñan sistemas de inteligencia artificial, eso lo haces en tu tiempo libre si todavía te quedan ganas después de una jornada de trabajo aburridísima en la que acabas hasta las pelotas de código, el 90% de tu tiempo programando consistirá en hacer pantallitas iguales una tras otra, validaciones, búsquedas, estadísticas.... y eso que a mi me encanta programar, pero la mayor parte del trabajo no supone reto ninguno, y menos si ya llevas unos cuantos años.
#21#35 Yo creo que los pensamientos de #1 son los que hacen que los informáticos que están asqueados de picar código coñazo den el cambio. Al menos así lo hice yo hace cosa de un año, asqueado de trabajar en cárnicas y programar siempre j2ee. Dejé el curro y me metí de lleno en el mundo de las aplicaciones para móviles; hoy en día programo las aplicaciones que se me ocurren, me gustan y como yo quiero; vivo de ello, trabajo menos y ganos más. Ojo, que no digo que sea fácil, me costó más de medio año empezar a despegar...
"Es decir, un ingeniero debe ser buen programador, independientemente de que en su carrera se dedique a programar, al análisis, o a dirigir proyectos. Por otro lado, no entiendo que alguien pueda ser analista o director de proyectos sin una experiencia importante en programación. Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera."
A pesar de estar de acuerdo, creo que habría que matizar mas. No todo es programar, se puede ser un excelente gestor de bases de datos, de redes, de sistemas... No todo es la rama de desarrollo. Aunque tambien es cierto que en cada una de ellas existe, en mayor o menor grado.
#1 : Eso viene ya de llamar a la carrera "ingeniería", cuando en los casos que realmente merecen la pena es una mezcla genial entre artesanía y ciencia.
La misma historia de siempre macho, ya cansa el tema. Todas las carreras son iguales. Siempre con lo mismo, que si lo que se ve en la carrera luego no se usa, que si se tocan demasiados campos a la vez...
Pues nada, lo suyo va a ser montar los planes universitarios como si fueran un Codecademy, que es lo que está de moda, y a tomar porculo tanta teoría de sistemas operativos, compiladores, redes y bases de datos, ¿no?
Yo lo único que haría sería eliminar a todos los profesores inútiles, ir reciclando los planes introduciendo nuevas tecnologías en la segunda mitad de los mismos, y poco más. No se puede hacer más en cuatro años (antes 5), es literalmente imposible, entre exámenes y prácticas.
A fin de cuentas es lo que más van a necesitar la mayoría de los alumnos cuando acaben la carrera y emigren para encontrar un trabajo que de algo más que lo justo para alquilar una habitación.
Lo de que los ingenieros informáticos no tienen que programar es la mayor chorrada (y más repetida) que pulula por el mundillo.
La fase de implementación (llamada vulgarmente picar código) es una más de las distintas que componen el desarrollo de un proyecto software. Idealmente ni siquiera la que más tiempo consume (sin un buen análisis y diseño no tienes nada), pero sin duda crucial para obtener un buen resultado.
Decir que a un ingeniero informático no se le forma para esa fase me parece una absurdez. ¿Quién mejor que un ingeniero informático para llevar a cabo esa fase? A mí en la carrera me enseñaron a programar en numerosas asignaturas (troncales y optativas), ya sea directa o indirectamente.
¿Sabéis para qué no me formaron en ninguna asignatura? Para gestionar personas. Y eso es justamente lo que hace un jefe de proyecto. La gestión, para los gestores. Yo soy informático.
#15 Pues algo de razón tienes, no se que hacen todos esos ingenieros informáticos quitando el trabajo de programador a los de FP, que se dediquen a diseñar microprocesadores, ¡intrusos!, y lo digo medio en broma medio en serio porque anda que no he escuchado a ingenieros llamar intrusos a todo quisqui
Entiendo que haya informáticos a los que no les guste programar. Cuando lo más apasionante que has programado son 374 aplicaciones de nómina e intranets corporativas de empresas cutres a más no poder,no quieres acercarte a menos de 3 kilómetros de un ordenador.
Programar sí, pero solo si el proyecto "te llena".
Interesante. Y yo propondría una cosa más: basta de carreras de 4 o 5 años. Las carreras deberían enseñar lo básico, y que fuese el propio alumno el que decida si quiere seguir estudiando y qué rama desea estudiar.
No sé cómo habrá cambiado la cosa desde que terminé la universidad. Pero cuando estudié matemáticas (sí, soy un intruso ) era todo un empollar temarios y más temarios. Eso no tiene sentido. No se aprende más porque sepas muchísimas cosas. Quizás todo lo contrario. Debería haber un balance entre práctica y conocimiento. Creo que hacer carreras de 4 o 5 años algún día llegarán a su fin y serán sustituidas por carreras personalizas.
Para empezar la informática es un campo muy amplio, la carrera de informática tal como esta planteada sólo cubre de forma superficial un monton de cosas diferentes, en todo caso le puede servir a alguien para probar distintos aspectos de la informática y luego enfocarse en el que más le guste, poco más. Se necesitaría una especialización mucho mayor y crear distintas carreras, como minimo una orienta a la ciencia informática y otra enfocada al desarrollo de sistemas informáticos. Por supuesto en ambos casos la programación es una actividad FUNDAMENTAL en absoluto accesoria, en absoluto "una de muchas cosas", aprender a programar es aprender a comunicarse con un ordenador, un informático en un sentido abstracto es alguien que se comunica con personas que le plantean sus necesidades y posteriormente es capaz de plantear una solución informatica a esas necesidades, no se puede hacer esto ultimo sin saber comunicarse con las maquinas. En mi opinión un ingeniero informático que no sepa programar es equivalente a uno que no sepa comunicarse con el resto de personas, le falta una mitad fundamental, es como pretender ser filólogo inglés sin saber la lengua, un completo absurdo.
Coincido en que la carrera debe enseñar los principios y fundamentos y en absoluto centrarse en tecnologías que van y vienen, aunque si debe valerse de estas ultimas como herramientas de enseñanza y de motivación (no motiva lo mismo a un alumno PASCAL que ruby por ejemplo).
Y ahora si hablamos de principios, algunos se enseñan como por ejemplo algoritmia, compiladores, redes, fundamentos de sistemas operativos y otras muchos principios igual de fundamentales (más si pensamos en una posible especialización en desarrollo que es mi campo) no se enseñan en absoluto, como por ejemplo:
- Orientación a Objetos DE VERDAD. Principios SOLID, principios GRASP de asignación de responsabilidades, patrones: los del GOF y otros muchos como los de Domain Driven Design igual de fundamentales. Ejemplos de diferentes enfoques OO: el más puro de smalltalk, los híbridos con C++/java/C#, los de tipado "dinamico" como python, ruby o groovy. Un ingeniero debería ser EXPERTO en todas estas cosas, no entender a duras penas encapsulación y polimorfismo que a lo más que llegan ahora mismo en las universidades (y lo se de primera mano, he sido alumno y profesor unos cuantos años).
- Programación funcional DE VERDAD. Como ejemplo coger el libro del MIT (http://mitpress.mit.edu/sicp/). Cosas como explicar las ventajas de la PF en entornos multiprocesdor (un poquillo de erlang no vendría mal como ejemplo).
- Ingeniería del software, no quedarse en metrica/rup y explicar enfoques agiles (esto muchas ya lo hacen por suerte). Y otras muchas cosas que se obvian y son principios fundamentales como por ejemplo las diferentes estrategias de SCM (estrategias de branch/merge, distribuidos vs centralizados, feature toggling vs branching...). Conceptos como despliegue continuo e integración continua son también fundamentales, estrategias de testing automatico etc,etc.
Y podría seguir un buen rato, y todas estas coas son PRINCIPIOS Y FUNDAMENTOS, el problema no es tanto que la universidad no enseñe ruby on rails o node.js, el problema es que incluso en el terreno de los principios y fundamentos la universidad esta bastante por detrás de lo deseable.
Por suerte tenemos internet, tenemos acceso a toda la información necesaria y más, tenemos grupos y comunidades, y gracias a todas estas cosas la universidad ya no es el único sitio donde aprender, y menos aún paro un un informático.
Y un cuerno. No sabes lo que cuesta encontrar un administrador de BBDD competente (de BBDD y de otras cosas)
Aquí todo cristo se cree el centro del universo y no se da cuenta que forma parte de una cadena la que cuando uno la caga, la caga todo dios.
Si quien especifica lo hace mal, el programador no puede hacerlo bien. Si el que falla es el programador y al que prueba se le escapa, el sistema será una mierda. Si todos lo hacen bien pero quien monta la arquitectura lo ha hecho con el culo, no servirá de nada. Y al igual, si el el sistema no se mantiene como debe, ya lo han podido niquelar los demás que al final petará.
Esto es una cadena y siempre se rompe por el eslabón más débil (creo que he pasado por todos de una forma u otra) No eres más "chachi" por programar mejor o peor o por probar de puta madre o por mantener tus sistemas niquelados. Si la cadena funciona, las posibilidades de que lo hagas bien son mucho mas altas que si no lo hace. He conocido genios y patanes en todos los eslabones de la cadena, con independencia de que fuera doctor (que los había) o FP (que también había y muy buenos)
Por lo general, curra mejor el que quiere y le pone ganas (con un poco de aptitud, claro) que no el que mejor titulación tiene y sobre todo en una profesión como la nuestra, que las tecnologías tienen una vida muy corta y el que es un experto hoy está obsoleto dentro de seis meses. Aquí sobreviven los que se saben adaptar (y con flexibilidad) La frikada de hoy será la tecnología del mañana y el experto de hoy será el parado del mañana si sigue con lo mismo (bueno, salvo que trabaje con COBOL, CICS y DB/2 que es lo único que ha persistido en los últimos 30 años)
#21 Pues no estoy nada de acuerdo en eso, yo llevo ya 9 años programando (casi 5 de manera profesional en una pyme que está creaciendo) y cada cosa que hacemos me parece un pequeño desafío.
Supongo que ayudará él hecho de que hayamos reescrito entero el ERP de la empresa eligiendo nosotros TODA la tecnología que se iba a usar.
#1 Algunos sólo quieren competencias para sentarse en un sillón a vivir del título. Otros queremos aprender
PD: Maldita la manía en España de pensar que la programación es cosa de seres inferiores. Hay gente que defiende incluso que los programas se hacen en la India porque salen más baratos!
#5 Si no sabes programar no sabes qué coño estás haciendo. Es como pretender conducir un coche sin saber dónde están las ruedas.
Después de leer la entrevista, estoy de acuerdo con todo lo que dice Galli (y no, no es para que haga un update de mi karma en la base de datos, realmente estoy de acuerdo )
Yo creo que el principal cambio que necesita la carrera en España es clases en inglés: si no todas, por lo menos la mitad. En mi facultad, parte de los alumnos están constantemente insistiendo en que hay que normalizar el gallego en la universidad, mientras que ni uno protesta porque en la carrera no se haga un esfuerzo por potenciar el idioma que realmente necesitas para todo en esta disciplina (incluso si trabajas en España y para clientes españoles, vas a trabajar sí o sí con sistemas, librerías, APIs, etc. documentadas en inglés. Y si quieres que lo que hagas tenga un poco de difusión -software libre, etc.- documentar en cualquier idioma que no sea inglés es absurdo).
Lo triste es que no sólo es que no protesten, sino que cuando se propone alguna iniciativa de clases en inglés, los alumnos son el primer colectivo que se opone, lo cual manda huevos. Que se opongan los profesores, para los cuales supondría trabajo extra (sobre todo porque muchos no tienen buen nivel de inglés), vale, pero los alumnos...
Prefieren sacarse el título más cómodamente y salir siendo analfabetos en su campo porque no dominan el idioma universal de la informática, que hacer el esfuerzo de aprender la informática en inglés durante la carrera y salir siendo mucho mejores profesionales. Dice mucho de cómo es la mentalidad en nuestro país.
#112#107 lo verdaderamente divertido de la informática es cuando puedes participar en todo el ciclo. Desde conocer al cliente y que te explique lo que quiere, hasta convertir eso en un funcional, luego en un diseño técnico y luego empezar a programar.
Ese proceso se parece bastante a la construcción de un edificio, lo encuentro apasionante.
Lo que es un coñazo es: dedicarse exclusivamente a la programación durante años o exclusivamente a la gestión.
Quedarse estancado en un área (sea la que sea) termina por ser muy aburrido y muy peligroso, porque si te quedas en paro eres menos versátil.
Ahora bien, si tengo que elegir, creo que la programación en general es lo más apasionante y/o divertido.
He tenido todos los roles posibles en informática, creo, y el de gestor de proyectos, aunque mejor pagado, es muy desagradecido, porque recibes hostias por todas partes:
- del cliente, por no cumplir al 100% lo acordado.
- de los programadores, por ser demasiado exigente o no conocer a fondo el entorno tecnológico.
- de los financieros de la empresa, por desviarte en costes y no conseguir que el proyecto sea rentable
- de tus jefes, por no dejar satisfecho al cliente
- de tu familia, por trabajar 11 horas diarias
- y del mercado, porque te quedas obsoleto tecnológicamente y si te vas al paro lo tienes muy chungo. Un programador actualizado al menos siempre puede encontrar trabajo.
#17 ¿Das por hecho que le das un repaso a cualquiera de la FP? ¿Eso no es un poco prepotente? He conocido matemáticos y farmacéuticos que programan mejor que muchos con carrera informática. Eso quiere decir, que habrán muchos en la FP que programaran mejor que muchos con carrera informática. Hay que saber usar las reglas de tres y darse cuenta que buenos programadores pueden haberlos en cualquier lado. Sin ir muy lejos, muchos de los grandes programadores mundiales o no hicieron carrera o se la dejaron...
Steve Jobs dejó la carrera a los 6 meses (ya se, no era programador...)
Yo empezaría explicando bien git en primero. Pero bien. Entendiendo como funciona por dentro. Ejemplo de sistema de archivos. De protocolo. De versiones...
Los contenidos de una ingeniería informática útiles en la casi totalidad de los empleos del sector TIC español son muy pocos, y los que van a ser desterrados de nuestra vida para siempre son la mayoría. De ahí que cualquiera de una carrera técnica con una formación de unos meses es tan productivo como un I.I.
En muchas oficinas de las que he estado, tanto malas como realmente bien consideradas había matemáticos y físicos y demás y no se observaban diferencias. Tan sólo muy al principio entre los novatos, en su primer empleo.
Por eso creo que la carrera está muy mal diseñada.
#70: Mira, yo soy ingeniero informático, y ahora mismo estoy trabajando por un tiempo en un sitio donde tengo que ampliar un sistema escrito en C++, que creo que coincidirás conmigo en que no es precisamente un lenguaje fácil.
No había programado en C++ en la vida, porque en la carrera el único lenguaje orientado a objetos que vi fue Java, y luego sencillamente nunca me coincidió usar C++ hasta ahora.
Después de dos días improductivos mirando mucha documentación, alguna web de referencia y demás, y probando a hacer cosas poco a poco y con cuidado, al tercer día ya estaba picando código C++ como un mulo.
Conclusión: sí, si tienes una buena base (y en la carrera te la dan, si tienes unos profesores decentes y no te dedicas a trampear copiando prácticas) el que te enseñen unas tecnologías u otras es irrelevante.
No digo que haya que mantenerse alejado de la realidad aposta y enseñar en pseudocódigo como el libro de Knuth, al fin y al cabo se matan dos pájaros de un tiro (y se motiva más) utilizando para enseñar lenguajes y tecnologías que tengan uso en la vida real. Pero sí, en el fondo lo que hay que enseñar son los distintos paradigmas de programación, algoritmos, estructuras de datos, patrones, buenas costumbres (como seguir un estilo uniforme en el código, hacer tests de unidad, no ser optimistas pensando que todo va a funcionar sin haberlo probado exhaustivamente, etc.), y cómo usar y generar documentación. Si sabes eso, te será fácil usar cualquier herramienta, igual que puedes conducir un Ford aunque hicieses las prácticas con un Seat, y nadie critica a las autoescuelas por no enseñarte con el coche que vas a comprar después.
#5 +1 pero supongo que como dices, se refiere a la rama de desarrollo. No vas a ser un arquitecto de BBDD si antes no has pasado por simple "Sistemas" (como solemos llamarlos) y has tenido que realizar consultas, reparaciones y un millón de cosas más.
Yo en los sitios donde he trabajado he tenido analistas y managers de desarrollo que no habían hecho programación, o algunos que la habían hecho hace ya más de 15 años. Y no puedes esperar que ninguno de ellos entienda los requerimientos para un proyecto, cosa que en mayor o menor medida deberían entender.
#21 Hombre, como todo en esta vida, depende.
Yo llevo 5 años en una empresa de software aeroespacial y estoy encantado. No he hecho ni formularios ni busquedas, creo que tengo la suerte de poder hacer una programacion mas proactiva.
Bien es verdad que una gran parte del software que se hace es monkey code que puedes hacerlo casi sin pensar, pero hay mas mundo.
"Programo hace treinta años, comencé con Fortran y Cobol, pasé por Basic y Pascal, con diseños funcionales y "sistémicos holísticos" a las ágiles de ahora. Llevo creadas como cuatro o cinca empresas de software e Internet. Decenas de proyectos, software liberado... en todas ellas hice de programador, programo en PHP, Python, Perl, C, C++, Java, para web, backend, scripts y aplicaciones móviles." by gallir
#6 Yo no diría inaudito, pero sí muy triste. Con todo un mundo de tecnología completamente libre, que te permite hacer cualquier cosa y aprender mejor que nunca antes en la historia, y que no se aproveche... es muy triste.
Yo no estoy de acuerdo con los profesores, ni con muchas de las cosas que se han dicho por aquí.
La misión de un ingeniero informático no es picar código, ni administrar una base de datos o un sistema operativo ni tampoco diseñar un programa. La misión de un ingeniero informático de verdad, es la de conocer o saber encontrar 10000 formas diferentes de dar solución a todo problema informático que se le presente, saber elegir entre todas ellas la más conveniente teniendo en cuenta las restricciones impuestas, tanto por el problema como por los conocimientos del equipo, saber coordinar un grupo multidisciplinar (programadores, bd admins, diseñadores...), saber comunicar y justificar las decisiones que se tomen ante su equipo y ante cualquier cliente, saber establecer plazos y metodologías de trabajo que se adapten al grupo y lo más importante de todo; saber decir 'ahora no' y saber dar la cara por su equipo en todo momento.
Si no sabes hacer todo esto como mínimo, no eres un ingeniero informático por mucho que lo diga un papel.
Aquí os habla uno que dio FP, el primer año C++ con el Express del 2008, y luego Visual Basic 6.0 con dos cojones, también ASP nada de .NET y todo muy básico. También a tener en cuenta que misteriosamente los de administración daban Java y los de Desarrollo de aplicaciones no...
Y sí, con mis buenas notas y buena intención probé la universidad, donde ves que todo es física, matemáticas, lógica, asignaturas de empresas, economía, historia... Algo de SQL en Acess, otra vez c++ (por las mierdas de cambio a grado no pude convalidar ni una sola asignatura) Ahora bien, te das cuenta de que la gente sabrá hacer integrales con todas las incógnitas del mundo, pero no comprenden que hace un bucle for. O misteriosamente llegan y en quinto de carrera te explican como usar Word para los trabajos... Y lo siento, me gusta y me considero programador "pasable" y con ganas de aprender todo lo que me echen encima, pero no le veo sentido a muchas cosas que se enseñan, ni como se enseñan.
Siempre he aprendido mas intentando hacer un programa por mi cuenta, para trastear y aprender y eso FALTA, y mucho. Mucho trabajo en grupo (que todos sabemos como son) muchas horas en la universidad, que ya podríamos montar tiendas de campaña allí pero no solo los estudiantes tienen que poner de su parte.
#14 yo no he estado en tantas oficinas como tú, supongo... unas 5 o 6. Y los matematicos y físicos (y telecos, pero menos) que he visto programar lo hacen como el culo. Sí, son capaces de apilar lineas de código y solucionar un problema, pero todavía me falta por ver un matematico o fisico craftsman.
#15 Con superiores como tu que no tienen ni idea de explicar/analizar/pensar a un programador la solución a aplicar, así nos va. #72 De acuerdo contigo. Esa es la función de un ingeniero, sea agricola, industrial, informático... Pero en este pais donde la carrera profesional es vertical (ahora me explico), puestos reales de Ingeniero Informático hay 4, y ya estan pillados por 4 gurus de verdad.
Carrera profesional vertical:
Primero, es una frase creada por mi, no se si tendrá sentido o no
Segundo, te acabas de sacar tu flamante ingenieria en Informatica (uuooohhh), y tu primer trabajo es de programador (usease un pikachu). Si eres bueno y tienes suerte, te ascienden a Analista Programador, Analista Organico, Analista Funcional, Jefe de Proyecto, Director de Proyecto... Aqui entran las categorias que cada cárnica empresa quiera inventarse. Y eso lleva al sindrome de Peters, tu puedes ser un programador excepcional, pero eso no quiere decir que seas un Analista excepcional. Y si lo eres, tampoco implica que seas un gestor de proyecto excepcional.
A lo que voy, en otros paises puedes ser programador (o analista, o gestor) toda tu carrera profesional, con un salario acorde a tu experiencia. Pero en este pais no. En este pais el subir de categoria implica cambiar de responsabilidades para las que (a lo mejor) no eres tan bueno.
Por lo tanto, ¿cual es tu chiringuito perfecto?. Empieza por ser Pikachu, conoce todas las ramas del árbol, que si eres bueno acabarás donde quieres estar.
#50 Cualquier FP le da sopas con honda en ese sentido al 80% de las carreras. No hay práctica y hay algunas que entras, estudias y de verdad es que no tienes ni puta idea de que sirve, como se desarrolla un puesto de trabajo en el que se aplica lo que estudias o directamente cual es tu profesión.
Un ingeniero informático no tiene porque ser un programador, y viceversa. La programación es sólo una actividad más de las muchas que puede hacer un ingeniero informático. El problema es que normalmente se asocia la ingeniería de informática con la programación, cuando hay muchas cosas más.
Yo lo soy y no programo ni trabajo en proyectos de "software". Digamos que los que desarrollan sofware son "mis usuarios". Con esto vengo a decir que ser informático tiene muchas facetas, unas más de arquitectura y otras más de gestión. No siempre se programa.
#21 Amen... El 99% de los trabajos es picar codigo coñazo... Creo que los pensamientos como #1 son mas pensamientos utopicos de la gente mas joven, despues cuando llegas y ves lo que hay en la calle...
#1 Y ya no sólo las universidades, yo estoy en ASIR y me encanta programar, no se mucho pero almenos me defiendo bastante bien.
Programar debería enseñarse desde la ESO de uan manera funcional, divertida y que sea fácil para los estudiantes aprenderlo y que aun cuando a uan persona no se le dé bien, se le enseñe alguna forma de poder aprobar.
Es impensable no saber programar en el mundo que tenemos y seguimos creando.
#1 Yo voy más allá... para mí alguien que no sabe programar no es un ingeniero informático, ni por mucho título que tenga.
Y cuando digo "saber programar" me refiero a SABER PROGRAMAR. Es decir: "Cualquier idiota puede escribir código que un ordenador pueda entender. Los buenos programadores escriben código que las personas puedan entender." - Martin Fowler
#52 Sí, bueno... como ingeniero que ha tenido que arreglar código de FPGS (en más de una empresa, en más de una ciudad) voy a decir que discrepo bastante.
Todos los FPGS que he visto que programaban bien lo hicieron aprendiendo mucho por su cuenta, mucho más allá de lo que les enseñaban. Por desgracia, el resto eran muy cortoplacistas: lo que programaban no era ni reutilizable, ni escalable, no se respetaban las fases (básicamente programaban para adelante, sin una reflexión previa).
Luego claro, era el único ingeniero que había en plantilla el que tenía que estar haciendo de bombero apagando incendios por todas partes y el que tenía que adaptarse al nivel general (en una de ellas eso de usar templates y automatizar partes de la programación no lo llevaban bien).
De una me fui porque me estancaba y de la otra porque tenía un cliente tóxico y un jefe que le consentía todo y además impedía hacer bien el trabajo (y además me estancaba).
"Por otro lado, no entiendo que alguien pueda ser analista o director de proyectos sin una experiencia importante en programación. Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera."
Lo de ingenieros informáticos que te confiesan abiertamente que no les gusta programar (he conocido alguno) es para mi un misterio tan grande como si hubiera médicos que te dijeran que no soportan ver sangre. Total, para no reconocer que son malos programadores o que se equivocaron de carrera.
#90El problema es que incluso en el terreno de los principios y fundamentos la universidad esta bastante por detrás de lo deseable.
El problema no es que esté detrás de lo deseable en el terreno de los principios relacionados con "el cacharreo" por llamarlo de alguna manera -que lo está y mucho-, el problema es que no forma ingenieros, forma técnicos. No enseña trabajo en equipo, no enseña a comunicar, no enseña organización del trabajo, no enseña a tomar decisiones y sobre todo no enseña que los conocimientos técnicos -que son los únicos que se adquieren- no son mas que una herramienta de la que van a tener que prescindir innumerables veces y que si no tienen otra a la que echar mano, se van a quedar relegados a meros picacodigos -y encima malos.
Lo que hay en España es una FP disfrazada con un título univesitario y muchas matemáticas, no una ingeniería.
#102 Lo que debe saber un ingeniero lo tienes en #72 y en #93. Y "picacódigos" tiene por lo menos dos acepciones ampliamente reconocidas:
1. Aquella persona que se define como tal a la que le encanta la programación y no puede dejar de pensar en como resolver de forma eficiente problemas relacionados con ella -normalmente suelen ser bastante buenos.
2. Aquellas personas que se dedican a teclear código con el objetivo único de superar un test -si existen- o de conseguir que un algoritmo haga lo que le han pedido, sin preocuparse de su eficiencia, claridad, etc... y sin ningún interés en el perfeccionamiento de sus habilidades (este si es peyorativo)
Como ves el cuarentón que mecionas, dudo mucho que entre en esta definición, a no ser que le hayas escuchado llamarse picacodigos así mismo.
#105 Simplemente una cosa, no es improductivo pasar horas muertas sin "avanzar" nada porque te familiarizas con un lenguaje y con el proyecto en sí, aunque eso sí, lamentablemente muchas personas nos vean así. Quizás en el caso de otros profesionales no opinarían lo mismo, yo estoy totalmente a favor de que los cirujanos se lean 3 o 4 veces mi historial médico y los detalles de la operación, antes de operarme de nada.
Lo peor es que cada día sale un nuevo framework o un nuevo lenguaje y al final pierdes un día entero configurando todo con sus XML, plugins y demás bufff.
#93 Para empezar la expresión "picacodigos" me parece profundamente ofensiva. Creo que no tienes claro que es un "ingeniero", definición de ingenería de la RAE:
"Conjunto de técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía, mediante invenciones o construcciones útiles para el hombre:"
Ser ingeniero ES SER UN TECNICO por definición. Tu estas hablando de gestión de proyectos, conocimientos que cualquier tecnico interesado va adquiriendo a través de su experiencia y participación en distintos proyectos.
#43 Yo también hago aplicaciones para móviles, y aunque tiene partes entretenidas estarás conmigo en que "cerrarla" para subirla a la store es un coñazo... poner los textos, screenshots, traducciones, comprobar todas las validaciones, los dispositivos, hasta el último botón funcionando correctamente...
#5 cierto, yo iría un paso más allá, me viene como anillo al dedo este artículo de Wardog http://bofhers.net/blog/cualidades-para-un-buen-sysadmin extensible al gremio. Un ingeniero informático debería intentar llegar a esto, para eso existen cientos de millones de transistores, para darles un uso, siempre que surge una necesidad, poder automatizarla y no que se convierta en una tarea repetitiva manual.
Hoy día, en el mundo está más de moda ser maestro de nada, aprendiz de todo, vamos tener un conocimiento fundamental y general de la cosas (informática = tanto software y hardware) y poder aprender de forma rápida la tecnología que surja. Hombre siempre hay temas que se dominan más que otros, sea por la experiencia, interés o persona.
#1 sinceramente tuve compañeros que están en esa situación y he de decirte que son muy necesarios para la disciplina viendo a lo que se dedican actualmente.
Yo soy ingeniero y odio programar. Esta muy bien saber hacerlo (la analogia de los ladrillos que comenta Gallir), pero no es ni mucho menos primordial. De hecho, conozco ingenieros informaticos de otros paises y en sus carreras no se le da ni la decima parte de la importancia que se le da en España. Y mal no les va.
Estoy harto de ver ofertas de trabajo que piden experiencia en tal o cual tecnología... sin pararse a pensar lo que dicegallir, las tecnologías van y vienen, lo importante es tener claros los principios básicos, los cimientos de todo ello, pero eso parece que a las empresas no les importa.
Sabiendo los principios básicos, puedes aprender una tecnología concreta en poco tiempo.
#80 "También a tener en cuenta que misteriosamente los de administración daban Java y los de Desarrollo de aplicaciones no..." Wut, yo ando en ASIR y de programación solo dimos JavaScript en grado medio, nada de Java. Ni Python siqueira, el cual he aprendido algo de forma autodidacta.
#83 Es que ahora en ASIR no tocamos para nada la programación. Solo diseñamos BBDD para que escalen bien, o estructuras de datos para la web (XHTML). Sí acaso SQL, pero me niego a llamar a eso "lenguaje de programación", aunque pueda ser turing-compatible.
Si enseñas tecnologías, estás formando profesionales ya casi obsoletos. Vale Galli, enseñemos solo algoritmos y pseudocódigo para que cuando salgan ingenieros no estén anticuados. Nada de Java, ni C#, ni C++ ni SQL, ni SOs....
Realmente en la universidad se puede aprender muchísimo pero el problema está en que en España apenas se hace ingeniería. Básicamente el 95% del trabajo que tenemos en el mercado laboral consiste en hacer páginas web, aplicaciones de gestión para empleados, instalación de Windows, configuración de routers, cambiar cartuchos de impresora, etc. Todo ésto produce la sensación de que aprender cálculo, álgebra, física o algorítmica no sirve de nada, pero sin estos conocimientos no existirían las tecnologías que manejamos día a día. Aquello de "que inventen otros" también se aplica a la informática en nuestro país, salvo honrosas excepciones.
#107 Hombre, es cierto que depende de los proyectos en los que estés inmerso, es cierto que si haces sobre todo mantenimiento o tareas repetitivas puede ser un auténtico tostón.
Pero aún así para mi programar me sigue pareciendo lo más divertido de todo, la gestión de proyectos, la elaboración de funcionales, las interminables iteraciones hasta que todo el mundo está de acuerdo en el documento definitivo de especificaciones antes de empezar a meterse en harina, eso sí que es un puto coñazo.
la ingeniería informática sirve para alguna cosilla más que firmar proyectos. Intuyo que no tienes ni la más mínima idea de que en consiste la formación o el trabajo de un informático.
#124 Estoy de acuerdo, aunque me refería más al enfrentamiento entre la parte más técnica (ya sea desarrollo o sistemas) y la parte más "burocrática" de gestión de proyectos, reuniones con clientes, etc, incluso aunque esto último también forma parte del trabajo, a mi me parece mucho más divertido el "cacharrear", ya sea programando o tocando la administración de bases de datos, servidores, etc.
Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera.
Pues a mí sinceramente me parece que la programación es un aspecto de la carrera, ya que si quieres puedes pasar olímpicamente de programar salvo para demostrar o terminar de llevar a cabo lo que has ideado.
Poniendo por caso el tema de bases de datos, aparte de saber programar consultas SQL, triggers, vistas, diseñar las tablas a partir de las clases, etc, también enseñan algo de las tripas de los SGBD y por supuesto hay optativas orientadas a profundizar más en la implementación de SGBDs, algo a lo que puedes aplicar conocimientos de otros aspectos que se dan.
Decir que no te gusta programar dista muy mucho de haberte equivocado de carrera.
"Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante."
Error. Hay excelentes programadores que fracasan estrepitosamante cuando les apartas de su pantalla. Porque no tienen las habilidades que se requieren para desenvolverse en el mundo real de las personas y sus necesidades. Decir que hacer un buen análisis es más aburrido y un desafío intelectual inferior a escribir buen código es una chorrada como un piano una visión muy parcial y subjetiva.
Que no sepa programar no lo hace más inútil, y que sepa programa no lo hace un dios. Hay gente a la que le gusta, y gente a la que no. O sino, ¿dónde quedarían los IT Pro, los administradores de red, de seguridad, de bases de datos? ¿Los gerentes de proyecto, los testers, los analistas de calidad? ¿Acaso todos ellos DEBEN programar? No. Deben conocer la lógica de lo que el cliente quiere, pero no necesariamente CÓMO hacerlo. Allí es cuando se necesita gente que le APASIONE programar, independientemente de su título.
Sacar programadores de las universidades es un negocio para ellas, pero no para el mercado. Y no se molesten si las empresas solicitan gente con experiencia en una tecnología específica. ¡Es su negocio, y si consideran que se necesita trabajar en alguna de ellas, es porque tienen el cliente que así lo desea! ¿O sea, que como tienes el conocimiento básico de programar, te voy a contratar aunque no sepas de trabajar en iOS (por ejemplo)? ¡NO! Y más, cuando el proyecto que tengo en mis manos se necesita que se ejecute pronto! No me puedo poner a enseñarte. Debiste especializarte en algo.
#1 No estoy de acuerdo contigo.No se en que proyectos te has movido pero personalmente creo que la programacion puede llegar a se horrible. De mis colegas que he tenido, el 99% odia la programacion, y yo estoy pensando en redirigir mi carrera a cualquier otra cosa que no tenga que ver con eso.
#4 Creo que uno de los mayores errores es recomendar a la gente que estudie algo, incluso aunque tenga muchas salidas, o te guste a ti como hobby.
Si eliges ese camino, lo podrias estar lamentando toda tu vida.
#1 Me estoy acordando de marrones de ultima hora que hay que resolver en un minuto...por mucho que te guste programar lo acabas odiando. Sumale la opcion de un jefe cabron, o tambien la opcion de resolver cosas como "Mueve esta cajita un pixel mas arriba".
Yo lo que me pregunto es el por que a la gente le gusta programar.
#128: El inglés de bachillerato tal vez dé un nivel decente si realmente asimilas todo lo que te enseñan en el bachillerato. Pero ten en cuenta que para estudiar la carrera, basta con haber sacado aprobados raspados en el bachillerato y en la selectividad. Alguien que saca un 5 en inglés en la selectividad no tiene ni pajolera idea de inglés.
Yo realmente no sé exactamente cuánto se estudia ahora en el bachillerato pero te puedo decir lo que veo todos los días enseñando en la carrera, y es que hay algunos que sí saben inglés pero muchos tienen un nivel totalmente insuficiente. Les recomiendas que miren un libro o una web de documentación en inglés y te miran como si estuviera en sánscrito, preguntándote si no la habrá en español. Me parece triste que salgan de una carrera de ingeniería informática así.
En general TODO ingeniero debería ser un buen programador, independientemente de la rama de la ingeniería a la que se dedique. Pero esto le cuesta a mucha gente entenderlo
Comentarios
Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera.
100% de acuerdo con Galli, yo he conocido a muchos compañeros ingenieros que no les gusta programar, me parece inaudito.
Un profesor amigo mio me contó el siguiente caso:
"tomé imágenes de código en Java, de tal manera que el estudiante no podía hacer copiar-pegar, debía transcribir, eran programas plenamente funcionales de menos de 20 líneas de código: ni un sólo estudiante de un grupo de 30 pudo compilar ningún programa, todos tenían errores en la transcripción, pero lo peor es que los estudiantes afirmaban categóricamente y con convencimiento que habían transcrito correctamente el código" ... lo peor viene: "cuando les veía el código, rápidamente me daba cuenta del error, variables mal escritas, falta de puntos y comas, if/for sin paréntesis o sin las llaves necesarias, cuando se los señalaba, los estudiantes decían que NO veían ningún error, nada, todo perfecto, estaban completamente ciegos ante eso"
Mi hipótesis es que la juventud actual está tan acostumbrada a los errores de ortografía y gramática que sus cerebros ya no ven el mensaje escrito como debe ser sino que captan la idea y por eso ignoran los errores. Cuando llegan a programar, sus cerebros hacen cortocircuito porque el lenguaje de programación no les perdona ni un sólo error. Y eso que estamos con los simples errores de sintaxis, no me quiero imaginar la reacción con los errores de lógica. Por eso la juventud se defrauda cuando los ponen a programar y huyen despavoridos de esa actividad.
Más inaudito es que a un informático sólo le guste el mundo windows. Y he conocido a varios.
#1 Pues sinceramente, después de muuuuuuchos años en este mundillo te diré que programar es ¡¡UN COÑAZO!! en el mundo real no se programan meneames ni se diseñan sistemas de inteligencia artificial, eso lo haces en tu tiempo libre si todavía te quedan ganas después de una jornada de trabajo aburridísima en la que acabas hasta las pelotas de código, el 90% de tu tiempo programando consistirá en hacer pantallitas iguales una tras otra, validaciones, búsquedas, estadísticas.... y eso que a mi me encanta programar, pero la mayor parte del trabajo no supone reto ninguno, y menos si ya llevas unos cuantos años.
#2 Ya tío, a ver si Galli le mete mano a la base de datos y me da unos puntillos de karma, que no hay manera de pasar de 10.
#21 Qué pasa, programabas tarjetas perforadas con uno de estos o qué?
#21 #35 Yo creo que los pensamientos de #1 son los que hacen que los informáticos que están asqueados de picar código coñazo den el cambio. Al menos así lo hice yo hace cosa de un año, asqueado de trabajar en cárnicas y programar siempre j2ee. Dejé el curro y me metí de lleno en el mundo de las aplicaciones para móviles; hoy en día programo las aplicaciones que se me ocurren, me gustan y como yo quiero; vivo de ello, trabajo menos y ganos más. Ojo, que no digo que sea fácil, me costó más de medio año empezar a despegar...
#6 Yo conozco a muchos que también se estancan solo en mundo Linux
#15 Pues como tus dotes de mando sean como la de escribir sin faltas de ortografía...
"Es decir, un ingeniero debe ser buen programador, independientemente de que en su carrera se dedique a programar, al análisis, o a dirigir proyectos. Por otro lado, no entiendo que alguien pueda ser analista o director de proyectos sin una experiencia importante en programación. Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera."
A pesar de estar de acuerdo, creo que habría que matizar mas. No todo es programar, se puede ser un excelente gestor de bases de datos, de redes, de sistemas... No todo es la rama de desarrollo. Aunque tambien es cierto que en cada una de ellas existe, en mayor o menor grado.
#1 pelota!
#7 Quién quiere un ferrari teniendo 20 de karma
#1 : Eso viene ya de llamar a la carrera "ingeniería", cuando en los casos que realmente merecen la pena es una mezcla genial entre artesanía y ciencia.
La misma historia de siempre macho, ya cansa el tema. Todas las carreras son iguales. Siempre con lo mismo, que si lo que se ve en la carrera luego no se usa, que si se tocan demasiados campos a la vez...
Pues nada, lo suyo va a ser montar los planes universitarios como si fueran un Codecademy, que es lo que está de moda, y a tomar porculo tanta teoría de sistemas operativos, compiladores, redes y bases de datos, ¿no?
Yo lo único que haría sería eliminar a todos los profesores inútiles, ir reciclando los planes introduciendo nuevas tecnologías en la segunda mitad de los mismos, y poco más. No se puede hacer más en cuatro años (antes 5), es literalmente imposible, entre exámenes y prácticas.
Yo le daría más importancia al inglés.
A fin de cuentas es lo que más van a necesitar la mayoría de los alumnos cuando acaben la carrera y emigren para encontrar un trabajo que de algo más que lo justo para alquilar una habitación.
Lo de que los ingenieros informáticos no tienen que programar es la mayor chorrada (y más repetida) que pulula por el mundillo.
La fase de implementación (llamada vulgarmente picar código) es una más de las distintas que componen el desarrollo de un proyecto software. Idealmente ni siquiera la que más tiempo consume (sin un buen análisis y diseño no tienes nada), pero sin duda crucial para obtener un buen resultado.
Decir que a un ingeniero informático no se le forma para esa fase me parece una absurdez. ¿Quién mejor que un ingeniero informático para llevar a cabo esa fase? A mí en la carrera me enseñaron a programar en numerosas asignaturas (troncales y optativas), ya sea directa o indirectamente.
¿Sabéis para qué no me formaron en ninguna asignatura? Para gestionar personas. Y eso es justamente lo que hace un jefe de proyecto. La gestión, para los gestores. Yo soy informático.
#15 Pues algo de razón tienes, no se que hacen todos esos ingenieros informáticos quitando el trabajo de programador a los de FP, que se dediquen a diseñar microprocesadores, ¡intrusos!, y lo digo medio en broma medio en serio porque anda que no he escuchado a ingenieros llamar intrusos a todo quisqui
Entiendo que haya informáticos a los que no les guste programar. Cuando lo más apasionante que has programado son 374 aplicaciones de nómina e intranets corporativas de empresas cutres a más no poder,no quieres acercarte a menos de 3 kilómetros de un ordenador.
Programar sí, pero solo si el proyecto "te llena".
Interesante. Y yo propondría una cosa más: basta de carreras de 4 o 5 años. Las carreras deberían enseñar lo básico, y que fuese el propio alumno el que decida si quiere seguir estudiando y qué rama desea estudiar.
No sé cómo habrá cambiado la cosa desde que terminé la universidad. Pero cuando estudié matemáticas (sí, soy un intruso ) era todo un empollar temarios y más temarios. Eso no tiene sentido. No se aprende más porque sepas muchísimas cosas. Quizás todo lo contrario. Debería haber un balance entre práctica y conocimiento. Creo que hacer carreras de 4 o 5 años algún día llegarán a su fin y serán sustituidas por carreras personalizas.
Para empezar la informática es un campo muy amplio, la carrera de informática tal como esta planteada sólo cubre de forma superficial un monton de cosas diferentes, en todo caso le puede servir a alguien para probar distintos aspectos de la informática y luego enfocarse en el que más le guste, poco más. Se necesitaría una especialización mucho mayor y crear distintas carreras, como minimo una orienta a la ciencia informática y otra enfocada al desarrollo de sistemas informáticos. Por supuesto en ambos casos la programación es una actividad FUNDAMENTAL en absoluto accesoria, en absoluto "una de muchas cosas", aprender a programar es aprender a comunicarse con un ordenador, un informático en un sentido abstracto es alguien que se comunica con personas que le plantean sus necesidades y posteriormente es capaz de plantear una solución informatica a esas necesidades, no se puede hacer esto ultimo sin saber comunicarse con las maquinas. En mi opinión un ingeniero informático que no sepa programar es equivalente a uno que no sepa comunicarse con el resto de personas, le falta una mitad fundamental, es como pretender ser filólogo inglés sin saber la lengua, un completo absurdo.
Coincido en que la carrera debe enseñar los principios y fundamentos y en absoluto centrarse en tecnologías que van y vienen, aunque si debe valerse de estas ultimas como herramientas de enseñanza y de motivación (no motiva lo mismo a un alumno PASCAL que ruby por ejemplo).
Y ahora si hablamos de principios, algunos se enseñan como por ejemplo algoritmia, compiladores, redes, fundamentos de sistemas operativos y otras muchos principios igual de fundamentales (más si pensamos en una posible especialización en desarrollo que es mi campo) no se enseñan en absoluto, como por ejemplo:
- Orientación a Objetos DE VERDAD. Principios SOLID, principios GRASP de asignación de responsabilidades, patrones: los del GOF y otros muchos como los de Domain Driven Design igual de fundamentales. Ejemplos de diferentes enfoques OO: el más puro de smalltalk, los híbridos con C++/java/C#, los de tipado "dinamico" como python, ruby o groovy. Un ingeniero debería ser EXPERTO en todas estas cosas, no entender a duras penas encapsulación y polimorfismo que a lo más que llegan ahora mismo en las universidades (y lo se de primera mano, he sido alumno y profesor unos cuantos años).
- Programación funcional DE VERDAD. Como ejemplo coger el libro del MIT (http://mitpress.mit.edu/sicp/). Cosas como explicar las ventajas de la PF en entornos multiprocesdor (un poquillo de erlang no vendría mal como ejemplo).
- Ingeniería del software, no quedarse en metrica/rup y explicar enfoques agiles (esto muchas ya lo hacen por suerte). Y otras muchas cosas que se obvian y son principios fundamentales como por ejemplo las diferentes estrategias de SCM (estrategias de branch/merge, distribuidos vs centralizados, feature toggling vs branching...). Conceptos como despliegue continuo e integración continua son también fundamentales, estrategias de testing automatico etc,etc.
Y podría seguir un buen rato, y todas estas coas son PRINCIPIOS Y FUNDAMENTOS, el problema no es tanto que la universidad no enseñe ruby on rails o node.js, el problema es que incluso en el terreno de los principios y fundamentos la universidad esta bastante por detrás de lo deseable.
Por suerte tenemos internet, tenemos acceso a toda la información necesaria y más, tenemos grupos y comunidades, y gracias a todas estas cosas la universidad ya no es el único sitio donde aprender, y menos aún paro un un informático.
#26
Y un cuerno. No sabes lo que cuesta encontrar un administrador de BBDD competente (de BBDD y de otras cosas)
Aquí todo cristo se cree el centro del universo y no se da cuenta que forma parte de una cadena la que cuando uno la caga, la caga todo dios.
Si quien especifica lo hace mal, el programador no puede hacerlo bien. Si el que falla es el programador y al que prueba se le escapa, el sistema será una mierda. Si todos lo hacen bien pero quien monta la arquitectura lo ha hecho con el culo, no servirá de nada. Y al igual, si el el sistema no se mantiene como debe, ya lo han podido niquelar los demás que al final petará.
Esto es una cadena y siempre se rompe por el eslabón más débil (creo que he pasado por todos de una forma u otra) No eres más "chachi" por programar mejor o peor o por probar de puta madre o por mantener tus sistemas niquelados. Si la cadena funciona, las posibilidades de que lo hagas bien son mucho mas altas que si no lo hace. He conocido genios y patanes en todos los eslabones de la cadena, con independencia de que fuera doctor (que los había) o FP (que también había y muy buenos)
Por lo general, curra mejor el que quiere y le pone ganas (con un poco de aptitud, claro) que no el que mejor titulación tiene y sobre todo en una profesión como la nuestra, que las tecnologías tienen una vida muy corta y el que es un experto hoy está obsoleto dentro de seis meses. Aquí sobreviven los que se saben adaptar (y con flexibilidad) La frikada de hoy será la tecnología del mañana y el experto de hoy será el parado del mañana si sigue con lo mismo (bueno, salvo que trabaje con COBOL, CICS y DB/2 que es lo único que ha persistido en los últimos 30 años)
#21 Pues no estoy nada de acuerdo en eso, yo llevo ya 9 años programando (casi 5 de manera profesional en una pyme que está creaciendo) y cada cosa que hacemos me parece un pequeño desafío.
Supongo que ayudará él hecho de que hayamos reescrito entero el ERP de la empresa eligiendo nosotros TODA la tecnología que se iba a usar.
#57 ¿compatibilidad? ¿Comodidad? ¿Costumbre?
wtf
Estudiar una carrera para programar, con lo que cuesta una carrera y existiendo internet (bastante más barato), es de tontos pero muy muy tontos.
#1 Algunos sólo quieren competencias para sentarse en un sillón a vivir del título. Otros queremos aprender
PD: Maldita la manía en España de pensar que la programación es cosa de seres inferiores. Hay gente que defiende incluso que los programas se hacen en la India porque salen más baratos!
#5 Si no sabes programar no sabes qué coño estás haciendo. Es como pretender conducir un coche sin saber dónde están las ruedas.
Después de leer la entrevista, estoy de acuerdo con todo lo que dice Galli (y no, no es para que haga un update de mi karma en la base de datos, realmente estoy de acuerdo )
Yo creo que el principal cambio que necesita la carrera en España es clases en inglés: si no todas, por lo menos la mitad. En mi facultad, parte de los alumnos están constantemente insistiendo en que hay que normalizar el gallego en la universidad, mientras que ni uno protesta porque en la carrera no se haga un esfuerzo por potenciar el idioma que realmente necesitas para todo en esta disciplina (incluso si trabajas en España y para clientes españoles, vas a trabajar sí o sí con sistemas, librerías, APIs, etc. documentadas en inglés. Y si quieres que lo que hagas tenga un poco de difusión -software libre, etc.- documentar en cualquier idioma que no sea inglés es absurdo).
Lo triste es que no sólo es que no protesten, sino que cuando se propone alguna iniciativa de clases en inglés, los alumnos son el primer colectivo que se opone, lo cual manda huevos. Que se opongan los profesores, para los cuales supondría trabajo extra (sobre todo porque muchos no tienen buen nivel de inglés), vale, pero los alumnos...
Prefieren sacarse el título más cómodamente y salir siendo analfabetos en su campo porque no dominan el idioma universal de la informática, que hacer el esfuerzo de aprender la informática en inglés durante la carrera y salir siendo mucho mejores profesionales. Dice mucho de cómo es la mentalidad en nuestro país.
#6 Yo estudio Ingeniería Informática y prefiero Windows, por comodidad, compatibilidad y costumbre. Y esto de inaudito no tiene nada.
Tendrá que ver el tocino con la velocidad...
#112 #107 lo verdaderamente divertido de la informática es cuando puedes participar en todo el ciclo. Desde conocer al cliente y que te explique lo que quiere, hasta convertir eso en un funcional, luego en un diseño técnico y luego empezar a programar.
Ese proceso se parece bastante a la construcción de un edificio, lo encuentro apasionante.
Lo que es un coñazo es: dedicarse exclusivamente a la programación durante años o exclusivamente a la gestión.
Quedarse estancado en un área (sea la que sea) termina por ser muy aburrido y muy peligroso, porque si te quedas en paro eres menos versátil.
Ahora bien, si tengo que elegir, creo que la programación en general es lo más apasionante y/o divertido.
He tenido todos los roles posibles en informática, creo, y el de gestor de proyectos, aunque mejor pagado, es muy desagradecido, porque recibes hostias por todas partes:
- del cliente, por no cumplir al 100% lo acordado.
- de los programadores, por ser demasiado exigente o no conocer a fondo el entorno tecnológico.
- de los financieros de la empresa, por desviarte en costes y no conseguir que el proyecto sea rentable
- de tus jefes, por no dejar satisfecho al cliente
- de tu familia, por trabajar 11 horas diarias
- y del mercado, porque te quedas obsoleto tecnológicamente y si te vas al paro lo tienes muy chungo. Un programador actualizado al menos siempre puede encontrar trabajo.
#61 Vaya, parece que los fanboys de Linux no tenéis ni comprensión lectora ni diccionarios.
#17 ¿Das por hecho que le das un repaso a cualquiera de la FP? ¿Eso no es un poco prepotente? He conocido matemáticos y farmacéuticos que programan mejor que muchos con carrera informática. Eso quiere decir, que habrán muchos en la FP que programaran mejor que muchos con carrera informática. Hay que saber usar las reglas de tres y darse cuenta que buenos programadores pueden haberlos en cualquier lado. Sin ir muy lejos, muchos de los grandes programadores mundiales o no hicieron carrera o se la dejaron...
Steve Jobs dejó la carrera a los 6 meses (ya se, no era programador...)
Yo empezaría explicando bien git en primero. Pero bien. Entendiendo como funciona por dentro. Ejemplo de sistema de archivos. De protocolo. De versiones...
Los ingenieros no programan por eso Google, Facebook, Twitter, el kernel de Linux están hechos por FPs muy bien dirigidos...
#5 Para gestionar redes y gestor de BBDD un FPGS es competente de sobra. Un ingeniero debería ser capaz de implementar la mitad de los RFC desde cero.
Los contenidos de una ingeniería informática útiles en la casi totalidad de los empleos del sector TIC español son muy pocos, y los que van a ser desterrados de nuestra vida para siempre son la mayoría. De ahí que cualquiera de una carrera técnica con una formación de unos meses es tan productivo como un I.I.
En muchas oficinas de las que he estado, tanto malas como realmente bien consideradas había matemáticos y físicos y demás y no se observaban diferencias. Tan sólo muy al principio entre los novatos, en su primer empleo.
Por eso creo que la carrera está muy mal diseñada.
#70: Mira, yo soy ingeniero informático, y ahora mismo estoy trabajando por un tiempo en un sitio donde tengo que ampliar un sistema escrito en C++, que creo que coincidirás conmigo en que no es precisamente un lenguaje fácil.
No había programado en C++ en la vida, porque en la carrera el único lenguaje orientado a objetos que vi fue Java, y luego sencillamente nunca me coincidió usar C++ hasta ahora.
Después de dos días improductivos mirando mucha documentación, alguna web de referencia y demás, y probando a hacer cosas poco a poco y con cuidado, al tercer día ya estaba picando código C++ como un mulo.
Conclusión: sí, si tienes una buena base (y en la carrera te la dan, si tienes unos profesores decentes y no te dedicas a trampear copiando prácticas) el que te enseñen unas tecnologías u otras es irrelevante.
No digo que haya que mantenerse alejado de la realidad aposta y enseñar en pseudocódigo como el libro de Knuth, al fin y al cabo se matan dos pájaros de un tiro (y se motiva más) utilizando para enseñar lenguajes y tecnologías que tengan uso en la vida real. Pero sí, en el fondo lo que hay que enseñar son los distintos paradigmas de programación, algoritmos, estructuras de datos, patrones, buenas costumbres (como seguir un estilo uniforme en el código, hacer tests de unidad, no ser optimistas pensando que todo va a funcionar sin haberlo probado exhaustivamente, etc.), y cómo usar y generar documentación. Si sabes eso, te será fácil usar cualquier herramienta, igual que puedes conducir un Ford aunque hicieses las prácticas con un Seat, y nadie critica a las autoescuelas por no enseñarte con el coche que vas a comprar después.
#5 +1 pero supongo que como dices, se refiere a la rama de desarrollo. No vas a ser un arquitecto de BBDD si antes no has pasado por simple "Sistemas" (como solemos llamarlos) y has tenido que realizar consultas, reparaciones y un millón de cosas más.
Yo en los sitios donde he trabajado he tenido analistas y managers de desarrollo que no habían hecho programación, o algunos que la habían hecho hace ya más de 15 años. Y no puedes esperar que ninguno de ellos entienda los requerimientos para un proyecto, cosa que en mayor o menor medida deberían entender.
#13 Creo que generalizas y mucho
El articulo este molaria mas en mayo, que es cuando la gente elije la carrera, no? Y por cierto, yo nunca recomiendo a la gente estudiar informatica
#17 si doblas el contenido de matemáticas... sería únicamente de matemáticas! ¿sarcasmo?
#21 Hombre, como todo en esta vida, depende.
Yo llevo 5 años en una empresa de software aeroespacial y estoy encantado. No he hecho ni formularios ni busquedas, creo que tengo la suerte de poder hacer una programacion mas proactiva.
Bien es verdad que una gran parte del software que se hace es monkey code que puedes hacerlo casi sin pensar, pero hay mas mundo.
#21 Cambia de curro
"Programo hace treinta años, comencé con Fortran y Cobol, pasé por Basic y Pascal, con diseños funcionales y "sistémicos holísticos" a las ágiles de ahora. Llevo creadas como cuatro o cinca empresas de software e Internet. Decenas de proyectos, software liberado... en todas ellas hice de programador, programo en PHP, Python, Perl, C, C++, Java, para web, backend, scripts y aplicaciones móviles." by gallir
Gallir, cuando hayas terminado de hacerte la pajilla aprendes a programar en PHP https://github.com/crodas/Meneame.net/blame/master/www/between.php (por poner un ejemplo).
#6 Yo no diría inaudito, pero sí muy triste. Con todo un mundo de tecnología completamente libre, que te permite hacer cualquier cosa y aprender mejor que nunca antes en la historia, y que no se aproveche... es muy triste.
Yo no estoy de acuerdo con los profesores, ni con muchas de las cosas que se han dicho por aquí.
La misión de un ingeniero informático no es picar código, ni administrar una base de datos o un sistema operativo ni tampoco diseñar un programa. La misión de un ingeniero informático de verdad, es la de conocer o saber encontrar 10000 formas diferentes de dar solución a todo problema informático que se le presente, saber elegir entre todas ellas la más conveniente teniendo en cuenta las restricciones impuestas, tanto por el problema como por los conocimientos del equipo, saber coordinar un grupo multidisciplinar (programadores, bd admins, diseñadores...), saber comunicar y justificar las decisiones que se tomen ante su equipo y ante cualquier cliente, saber establecer plazos y metodologías de trabajo que se adapten al grupo y lo más importante de todo; saber decir 'ahora no' y saber dar la cara por su equipo en todo momento.
Si no sabes hacer todo esto como mínimo, no eres un ingeniero informático por mucho que lo diga un papel.
Aquí os habla uno que dio FP, el primer año C++ con el Express del 2008, y luego Visual Basic 6.0 con dos cojones, también ASP nada de .NET y todo muy básico. También a tener en cuenta que misteriosamente los de administración daban Java y los de Desarrollo de aplicaciones no...
Y sí, con mis buenas notas y buena intención probé la universidad, donde ves que todo es física, matemáticas, lógica, asignaturas de empresas, economía, historia... Algo de SQL en Acess, otra vez c++ (por las mierdas de cambio a grado no pude convalidar ni una sola asignatura) Ahora bien, te das cuenta de que la gente sabrá hacer integrales con todas las incógnitas del mundo, pero no comprenden que hace un bucle for. O misteriosamente llegan y en quinto de carrera te explican como usar Word para los trabajos... Y lo siento, me gusta y me considero programador "pasable" y con ganas de aprender todo lo que me echen encima, pero no le veo sentido a muchas cosas que se enseñan, ni como se enseñan.
Siempre he aprendido mas intentando hacer un programa por mi cuenta, para trastear y aprender y eso FALTA, y mucho. Mucho trabajo en grupo (que todos sabemos como son) muchas horas en la universidad, que ya podríamos montar tiendas de campaña allí pero no solo los estudiantes tienen que poner de su parte.
#14 yo no he estado en tantas oficinas como tú, supongo... unas 5 o 6. Y los matematicos y físicos (y telecos, pero menos) que he visto programar lo hacen como el culo. Sí, son capaces de apilar lineas de código y solucionar un problema, pero todavía me falta por ver un matematico o fisico craftsman.
#15 Con superiores como tu que no tienen ni idea de explicar/analizar/pensar a un programador la solución a aplicar, así nos va.
#72 De acuerdo contigo. Esa es la función de un ingeniero, sea agricola, industrial, informático... Pero en este pais donde la carrera profesional es vertical (ahora me explico), puestos reales de Ingeniero Informático hay 4, y ya estan pillados por 4 gurus de verdad.
Carrera profesional vertical:
Primero, es una frase creada por mi, no se si tendrá sentido o no
Segundo, te acabas de sacar tu flamante ingenieria en Informatica (uuooohhh), y tu primer trabajo es de programador (usease un pikachu). Si eres bueno
y tienes suerte, te ascienden a Analista Programador, Analista Organico, Analista Funcional, Jefe de Proyecto, Director de Proyecto... Aqui entran las categorias que cadacárnicaempresa quiera inventarse. Y eso lleva al sindrome de Peters, tu puedes ser un programador excepcional, pero eso no quiere decir que seas un Analista excepcional. Y si lo eres, tampoco implica que seas un gestor de proyecto excepcional.A lo que voy, en otros paises puedes ser programador (o analista, o gestor) toda tu carrera profesional, con un salario acorde a tu experiencia. Pero en este pais no. En este pais el subir de categoria implica cambiar de responsabilidades para las que (a lo mejor) no eres tan bueno.
Por lo tanto, ¿cual es tu chiringuito perfecto?. Empieza por ser Pikachu, conoce todas las ramas del árbol, que si eres bueno acabarás donde quieres estar.
He dicho
#119 Positivo por tu comentario y por tu nick ;.)
#25 La virgen, hacía siglos que no veía eso! jajajaa
#50 Cualquier FP le da sopas con honda en ese sentido al 80% de las carreras. No hay práctica y hay algunas que entras, estudias y de verdad es que no tienes ni puta idea de que sirve, como se desarrolla un puesto de trabajo en el que se aplica lo que estudias o directamente cual es tu profesión.
#119 Ya, pero la vida de la informática no es un ciclo, sino un circuito, con lo cual sólo es divertida entre determinados nodos.
#105
«no ser optimistas pensando que todo va a funcionar sin haberlo probado exhaustivamente»
Yo eso diría que es hasta una ley física.
Un ingeniero informático no tiene porque ser un programador, y viceversa. La programación es sólo una actividad más de las muchas que puede hacer un ingeniero informático. El problema es que normalmente se asocia la ingeniería de informática con la programación, cuando hay muchas cosas más.
Yo lo soy y no programo ni trabajo en proyectos de "software". Digamos que los que desarrollan sofware son "mis usuarios". Con esto vengo a decir que ser informático tiene muchas facetas, unas más de arquitectura y otras más de gestión. No siempre se programa.
#88 Yo soy Analista, mi cometido es daros por el ano a todos
#6 Yo conozco a unos cuantos que creen que el SAPGUI es parte de la CPU.
#21 Amen... El 99% de los trabajos es picar codigo coñazo... Creo que los pensamientos como #1 son mas pensamientos utopicos de la gente mas joven, despues cuando llegas y ves lo que hay en la calle...
#1 Y ya no sólo las universidades, yo estoy en ASIR y me encanta programar, no se mucho pero almenos me defiendo bastante bien.
Programar debería enseñarse desde la ESO de uan manera funcional, divertida y que sea fácil para los estudiantes aprenderlo y que aun cuando a uan persona no se le dé bien, se le enseñe alguna forma de poder aprobar.
Es impensable no saber programar en el mundo que tenemos y seguimos creando.
#82 Lo mio era grado superior, mejor me lo pones
#1 Yo voy más allá... para mí alguien que no sabe programar no es un ingeniero informático, ni por mucho título que tenga.
Y cuando digo "saber programar" me refiero a SABER PROGRAMAR. Es decir:
"Cualquier idiota puede escribir código que un ordenador pueda entender. Los buenos programadores escriben código que las personas puedan entender." - Martin Fowler
#52 Sí, bueno... como ingeniero que ha tenido que arreglar código de FPGS (en más de una empresa, en más de una ciudad) voy a decir que discrepo bastante.
Todos los FPGS que he visto que programaban bien lo hicieron aprendiendo mucho por su cuenta, mucho más allá de lo que les enseñaban. Por desgracia, el resto eran muy cortoplacistas: lo que programaban no era ni reutilizable, ni escalable, no se respetaban las fases (básicamente programaban para adelante, sin una reflexión previa).
Luego claro, era el único ingeniero que había en plantilla el que tenía que estar haciendo de bombero apagando incendios por todas partes y el que tenía que adaptarse al nivel general (en una de ellas eso de usar templates y automatizar partes de la programación no lo llevaban bien).
De una me fui porque me estancaba y de la otra porque tenía un cliente tóxico y un jefe que le consentía todo y además impedía hacer bien el trabajo (y además me estancaba).
Destaco esta frase:
"Por otro lado, no entiendo que alguien pueda ser analista o director de proyectos sin una experiencia importante en programación. Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera."
Lo de ingenieros informáticos que te confiesan abiertamente que no les gusta programar (he conocido alguno) es para mi un misterio tan grande como si hubiera médicos que te dijeran que no soportan ver sangre. Total, para no reconocer que son malos programadores o que se equivocaron de carrera.
#90 El problema es que incluso en el terreno de los principios y fundamentos la universidad esta bastante por detrás de lo deseable.
El problema no es que esté detrás de lo deseable en el terreno de los principios relacionados con "el cacharreo" por llamarlo de alguna manera -que lo está y mucho-, el problema es que no forma ingenieros, forma técnicos. No enseña trabajo en equipo, no enseña a comunicar, no enseña organización del trabajo, no enseña a tomar decisiones y sobre todo no enseña que los conocimientos técnicos -que son los únicos que se adquieren- no son mas que una herramienta de la que van a tener que prescindir innumerables veces y que si no tienen otra a la que echar mano, se van a quedar relegados a meros picacodigos -y encima malos.
Lo que hay en España es una FP disfrazada con un título univesitario y muchas matemáticas, no una ingeniería.
#102 Lo que debe saber un ingeniero lo tienes en #72 y en #93. Y "picacódigos" tiene por lo menos dos acepciones ampliamente reconocidas:
1. Aquella persona que se define como tal a la que le encanta la programación y no puede dejar de pensar en como resolver de forma eficiente problemas relacionados con ella -normalmente suelen ser bastante buenos.
2. Aquellas personas que se dedican a teclear código con el objetivo único de superar un test -si existen- o de conseguir que un algoritmo haga lo que le han pedido, sin preocuparse de su eficiencia, claridad, etc... y sin ningún interés en el perfeccionamiento de sus habilidades (este si es peyorativo)
Como ves el cuarentón que mecionas, dudo mucho que entre en esta definición, a no ser que le hayas escuchado llamarse picacodigos así mismo.
#105 Simplemente una cosa, no es improductivo pasar horas muertas sin "avanzar" nada porque te familiarizas con un lenguaje y con el proyecto en sí, aunque eso sí, lamentablemente muchas personas nos vean así. Quizás en el caso de otros profesionales no opinarían lo mismo, yo estoy totalmente a favor de que los cirujanos se lean 3 o 4 veces mi historial médico y los detalles de la operación, antes de operarme de nada.
Buena carrrra para ser esclavo en una carnica. Mas informaticos mas q todavia algunos trabajan por mas d mil euros.
#5 saber programar te da soltura a la hora de crear por ejemplo scripts.
La de gente que gestiona sistemas que mejorarían su trabajo con unos cuantos bucles en consola.
#15 "V"
#16 Se escribe COBOL y dBase III, hoyga...
Lo peor es que cada día sale un nuevo framework o un nuevo lenguaje y al final pierdes un día entero configurando todo con sus XML, plugins y demás bufff.
#93 Para empezar la expresión "picacodigos" me parece profundamente ofensiva. Creo que no tienes claro que es un "ingeniero", definición de ingenería de la RAE:
"Conjunto de técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía, mediante invenciones o construcciones útiles para el hombre:"
Ser ingeniero ES SER UN TECNICO por definición. Tu estas hablando de gestión de proyectos, conocimientos que cualquier tecnico interesado va adquiriendo a través de su experiencia y participación en distintos proyectos.
#15 Sí sí... en el "ambito Lavoral"
A ver como le dices a un subordinado que su código da asco si no puedes ni entenderlo, o a ver como le redactas unos requisitos.
#1 se hacen QAs (de los que no usan selenium, claro)
#43 Yo también hago aplicaciones para móviles, y aunque tiene partes entretenidas estarás conmigo en que "cerrarla" para subirla a la store es un coñazo... poner los textos, screenshots, traducciones, comprobar todas las validaciones, los dispositivos, hasta el último botón funcionando correctamente...
#5 cierto, yo iría un paso más allá, me viene como anillo al dedo este artículo de Wardog http://bofhers.net/blog/cualidades-para-un-buen-sysadmin extensible al gremio. Un ingeniero informático debería intentar llegar a esto, para eso existen cientos de millones de transistores, para darles un uso, siempre que surge una necesidad, poder automatizarla y no que se convierta en una tarea repetitiva manual.
Hoy día, en el mundo está más de moda ser maestro de nada, aprendiz de todo, vamos tener un conocimiento fundamental y general de la cosas (informática = tanto software y hardware) y poder aprender de forma rápida la tecnología que surja. Hombre siempre hay temas que se dominan más que otros, sea por la experiencia, interés o persona.
No es por rajar gratuitamente, pero veo poco nivel en esa entrevista, me falta algún investigador de más renombre.
Pero claro, es xataka, y se ve muy fanci llu knou.
De todos modos, sirva el meneo para abrir el debate
#1 sinceramente tuve compañeros que están en esa situación y he de decirte que son muy necesarios para la disciplina viendo a lo que se dedican actualmente.
#12
Saber de DDBB es algo más que distinguir entre un shutdown inmediate y un shutdown force.
#24 Creeme que un ASIR junto con DAM sabe bastante más que eso.
#34 Un sysadmin tiene nociones mínimas de programación.
Yo soy ingeniero y odio programar. Esta muy bien saber hacerlo (la analogia de los ladrillos que comenta Gallir), pero no es ni mucho menos primordial. De hecho, conozco ingenieros informaticos de otros paises y en sus carreras no se le da ni la decima parte de la importancia que se le da en España. Y mal no les va.
Estoy harto de ver ofertas de trabajo que piden experiencia en tal o cual tecnología... sin pararse a pensar lo que dicegallir, las tecnologías van y vienen, lo importante es tener claros los principios básicos, los cimientos de todo ello, pero eso parece que a las empresas no les importa.
Sabiendo los principios básicos, puedes aprender una tecnología concreta en poco tiempo.
#80 "También a tener en cuenta que misteriosamente los de administración daban Java y los de Desarrollo de aplicaciones no..." Wut, yo ando en ASIR y de programación solo dimos JavaScript en grado medio, nada de Java. Ni Python siqueira, el cual he aprendido algo de forma autodidacta.
#83 Es que ahora en ASIR no tocamos para nada la programación. Solo diseñamos BBDD para que escalen bien, o estructuras de datos para la web (XHTML). Sí acaso SQL, pero me niego a llamar a eso "lenguaje de programación", aunque pueda ser turing-compatible.
Si enseñas tecnologías, estás formando profesionales ya casi obsoletos. Vale Galli, enseñemos solo algoritmos y pseudocódigo para que cuando salgan ingenieros no estén anticuados. Nada de Java, ni C#, ni C++ ni SQL, ni SOs....
Realmente en la universidad se puede aprender muchísimo pero el problema está en que en España apenas se hace ingeniería. Básicamente el 95% del trabajo que tenemos en el mercado laboral consiste en hacer páginas web, aplicaciones de gestión para empleados, instalación de Windows, configuración de routers, cambiar cartuchos de impresora, etc. Todo ésto produce la sensación de que aprender cálculo, álgebra, física o algorítmica no sirve de nada, pero sin estos conocimientos no existirían las tecnologías que manejamos día a día. Aquello de "que inventen otros" también se aplica a la informática en nuestro país, salvo honrosas excepciones.
#107 Hombre, es cierto que depende de los proyectos en los que estés inmerso, es cierto que si haces sobre todo mantenimiento o tareas repetitivas puede ser un auténtico tostón.
Pero aún así para mi programar me sigue pareciendo lo más divertido de todo, la gestión de proyectos, la elaboración de funcionales, las interminables iteraciones hasta que todo el mundo está de acuerdo en el documento definitivo de especificaciones antes de empezar a meterse en harina, eso sí que es un puto coñazo.
la ingeniería informática sirve para alguna cosilla más que firmar proyectos. Intuyo que no tienes ni la más mínima idea de que en consiste la formación o el trabajo de un informático.
#124 Estoy de acuerdo, aunque me refería más al enfrentamiento entre la parte más técnica (ya sea desarrollo o sistemas) y la parte más "burocrática" de gestión de proyectos, reuniones con clientes, etc, incluso aunque esto último también forma parte del trabajo, a mi me parece mucho más divertido el "cacharrear", ya sea programando o tocando la administración de bases de datos, servidores, etc.
Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante. Quizás eligió mal la carrera.
Pues a mí sinceramente me parece que la programación es un aspecto de la carrera, ya que si quieres puedes pasar olímpicamente de programar salvo para demostrar o terminar de llevar a cabo lo que has ideado.
Poniendo por caso el tema de bases de datos, aparte de saber programar consultas SQL, triggers, vistas, diseñar las tablas a partir de las clases, etc, también enseñan algo de las tripas de los SGBD y por supuesto hay optativas orientadas a profundizar más en la implementación de SGBDs, algo a lo que puedes aplicar conocimientos de otros aspectos que se dan.
Decir que no te gusta programar dista muy mucho de haberte equivocado de carrera.
"Para ser sincero, tampoco entiendo que un ingeniero informático no quiera, o no le guste, programar. Es lo más divertido, y un desafío intelectual mucho más importante."
Error. Hay excelentes programadores que fracasan estrepitosamante cuando les apartas de su pantalla. Porque no tienen las habilidades que se requieren para desenvolverse en el mundo real de las personas y sus necesidades. Decir que hacer un buen análisis es más aburrido y un desafío intelectual inferior a escribir buen código es
una chorrada como un pianouna visión muy parcial y subjetiva.Estudia nigromancia.
Y todos tienen parte de la razón.
Que no sepa programar no lo hace más inútil, y que sepa programa no lo hace un dios. Hay gente a la que le gusta, y gente a la que no. O sino, ¿dónde quedarían los IT Pro, los administradores de red, de seguridad, de bases de datos? ¿Los gerentes de proyecto, los testers, los analistas de calidad? ¿Acaso todos ellos DEBEN programar? No. Deben conocer la lógica de lo que el cliente quiere, pero no necesariamente CÓMO hacerlo. Allí es cuando se necesita gente que le APASIONE programar, independientemente de su título.
Sacar programadores de las universidades es un negocio para ellas, pero no para el mercado. Y no se molesten si las empresas solicitan gente con experiencia en una tecnología específica. ¡Es su negocio, y si consideran que se necesita trabajar en alguna de ellas, es porque tienen el cliente que así lo desea! ¿O sea, que como tienes el conocimiento básico de programar, te voy a contratar aunque no sepas de trabajar en iOS (por ejemplo)? ¡NO! Y más, cuando el proyecto que tengo en mis manos se necesita que se ejecute pronto! No me puedo poner a enseñarte. Debiste especializarte en algo.
Cuánto necio.
#1 No estoy de acuerdo contigo.No se en que proyectos te has movido pero personalmente creo que la programacion puede llegar a se horrible. De mis colegas que he tenido, el 99% odia la programacion, y yo estoy pensando en redirigir mi carrera a cualquier otra cosa que no tenga que ver con eso.
#4 Creo que uno de los mayores errores es recomendar a la gente que estudie algo, incluso aunque tenga muchas salidas, o te guste a ti como hobby.
Si eliges ese camino, lo podrias estar lamentando toda tu vida.
#1 Me estoy acordando de marrones de ultima hora que hay que resolver en un minuto...por mucho que te guste programar lo acabas odiando. Sumale la opcion de un jefe cabron, o tambien la opcion de resolver cosas como "Mueve esta cajita un pixel mas arriba".
Yo lo que me pregunto es el por que a la gente le gusta programar.
#119
«- de los financieros de la empresa, por desviarte en costes y no conseguir que el proyecto sea rentable»
Hueso duro los financieros. Pero eso sí, si son competentes mejor hacerles caso.
#128: El inglés de bachillerato tal vez dé un nivel decente si realmente asimilas todo lo que te enseñan en el bachillerato. Pero ten en cuenta que para estudiar la carrera, basta con haber sacado aprobados raspados en el bachillerato y en la selectividad. Alguien que saca un 5 en inglés en la selectividad no tiene ni pajolera idea de inglés.
Yo realmente no sé exactamente cuánto se estudia ahora en el bachillerato pero te puedo decir lo que veo todos los días enseñando en la carrera, y es que hay algunos que sí saben inglés pero muchos tienen un nivel totalmente insuficiente. Les recomiendas que miren un libro o una web de documentación en inglés y te miran como si estuviera en sánscrito, preguntándote si no la habrá en español. Me parece triste que salgan de una carrera de ingeniería informática así.
En general TODO ingeniero debería ser un buen programador, independientemente de la rama de la ingeniería a la que se dedique. Pero esto le cuesta a mucha gente entenderlo
#27 Hay mundo fuera de españistan.