Capacitat analítica


Imatge via World Economic Forum sota llicència Creative Commons

Fa dies que a la feina estic batallant amb una millora implementada per a un client. Com sempre, les modificacions de gran abast comporten un volum de manteniment i de correccions molt superior, no pels canvis realitzats en si mateix, més aviat pel nivell on han sigut implementats – propers al nucli de l’aplicatiu- i per la funcionalitat que s’ha tocat, el sistema de càlcul de preus. Quelcom conflictiu, ja que de les modificacions se’n poden desprendre efectes imprevistos i no desitjats. Després d’estabilitzar la modificació s’han reduït el flux de correccions, però cada cop impliquen més dificultat. Són més tedioses, el nombre de proves a realitzar és elevat, tot i que només toquem una línea de codi hem d’aplicar el joc de proves complert. En aquestes situacions, diguem-ne extremes, sempre hi ha un company amb més coneixement del mòdul en qüestió, al qual s’acaba recorrent perquè col·labori en la resolució. Hem fascina veure com és mou per dins de l’aplicació. Fa més anys que treballa amb ella, i és l’autor de part del seu nucli. Conjuntament arribem a una conclusió respecte a la solució al problema o acabes rebent les indicacions necessàries per sortir del punt mort en que et trobes. L’experiència és un grau, però un dels seus punts forts és la seva capacitat analítica. Estan assegut a la seva bora he arribat aprendre molt sobre com plantejar els problemes, i com  debugar l’aplicació per treure’n l’entrellat.

La capacitat analítica del programadors no és estàtica. Quan vaig començar a codificar, a crear les meves aplicacions d’una certa grandària, m’adonava que els meus companys hi havia certes coses que no veien. Estic parlant dels temps d’estudiant. Crec que hi ha persones que tenen una capacitat natural per a certes activitats. En el meu cas, tenia  visió a mig/llarg plaç – a l’hora d’implementar – que molts del grup no tenien. És el mateix que hem passa quan estic observant al meu company, les seves capacitats a l’hora de relacionar diferents conceptes funcionals aplicats a un entorn – en aquest cas el nostre ERP– li permet realitzar una previsió de les conseqüències que poden produir certs canvis, que superen les meves. Precisament aquesta seria una definició aproximada de la capacitat analítica aplicada a un programador. Tenir coneixement del medi de treball ens dona perspectiva. Deixem de veure aquella funció de codi com uns simple funció i passem a veure-la com una peça encaixada en un engranatge.

Com cultivar-la? Practicar. Programar, codificar tot tipus d’aplicacions en un entorn de producció. Important rebre feedback del receptor de la millora, si no rebem una picada de dits si no ens esmerem a polir la qualitat del nostre treball. La nostra capacitat d’anàlisi augmenta a mesura d’anar afrontant nous reptes, amb una dificultat creixent.

Adquirir una metodologia de treball, i aplicar-la. Les bones costums es potencien entre si. Hem de ser metòdics a l’hora de recorre els diferents passos que composen una implementació o una correcció. Si apliquem el mateix sistema per depurar i realitzar les provés cada cop ens resultarà més fàcil afrontar diferents problemes, i trobar-hi una sortida.

Hi ha factors, per el contrari, que deterioren la capacitat analítica dels professionals. L’estrès n’és un dels principals. Treballar sota la pressió d’un client, del venciment d’una entrega o no comptar amb un entorn de desenvolupament amb les condicions adients, amb un temps de resposta elevat o generant constants interrupcions. En aquest cas millor planificar i treballar amb temps (ja se que és una resposta molt suada), i si no es pot evitar mirar de compartir la carrega amb altres companys. Quatre ulls hi veuen més que dos.
En l’altre extrem tenim la falta de concentració. Les petites interrupcions, trucades de clients, companys amb dubtes i problemes, un excés de pauses per prendre cafè o fer un cigarret… tot interromp la nostra línea de treball i no permet desplegar el nostre talent (capacitat analítica). Falta de ganes, de motivació o per la gent que tenim a l’entorn. Si és el primer cas, millor parar deu minuts per programar les tasques que farem a continuació i les pauses que ens permetrem realitzar. En cas de tenir un dia mogut en quan a trucades i demés qüestions, si es possible reservar-se una o dues hores per parlar amb tercers i resoldre problemes, concentrant-nos la resta de la jornada en la nostra feina.

En definitiva, hom pot tenir un talent natural per la programació, però hi ha habilitats que el potencien encara més. La capacitat analítica es cultiva i es fa créixer a través del domini de diversos aspectes de la feina, metodologia de treball, coneixements específics sobre les eines, sobre l’aplicació, comptar amb un bon entorn i equip de desenvolupament amb el que col·laborar… Es converteix en indispensable per millorar el resultat de la nostra feina i en un signe de maduresa com a professional.