Page 69 - Crisis 14
P. 69
f....ff..fffff
Inicialmente puede parecer cidades del computador, que más Ingeniería del Software: métodos
extraño mezclar en el mismo título que su herramienta de trabajo es
estandarizados para hacer las cosas
esas dos palabras: artesanía y algo-
su compañero, una extensión de su (patrones de diseño), reutilización
ritmos (o podríamos decir también propio cerebro (bueno, igual lo idea- de código, bibliotecas, documen-
programas o software, introduciendo lizo un poco.). Cada algoritmo que tación. Excepto en casos críticos,
otros términos que utilizaremos
desarrolla es casi como un hijo, úni- la corrección y la funcionalidad
como sinónimos a lo largo de este co, mimado, no sólo funcional sino priman sobre la eiciencia. Al in y
texto). ¿Qué relación puede existir bello (en el sentido informático.), al cabo, cada día los computadores
entre dos conceptos a priori tan ale-
eiciente. Modiicado incontables ve- son más rápidos, tienen más me-
jados?
ces intentando llegar a la perfección. moria y son más baratos, ¿no? Aun-
La palabra artesanía nos sugie- Vamos, un “artesano del software”.
que el soft desperdicie recursos a
re trabajo manual, objetos únicos, Un ingeniero de software es una
mansalva. Un mantra muy repetido
tradición, cuidado. Por otro lado, el persona, probablemente un traba- en la industria es ese de “el tiempo
concepto de software se relaciona jador en una empresa tecnológica, de programador es más caro que el
con la industria, producción auto- cuya tarea es desarrollar software
tiempo de computador”.
matizada, modernidad, ingeniería. para ganarse la vida (también exa-
Si nos acercamos a las personas que gero bastante, sea en aras del hilo de El Software
practican cada una de esas discipli- la historia.). Como trabajador por Y esa idea conduce a que el
nas, un artesano (de acuerdo con la cuenta ajena, no hará siempre lo que software actual está en su mayoría
RAE) es una persona que “hace por más le guste, sino lo que le encar- sobrecargado. Ejemplo: el teclado de
su cuenta objetos de uso doméstico guen. Siempre trabajando bajo pla- Google de un teléfono Android usa
imprimiéndoles un sello personal,
zos, con managers por encima que unos 150 Mb de espacio de almace-
a diferencia del obrero fabril”. El probablemente no sean técnicos y namiento. Un teclado. Y un iPhone
proceso del diseño y construcción no sepan de qué va la iesta, usando 4, lanzado con iOS 5, se arrastra
de programas sería la actividad por procesos y metodologías que puede bajo iOS 9, que básicamente hace lo
excelencia de un ingeniero informá- que no esté claro que sirvan igual mismo.
tico. Y la Ingeniería es el “conjunto para una fábrica de coches que para La reutilización de software en
de conocimientos orientados a la un desarrollo de software. En este el entorno de desarrollo es uno de
invención y utilización de técnicas entorno, el objetivo no es la belleza, los aspectos que mal enfocado puede
para el aprovechamiento de los re- sino algo que funcione bien en el producir software sobredimensiona-
cursos naturales o para la actividad plazo acordado.
do o sobrecargado. En los tiempos
industrial”. Según la IEEE, el inge- Las diferencias entre las dos primigenios del FORTRAN, las li-
niero es quien “aplica un enfoque formas de desarrollar software pro- brerías de cálculo eran montones de
sistemático, disciplinado, cuantitati- vienen, desde mi punto de vista, de icheros de código fuente, de los cua-
vo a la hora de desarrollar software”. dos factores: el tipo de problemas a les se elegían los necesarios para tu
Sello personal frente a actividad que se enfrenta cada uno, y el entor- problema concreto, y se añadían a tu
industrial.
no de trabajo.
programa. Después aparecieron los
El artesano se enfrenta a proble- sistemas operativos con bibliotecas
Artesanos vs Ingenieros
mas más pequeños (no más fáciles, compartidas, con lo que se enlaza
Para buscar una relación pode- ojo). Muchas veces su aprendizaje el programa con una biblioteca, in-
mos remontarnos a los inicios de
proviene de la necesidad de resolver dependientemente de lo grande que
la informática y revisar el concepto un problema concreto (digamos por sea (ya que es compartida, al menos,
de hacker. La palabra inglesa hacker ejemplo cómo resolver una ecuación solo necesitamos una copia para to-
ha sufrido una evolución bastante diferencial), con recursos limitados
dos los programas que la usen). En
denigrante, asociándose en la actua- y disponibilidad de noches en vela. los desarrollos para internet actuales
lidad con un signiicado peyorativo Tiene una preocupación malsana por se está volviendo al ‘modo Fortran’,
similar al de pirata informático. Pero la eiciencia y por utilizar la solución pero con un pequeño problema. Si
en su acepción original (y en los más simple y elegante posible. El en el código de tu página web ne-
círculos especializados se sigue en- ingeniero se enfrenta a problemas cesitas por ejemplo una rutina de
tendiendo así), hace referencia a un más grandes de nivel empresarial, no ordenación, puedes reescribirla o
programador que domina al límite puede permitirse reinventar la rueda utilizar una presente en una de las
su campo no de trabajo, sino de vicio en cada proyecto. Y tiene que tener docenas de frameworks para JavaS-
y esparcimiento, que es capaz de claro que el producto seguirá vivo cript existentes. Pero las interdepen-
solucionar cualquier problema, que despues de que él desaparezca. Ahí dencias dentro del framework son tan
sabe exprimir al máximo las capa-
entra todo lo que ha aprendido sobre
grandes, que necesitas incorporar
69