ir al contenido

¿Es la programación un arte perdido?

Publicado hoy

Hay un punto que me viene preocupando ya desde hace un tiempo, y ahora que finalmente he cruzado las puertas que separan al estudiante del profesional, veo que la situación no hace nada más que agravarse con el tiempo.

Me refiero a la cada vez peor dedicación y empeño que se da en la enseñanza del desarrollo en la mayoría de las carreras que tratan sobre las tecnologías. Son muchos -demasiados tal vez- los compañeros que conozco que portan su sombrero de egresados y se han lanzado a proyectos para empresas (algunas importantes) pero que simplemente no tienen la capacidad y conocimiento para poder realizar un desarrollo exitoso. No critico su impulso y ganas, pero siempre he profesado que antes de actuar sobre algo, hay que tener un buen conocimiento del mismo.  Y simplemente las nuevas generaciones de graduados no lo están obteniendo.

Recuerdo cuando era pequeño y observaba a los estudiantes universitarios; tenían un áura impresionante, poseedores del conocimiento máximo e indiscutible, pioneros en su campo y luminarios de lo que estudiaban.

Como han cambiado los tiempos cuando a veces veo que la situación ha cambiado tanto, y muchas veces los que deciden seguir el camino de estudios profesionales son vistos con malos ojos por aquellos que decidieron seguir un camino de autoaprendizaje, o del estudio de una carrera técnica o corta. Pero cuánta razón están teniendo.

La eduación en la mayoría de las instituciones educativas está llegando a un punto crítico. Se están perdiendo las nociones básicas de programación, los conceptos necesarios para poder realizar buenos diseños. ¿Código elegante? Para muchos, es pedir demasiado. Y cada conocimiento sobre la teoría de desarrollo empieza a ser reemplazado por cursos sobre uso de algún IDE, algún framework o metodología en particular. ¿Pero como pretender que un alumno aprenda y utilice correctamente una metodología de desarrollo sin conocer ni entender las bases que lo comforman?

Es bastante común escuchar a personas que se refieren a tecnicas de mapeo entre base de datos relacionales y frameworks orientados a objetos, y describiendo su funcionamiento como.. ¡¿"magia"?!. Me refiero, no es obligatorio conocer al detalle (pero definitivamente puede servir) de como funciona el código de algún componente que utilizamos, pero al menos deberíamos poder inferir y deducir qué hace qué y cómo lo hace. Pero desgraciadamente, se está volviendo una habilidad cada vez más extraña.

¿Qué está pasando en las aulas de enseñanza? ¿Se está dando más peso a conocer tecnologías más que el trasfondo de éstas y de lo que permiten? Los lenguajes de programación y los IDEs no son más que herramientas que un profesional utiliza para llevar a cabo su trabajo. Nada más, ni nada menos. Y saber utilizarlas es importante, pero más aún, es saber que hacer con ellas, y cómo hacerlo bien.

Apuntes similares

Comentarios

6 comentarios. Deja el tuyo

  1. Freddie dijo el el 1 de June a las 1:00 am

    Es mercado.

    A nivel de latinoamerica, la demanda por habilidades en programación de bajo nivel es tan baja que es casi inexistente. Los poseedores de dichas habilidades trabajan freelance remotamente o emigran. Los desarrolladores locales no ganan nada teniendo ese conocimiento tan exclusivo porque a nadie le importa.

    Además, la ingeniería como tal últimamente se ha enfocado más en administradores de tecnología que en creadores de sistemas. Por eso existe el tipo Pointy Haired Boss que aunque tenga titulos, no entiende un carajo de lo que sus programadores (Graduados o no) hacen.

    Y la tendencia seguirá siendo esa. Los sistemas cada vez son más abstractos y las necesidades de un conocimiento profundo para generar ingresos rápidos cada vez menores.

    Es la filosofía de: “Si funciona y el cliente no tiene NPI de la porquería que yace allá abajo ¿A quien le importa?”

  2. Dientuki dijo el el 11 de June a las 3:43 pm

    Creo que las dos cosas de deben complementar, un curso corto esta orientado al IDE y algo del lenguaje, una carrera esta orientada a que hacer con ese IDE y lenguaje, ¿Como unir todo? lamentablemente es tarea nuestra.
    Ninguno solo alcanza, un buen profesional debe hacer una carrera formal, y un curso practico.
    Hace poco hable con un diseñador grafico, y él tuvo que hacer asi, luego de recibirse de diseñador, tuvo que hacer un curso de ilustrator, photoshop, etc, y me parece bien, lo que me parece mal es la actitud de los egresados de creerse “dios” con solo ese titulo.

  3. Alvaro Pereyra dijo el el 11 de June a las 4:19 pm

    Pero eso desgraciadamente va a pasar mientras la sociedad le da mayor valor al “cartón” que al profesional en sí. Espero que sea algo que eventualmente llegue a cambiar, según se modifiquen las actitudes de los mismos egresado.

    Sí es posible unir ambas. En una universidad, tienes cursos obligatorios y electivos. En los obligatorios de pueden dar las habilidades teóricas y generales, y en los electivos puedes actualizarte en temas específicos, aprender sobre tal IDE u tecnología, etc.

    En un instituto es similar, hay institutos que te brindan una formación teórica básica que se complementa con la práctica. Por la menor duración, puedes obtar por complementar los conceptos siguiendo más adelante una instrucción universitario, o mediante la forma de certificaciones que complementan también varios conceptos teóricos (CISCO por ejemplo) o más prácticos (como un MCP de Microsoft).

    Pero así no hayas seguido nunca estudios, la gran cantidad de material en internet y libros te pueden ayudar a tener una buena base y finalizarla en cursos prácticos. No sólo hay tutoriales sobre AJAX o cómo hacer efectos en Flash; también hay temas sobre patrones, buenas prácticas, estándares, etc.

    La pregunta es, ¿cómo hacer para que estos temas bases se vuelvan más importantes?

  4. Eleuterio dijo el el 30 de June a las 11:08 pm

    Las universidades funcionan poco en este campo, porque sus estructuras son demasiado rígidas para adaptar sus pensums a un mundo de cambios tan veloces, sin embargo como punto de encuentro físico de personas interesadas en formarse, debería sacársele más punta.

  5. khafra dijo el el 9 de July a las 1:38 pm

    definitivamente, es cierto lo que se comenta en el post, pero hay tantas cosas que influyen en los caminos de la educación, aqui en México el educar es un negocio, por que es fácil conseguir un registro para establecer una escuela sobretodo si aportas capital para campañas de gobernaturas y cosas similares.

    y eso no es todo, hay tener en cuenta que los profesores(con Maestría) enseñan métodos y lógica de programación con libro en mano copiando absolutamente todo lo del libro.

    ni se diga de mis amados compañeros que a las alturas de la carrera tienen serios problemas con resolver un factorial por recursión, peor aun si se trata de compilar con java.. (y eso que mi universidad es la mejor del estado y que sin duda hay muchos genios) de estos es increíble ver como consiguen los mejores proyectos para desarrollo de software solo por que son parientes de alguien en la universidad.

    otro más, los clientes, que creen que desarrollar software es como hacer el desayuno y claro no quieren pagar lo que en realidad vale un buen trabajo.

  6. Alvaro Pereyra dijo el el 13 de July a las 12:40 pm

    El hecho que una universidad sea un negocio no es intrínsicamente malo si es que está bien aplicado. Si la universidad nos ve como el producto que venden a sus clientes (que pueden ser los mismos alumnos como los padres quienes pagan las pensiones), se preocuparán por brindarles siempre la mejor preparación, ya que el buen alumno que obtenga será la carta de presentación para otros más que se vean motivados a estudiar ahí.

    Pero cuando la Universidad ve su negocio como una entrega de Educación rápida, masiva y no personalizable, tenemos ahí un problema. Maestros con poca preparación, facilidades -bordando con lo ilegal- para pasar un curso, cambios curriculares de cursos “difíciles” por otros más “fáciles”, enseñar lenguajes en lugar de conceptos o teoría, etc.

    Definitivamente, no hay verdades absolutas, y en todos lugares, habrán profesores que darán más de sí a sus alumnos y otros que no, pero los primeros se sentirán más motivados si la institución demuestra interés en el tema.

    Sobre el tema de clientes, es algo que debemos tratar de manejar caso a caso, instruyendo, evangelizando, mostrando resultados. El desarrollo de software es un campo tan delicado como toda carrera y se debe valorar el esfuerzo que se le da al mismo.

Comentar

(*)

(*)


* (obligatorio)



developer-at-work

Developer At Work es un blog de Alvaro Pereyra Rabanal

Puedes contactarme a mi dirección electrónica alvaro.pereyra@srdperu.com, agregame a twitter o visitar el sitio de mi empresa srdperu.

Algunos derechos reservados, 2009. Un proyecto SRDPERU