Paradoxa de la comprensió del programador informàtic

Fa uns anys escrivia sobre els programadors informàtics, que és al que em dedico professionalment. En aquella ocasió parlava més aviat del dia a dia des del punt de vista tècnic. És a dir, què som i amb què treballem o els nostres mètodes de comunicació amb les màquines. Avui, però, parlo de la paradoxa de la comprensió del programador informàtic, i que crec que té molt a veure amb aquell tòpic que som gent rara. Quan un programador comença a treballar no és que sigui rar (a vegades sí...), però després de molts anys exercint-ho, crec que finalment a ulls de la societat s’hi torna. Tanmateix, s’hi torna per culpa d’aquesta mateixa. I això, naturalment, transcendeix a l’esfera privada i sovint es converteix en un mal viure.

Anem a pams. Generalment, a un programador se li encarrega una tasca. És a dir, un interlocutor (dic interlocutor perquè pot ser un client, un responsable de projecte, un consultor, un amic...) vol que una màquina faci una cosa i algú li ha de dir a la màquina que ho faci. Aquesta és una primera lluita amb la que convivim els programadors i aprofito l’avinentesa per parlar-ne. Semblarà una cosa molt òbvia però generalment poca gent ho té en compte. Una màquina, per regla general, no interpreta, sinó que simplement executa. Per posar un exemple molt fàcil, l’interlocutor pot dir: «vull que la màquina faci una factura». El programador, no per fer la guitza, demanarà, «com ha de ser aquesta factura?». I l’interlocutor és fàcil que digui —quasi ofès— que la factura ha de ser com una factura, o en el millor dels casos te’n donarà alguns detalls o et facilitarà un exemple. Cas que sigui el primer cas, us animo a que mireu una factura de la llum i la compareu amb dues de dos establiments de diversa índole. Tot són factures, i són completament diferents, més enllà que hi ha un número, un client, uns conceptes i uns imports. 

Amb això arribem a una primera conclusió, que no és altra que generalment, i quasi diria que de manera extrapolable a la vida, la gent no sap el que vol, sinó que més o menys sap el que no vol. Però, és clar, traient de l’equació el que un no vol, les possibilitats són infinites, mentre que les d’encertar-la són escasses i cal anar refinant les coses per arribar a la segona conclusió, derivada de la primera: l’interlocutor sap el que vol quan ho veu, però per regla general no té capacitat d’expressar-ho abans. Això, com us podeu imaginar, és un maldecap majúscul ja que les possibilitats de satisfer a un interlocutor es veuen molt reduïdes. I, no us vulgueu trobar en un espiral d’esforços que no satisfan a un interlocutor perquè la frustració és enorme.

Arribats al punt que fem la factura i visualment li sembla bé, generalment es passa a la fase de coses que no es veuen i que la factura hauria de fer o tenir. Això es resumeix en preguntes de l’estil: «ah, però la factura no estableix/calcula x?» (on x, per exemple, podria ser la comissió d’un treballador). I aquí és on recupero el fil que la màquina no interpreta, sinó que executa i que molta gent no ho té present. Si la màquina fa una cosa, és perquè algú li ha donat la instrucció perquè ho faci. Si la màquina no fa una cosa, és perquè ningú li ha donat la instrucció perquè ho faci. Així doncs, qualsevol cosa que es vulgui que la màquina faci, algú li ha de dir explícitament. Així doncs, el «vull que la màquina faci una factura» s’ha de traduir en un conjunt d’instruccions que, naturalment, el programador de torn les hem de conèixer detalladament i només les podem conèixer si l’interlocutor ens les facilita.

Amb el temps, però, i si coneixes una mica l’interlocutor, aprens a traduir el que et demana i et diu, i això també és un esforç que desgasta molt. Quan dic traduir vull dir que l’interlocutor et continua dient que vol una factura, però si tu coneixes tota la idiosincràsia de la seva organització, podràs afinar. Amb això arribo a una de les dues variants de la paradoxa. Aquesta alta capacitat que hem de tenir per comprendre, en pràcticament cap cas el que ens diuen, sinó el que realment ens volen dir. I, per posar-vos un exemple recent, no fa gaires dies li comentava a una interlocutora que entenia el que em deia, i que entenia el que realment em volia dir. Li argüia que si volia li faria el que em demanava però que ho hauríem de repetir. En canvi, si fèiem precisament el que em deia que no volia, aleshores sí seria realment el que volia dir (i no deia/expressava).

Aquests casos diguem que encara són els fàcils i podem escatir el que un interlocutor vol, però els que ja són extremadament complicats són els de l’estil que et diuen una afirmació rotunda que en principi no ofereix cap dubte. Uns exemples recents que canvio el vocabulari per fer-ho més entenedor però que el sentit és, encara que sembli impossible i inversemblant, exactament el mateix: «necessito que em dibuixis un quadrat». I després de dibuixar un quadrat, dir que no és correcte perquè el que necessitaven era que dibuixessis una rodona. Un altre: “aquí necessito la data”. Anticipant-me al problema, demano si necessiten data, o data i hora (perquè la màquina és tonta i no interpreta, se li ha de dir tot de manera explícita). L’interlocutor respon que la data, i la data se li ofereix. Passats uns dies, demana un parell més de modificacions: indicar l’hora, i x, i per fer la petició et demana literalment indicar la data i x. Així doncs? Demanes una cosa que ja tens, o demanes el que demanes sense demanar-ho? Tot plegat ens porta al fet de dubtar de qualsevol afirmació per simple i rotunda que sembli, és a dir, a la segona variant de la paradoxa.

Em podeu ben creure que d'aquestes experiències en podria escriure un llibre.

El pitjor de tot és que això ens acaba afectant i transcendint en l’àmbit privat. Som capaços d’entendre el que ens volen dir dient-nos una cosa totalment contrària però també podem ser incapaços d’entendre una simple frase. El motiu és senzill: tenim l’experiència que dir no es sinònim de voler dir, i no estem quasi mai segurs que el que ens diuen és el que ens volen dir. I, creieu-me, això és un calvari per un mateix (frustra molt no entendre què et diuen o volen dir), però també ho és per la gent que t’envolta. Ja sigui perquè es pensen que els fas la punyeta fent preguntes que els semblen òbvies (una factura és una factura), o perquè per no ofendre acabes no preguntant i erres en l’execució.

Per acabar i com en l’entrada del 2013 referent als programadors, no em puc estar de tornar a reproduir una imatge que exemplifica a la perfecció bona part del que dic:

Pels que no ho entenguin, us ho tradueixo. La visió del programador és que li demanen ous. Quants? Doncs és una simple operació matemàtica en funció d’una variable:

Ous = 6

Si patates > 0, llavors ous = 9

En canvi, la versió de la parella és que li portin ous, i si hi ha patates, que n’hi portin conjuntament amb més ous:

Ous = 6

Si patates > 0, llavors ous = 9 i patates (1, 2, 3? 1 Kg?... no ho sabem però en qualsevol cas, > 0).

Així doncs, quan us topeu amb un programador, emfatitzeu, si us plau. Som rars, però la societat ens ha convertit així. I, generalment, no ens agrada fer la guitza, sinó que només intentem entendre-us.


Comentaris