El Blog de Trespams

Blog personal sobre tecnologia, gestió de projectes i coses que se me passen pel cap

Els enginyers informàtics han de saber programar

Sovint he vist en llocs tipus Barrapunto històries damunt el mal pagats que estam els informàtics, damunt el que s'ha d'aguantar, etc. Darrerament sempre surt el tema de que un enginyier informàtic no ha de programar, que això és feina d'altres. Quina bestiesa!

Aquesta actitud no la d'alguns informàtics, he sentit les mateixes paraules de gent que feia la carrera de Turisme i que pensava que la titulació automàticament el capacitava per ser director d'hotel, i que qualsevol altra lloc de feina era desaprofitar els seus coneixements i la seva titulació. El mateix podem dir de titulats en empresarials que automàticament es pensen que qualsevol lloc per davall de director general d'una multinacional no és digne d'ells. En quin món viu aquesta gent?

Una titulació sols garanteix que hom té uns coneixements teòrics i que és capaç d'aprendre coses, que té força capacitat de feina i esperit de sacrific. Si el lloc de feina s'adequa a la titulació que tenim, a més significa que tenim una base teòrica prou sòlida com per adaptar-nos més ràpidament a la feina i aprendre els conceptes i les maneres de fer que allà ens hi trobarem.

Tant si hom opta per la informàtica de sistemes com per la informàtica de gestió, la programació ha de formar part important de la nostra feina diària. Si un tècnic es troba en que per la seva feina no ha de programar gens vol dir o bé que no està excel·lint en la seva feina o bé que la feina es prou monòtina i repetitiva com per tenir-la resolta amb un parell de clicks. Segurament els programes que un administrador de sistemes seran molt diferents del que pugui fer un programador de gestió, segurament també seran distints els llenguatges de programació que faci servir, però el cert és que si és un bon administrador de sistemes segur que voldrà fer scrips per automatitzar les tasques més repetitives, adaptar programes de monitorització que ja existeixin o crear-ne de nous! Els bons administradors de sistemes són gent pererosa en el bon sentit de la paraula, és a dir, si una feina és repetitiva i s'ha de fer sovint procuraran automatitzar-la.

Així doncs, la frase, "jo sóc de sistemes i per tant no vull saber res de programació" per mi el descarta com un bon administrador de sistemes. Potser sigui una persona eficient en la seva feina, però mai podrà arribar a l'excel·lència, que en aquest cas està en fer bé la feina però a més ha ser capaç de saber quin tipus de feina s'ha de fer. No té sentit tenir que anar servidor a servidor repassant l'espai de disc si un script automatitzat pot fer-ho per nosaltres.

En programació de gestió també ens podem trobar quelcom semblant. Hi ha gent que té com a màxim objectiu en la seva carrera professional no tornar a programar en la vida. Ens els podem trobar en dues versions, gent que ho ha aconseguit i gent que està disposada a arribar-hi i per tant s'ha quedat ancorada en un llenguatge o eina de programació i no en vol aprendre cap altre. Tanmateix el seu "destí" és deixar de programar.

Sovint en l'evolució professional ens trobam que les tasques de gestió o coordinació ens lleven tant de temps que ens impedeixen de dedicar-se a temps complet a la programació. Tot i això és aconsellable no perdre del tot el "toc", estar al corrent de les noves tecnologies, dels nous llenguatges, llibreries que puguin sortir, ... Potser la tasca diària que es tindrà no implicarà programar la major part del temps, això sovint passa quan es passa de la programació pura i dura a la gestió de projectes o a la gestió de persones. Tot i això, perdre el contacte amb la programació i amb les noves tècniques de programació, vol dir no poder fer una bona estimació ni de l'esforç que han de fer els programadors dedicats, ni del cost del projecte, ni tan sols del cost d'un programa que volguem comanar a un tercer.

Potser algú dirà que el llenguatge de programació no importa, que hi ha relges per estimar els projectes com COCOMO II, punts de funció, punts objectes i demés. Es veritat, hi són, però tots aquests mètodes d'estimació no són ni de prop exactes, sempre hi ha un tant per cent elevat (del 25% al 700% d'error [1]). La tecnologia que facen servir influeix molt a l'hora de fer les estimacions, en els punts funció, per exemple, he de classificar la complexitat, i està clar que no és el mateix la complexitat d'una aplicació que es desenvoluparà fent servir EJB que una aplicació feta en Python. Potser per certes aplicacions serà necessària la complexitat de l'EJB però el més normal és que no ho sigui. Si el nostre programador no ha evolucionat potser intentarà aplicar sols les tècniques que ja coneix als nous projectes o serà incapaç d'avaluar alternatives a l'hora de posar en marxa un projecte.

Pareixeria que la complexitat l'hauria de marcar el que s'ha de fer i no el com, però normalment la complexitat la marquen les dues coses. Està clar que la complexitat que tindriem per implementar la navegabilitat en una aplicació no és la mateixa si l'aplicació ha d'estar basada en web que si la feim amb un client gruixat. La tecnologia de programació ens marca també el factor de la complexitat i pot doblar el temps de desenvolupament.

Així doncs, quan llegeixo que la màxima aspiració d'algú que estudia informàtica és la deixar de programar, no puc més que pensar que jo a una persona aixi no la voldria fent feina a la meva empresa.

--
[1] La xifra no es meva. Citada al Análisis y diseño detallado de Aplicaciones Informáticas de Gestión. RA-MA. Pag 131.

blog comments powered by Disqus