cuadrantes-espiral
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Cuadrantes-espiral] ingeniero de software


From: Diego Arranz
Subject: Re: [Cuadrantes-espiral] ingeniero de software
Date: 12 Nov 2002 01:16:13 +0100

> Interesante hilo :-).
> 

Pues sí :)

Diré algo al respecto, aunque sólo sea porque lo inicié con ese
comentario sobre hackers e ingenieros...

Todo viene al hilo de la división de tareas. En cualquier rama seria de
la ingeniería "clásica" las tareas se dividen a lo largo de una serie de
especialistas que dominan un determinado campo, y que se coordinan para
realizar un proyecto o lo que sea.

Mi ejemplo preferido es la arquitectura :)

El arquitecto diseña los planos. El aparejador (arquitecto técnico)
supervisa los detalles de la construcción y se las tiene para sacar algo
intermedio entre los desvaríos imaginarios del arquitecto y las leyes de
la física, materiales, estructuras, etc. El albañil u obrero pone los
ladrillos y la masa. Normalmente no se llama al arquitecto para
solucionar un problema de un ladrillo mal puesto ni se deja que el
albañil diseñe la planta del salón :)

La ingeniería de software trata de llevar estas prácticas tan lógicas al
desarrollo de software. Igual que en la construcción de edificios, el
ingeniero realiza los diseños y decisiones de alto nivel de abstracción,
y los programadores tiran líneas... la idea es que la formación y
habilidades para hacer cada cosa no tienen nada que ver, son tareas a
separar. Si os paráis a pensar hay múltiples tareas relacionadas con el
software que deberían hacer personas distintas. Un experto en redes no
tiene por qué saber programar de la leche. Un programador no tiene por
qué saber HTML. Un diseñador de webs no tiene por qué saber PHP (si se
utilizan sistemas de plantillas o similar, claro :) Un ingeniero no
tiene por qué ser un experto en redes, ni en HTML ni en PHP... de hecho
con que sepa a alto nivel de qué se trata cada tecnología y sea un hacha
analizando y diseñando y poco más es suficiente.

La verdad es que yo conozco muchas cosillas de estas, pero a nivel
teórico (desarrollo incremental, UML, patrones de diseño, etc.), así que
me apetece poner todo a eso a prueba en un proyecto, por ejemplo la
espiral de valores. Bueno, me temo que no será posible dividir tareas y
tendré que hacer de ingeniero, programador, diseñador web, chico que
lleva el café, etc. pero en cada caso espero ser consciente del papel
que tomo en ese momento ;)

Y que bueno Víctor, me alegro que a tí estas cosas te las enseñen en la
carrera (yo todo lo he aprendido en Internet y con algunos buenos
libros), porque si yo tuviera que ganarme el pan con lo que aprendí en
la facultad, no me ganaría las habichuelas como ingeniero, ni como
programador ni como nada. Mi facultad es un sistema de mafias e
intereses varios ajenos a la educación, un auténtico cadáver desde el
punto de vista educativo y de relación con la realidad laboral.

Respecto al tema de los hackers estoy de acuerdo con lo que dice Javier,
y según su definición un ingeniero también podría ser hacker :)

Lo de que "en Debian hay mucho hacker" lo decía según esa definición
suya, y con mucho respeto y cariño. Y que por supuesto hay gente con
mentalidad de ingeniero, sólo hay que ver todo el sistema de paquetes,
dependencias, etc. es una auténtica virguería ingenieril. Pero en cuanto
a aplicar técnicas de ingeniería en el desarrollo de aplicaciones... veo
la cosa más verde. Javier nos podría decir cómo se lo montan en GNOME.
Bueno, más verde que en la empresa española (conozco bastantes, he dado
cursos en muchas) no, ahí más que verde la cosa es negra de pura
ignorancia. Me juego el pescuezo a que la mitad de cursos que se dan de
Rational Rose son para aprender a pintar dibujitos UML que si no aplicas
una metodología no sirven para nada.

Perdón por las dos txapas seguidas, no se volverá a repetir...

Diego





reply via email to

[Prev in Thread] Current Thread [Next in Thread]