Imatge via nknaut sota llicencia creative commons
Quan vaig acabar la meva formació i vaig aconseguir la meva primera feina tenia la convicció de ser un bon professional, un bon programador. Evidentment era conscient de la meva falta d’experiència i sabia que m’hauria d’adaptar a les dinàmiques laborals abans de despuntar. Res més lluny de la realitat. A mida que es van acumulant hores de vol, gradualment descobreixo que la meva habilitat davant del codi no és res més que una petita proporció d’allò que podria arribar a ser i saber. No només pel que fa a termes tècnics com el disseny i la codificació, també hi sumo totes aquelles habilitats necessàries per moure’s en diversos àmbits de la professió. En aquest post m’agradaria repassar-ne unes quantes. Tot i que escric pensant en el món de la computació l’enumerat a continuació és extrapolable a qualsevol professió o activitat.
Provar, provar, provar. Ho reconec, com ho haurien de reconèixer tots els implementadors de codi en algun moment. Sóc/Som uns pecadors. Tots hem pecat d’arrogància i/o de peresa. No testegem el suficient les nostres aplicacions, i després passa el que passa. Més que dedicar-li temps crec que es tracta de tenir un sistema. Proves unitàries + una proba global de la funcionalitat. Algun cop m’han tocat el crostó per dedicar-li massa temps a la fase de proves. Falta de seguretat en un mateix, o en les persones amb qui treballa. Trobar-li el punt just és una qüestió d’experiència i coneixement de l’estat programari que s’està desenvolupant.
Cuidar els detalls. Un plus que aportarà un major reconeixement al nostre treball. A mesura que he tractat amb persones de diferents sectors productius, he arribat a una conclusió sobre l’acabat del programari:
L’usuabilitat i la versatilitat de l’aplicació són clau. Com més senzilla sigui l’ús de l’aplicació, menys confusions i per tant, menys problemes es generaran. Per altra banda, en l’implementació d’un disseny sempre hi ha punts ambigus. L’especificació és insuficient i no podem estar preguntant cada cinc minuts al receptor del programari resultant. Per tant, podem optimitzar la funcionalitat oferint un set de configuració. Opcions per configurar el resultat a obtenir. Especialment útil per a informes i altres accions de retorn de dades similars. En aquest cas cal recordar no abusar-ne per no disparar els costos de manteniment.
Planificació, treballar amb temps. Per a la qualitat del nostre treball, i per la nostra qualitat de vida, hem d’aprendre com temporitzar les nostres tasques. Si estem treballant en un projectes amb entregues periòdiques, no podem deixar temes important per l’últim moment. Cau de madur. Hem refereix-ho més aviat a planificar la nostra feina, sabent assignar marges per imprevistos. Jo sempre procuro deixar un marge d’un dia abans de la instal·lació, un coixí suficient per fer front a imprevistos.
Realitzar un bon seguiment. La nostra feina és intangible. No oferim un resultat palpable, material. El programari millora la seva robustesa i funcionalitat, però al client li costa percebre-ho. No som davant seu treballant i no el fem partícip de l’evolució del projecte, de les correccions que realitzem i de les noves modificacions. En els primers anys de desenvolupament evitava el contacte amb el client tant com podia. Realitzar la feina i entregar-la. Si el procés es perllongava, creixia la desconfiança, s’acumulava, i si no arribava la solució, donava peu a les queixes i l‘enrabiada.
Poc a poc he anat descobrint, que compartint al client de l’evolució. Preguntant dubtes, posant-lo sobre avis de les millores que obtindrà i de la periodització del projecte, fent-lo veure que la seva opinió compta, reforça la seva confiança. Si pel que fos, les tasques s’allarguen o es posposen (per un motiu raonable), la seva aptitud acostuma a ser més flexible. Tot és més fàcil.
Saber dir que no. A la vida no tot és centra en la complaença del client, o del cap de projectes. Saber conjuntar les necessitats del client amb les possibilitats que l’aplicació pot oferir, sense vendre fum. En algun moment hem de tallar les sol·licituds – a vegades desmesurades- del client. Fer-nos respectar, demostrar caràcter. Evitar donar peu a una sensació de domini per part de la persona receptora del resultat del nostre treball, client o supervisor en l’organització. Quelcom difícil. Ser dur, però sense ofendre.
Habilitats a desenvolupar i polir. Descuidar alguns d’aquests aspectes m’ha costat temps, recursos i disgustos. Amb el temps i la practica es consolida el costum. Cimentar els punts descrits en el post és el camí per millorar i construir-se un perfil sòlid com a professional. Els clients aprecien tractar amb algú fiable i en qui puguin confiar, la consolidació dels tots aquest aspectes que complementen l’habilitat tècnica.