Skip to main content

Ralsina.Me — Roberto Alsina's website

Cómo me gano la vida (2017)

Intro

Este post es una con­tin­uación de Có­mo me gano la vi­da que ex­pli­ca co­mo me gan­a­ba la vi­da en 2009.

En el medio me la gané de otras dos man­eras dis­tin­tas, pero no en­tremos en de­talles, porque este post es so­bre có­mo me la gano aho­ra. Me parece in­tere­sante con­tar­lo porque hablan­do en even­tos con gente más joven o es­tu­di­antes, muchas ve­ces no tienen idea de co­mo fun­ciona una em­pre­sa de soft­ware. Y si vas a labu­rar en es­to, es­tá bueno saber­lo.

Antes que nada: mi tra­ba­jo ofi­cial­mente es "Soft­ware Ar­chi­tec­t" en On­ap­sis una em­pre­sa que hace soft­ware. Ex­ac­ta­mente qué soft­ware y cosas así las podés ver en la pági­na de la em­pre­sa, y hace ex­ac­ta­mente ningu­na difer­en­cia con re­spec­to a lo que voy a de­scribir.

¿Qué se supone que hace un "Software Architect"?

Un soft­ware ar­chi­tect es un ex­per­to en soft­ware que toma de­ci­siones de dis­eño de al­to niv­el y dic­ta stan­dards téc­ni­cos, in­cluyen­do stan­dards de código, her­ramien­tas y platafor­mas.

Gra­cias Wikipedi­a! Bueno, no es­tá mal co­mo de­scrip­ción de lo que ha­go en este mo­men­to. Si bi­en, seamos hon­estos, no es que uno tiene que de­cidir platafor­mas o her­ramien­tas to­dos los días, así que en re­al­i­dad mi tiem­po se llena de una man­era lig­er­a­mente dis­tin­ta.

Consultoría interna

Co­mo se supone que soy un ex­per­to (más al re­spec­to más ade­lante) soy una es­pecie de úl­ti­mo re­cur­so. Si te tra­bás mu­cho con al­go, rompé el vidrio y hablá con Rober­to. Para mí es una de las cosas más im­por­tantes. No soy un de­sar­rol­lador es­pec­tac­u­lar, pero he vis­to cosas y no me mo­les­ta que la gente me hable. En­tonces a ve­ces laburo de pati­to de go­ma, a ve­ces ten­go al­gu­na idea de por adonde en­car­ar­lo, a ve­ces googleo, y a ve­ces real­mente sé lo que me es­tán pre­gun­tan­do. Oca­sion­al­mente es­to ll­e­va a una sesión in­for­mal de Pair Pro­gram­ming o a que adopte el prob­le­ma co­mo pro­pi­o. Da­do que soy fini­to (en es­pa­cio y tiem­po, no de an­cho) es­ta úl­ti­ma op­ción no es­cala y se usa lo menos posi­ble.

Prototipado

La eta­pa más com­pli­ca­da de mu­chos proyec­tos es la primera se­m­ana. La primera se­m­ana es cuan­do con­vertís un re­po vacío en al­go que mues­tra in­di­cios de poder con­ver­tirse, con tran­spiración, en lo que nece­sitás. Nor­mal­mente in­volu­cra una can­ti­dad de "tan­teo" y de pen­sar con los de­dos bor­rar, tirar casi to­do lo que se es­cribe, pro­bar her­ramien­tas, etc.

Si te gus­tan esa clase de cosas, es muu­u­uy di­ver­tido. Si no te gus­ta, es hor­ri­ble. Y es una de las áreas en las que haber he­cho cosas pare­ci­das antes garpa. Por eso la ex­pe­ri­en­cia ayu­da.

Tooling

Es­cribir soft­ware es una cosa. Hac­er que se tes­tee au­tomáti­ca­mente, buildee, shipee, etc es otra muy dis­tin­ta. Para poder hac­er que tu pro­grami­ta llegue a los clientes nece­sitás hac­er to­do lo otro, y to­do eso se hace (gra­ciadió) con soft­ware que ya es­cribió otra gente. En­tonces nece­si­ta­mos ele­gir que soft­ware us­ar para to­das esas cosas cuan­do surge un re­quer­im­ien­to nue­vo. Y ahí prue­bo, opino, y par­ticipo de ele­girlo.

Capacitación

Cuan­do veo que los que tra­ba­jan con­mi­go no saben al­go que creo que les sería útil, hablo con Re­cur­sos Hu­manos y ar­mo un train­ing. Ten­go la enorme suerte de que la em­pre­sa en que tra­ba­jo dice siem­pre que sí a la ca­pac­itación!

Si sé so­bre el tema: doy un train­ing. Si no sé so­bre el tema y parece que nadie sabe, lo apren­do y doy un train­ing. Si no sé so­bre el tema, y otro sabe, le pi­do que dé un train­ing y voy al train­ing.

Aprender

Y acá voy a declarar en con­tra de mis pro­pios in­tere­ses. Se acuer­dan que al prin­ci­pio decía que un soft­ware ar­chi­tect es un "ex­per­to en soft­ware" ... bueno. Les ten­go bue­nas y malas noti­cias.

  • La mala noti­ci­a: no sé si ex­iste tal cosa.
  • La bue­na noti­ci­a: eso quiere de­cir que en una de esas vos sos un ex­per­to!

El chiste es que nadie es ex­per­to en to­do. Yo soy ex­per­to en al­gu­nas cosas. Pero no sabía na­da de co­mo hac­er lengua­jes. Ni de co­mo hac­er pa­que­tes De­bian. Ni un mil­lón de otras cosas. Y a ve­ces uno en el tra­ba­jo se cruza con cosas que sabe, pero el 70% del tiem­po se cruza con cosas que uno no sabe. O por lo menos, en las que uno sabe poco, o sabe de ver­las hace 5 años, o sabe lo que leyó en un blog el otro día. Uno puede ser ex­per­to en una cosa. O uno puede ser gen­er­al­ista. Pero no puede ser ex­per­to en to­do. Y un ar­qui­tec­to de soft­ware ... medio que sí? Re­cuer­den que la in­cum­ben­cia in­cluye "soft­ware", "her­ramien­tas", "prác­ti­cas­", "dis­eño" ...

La difer­en­cia que te hace un "ex­per­to" es co­mo salís. Cuan­do en­cuen­tro al­go que no sé, mi pro­ce­so es:

  • Es al­go que no sé, pero lo voy a ver to­das las se­m­anas?

En­tonces lo apren­do. Agar­ro un li­bro, o la doc­u­mentación, o lo que sea, y lo apren­do. Ten­go la ven­ta­ja enorme de que en mi tra­ba­jo me puedo hac­er tiem­po para es­to. Ten­er que hac­er­lo de­spués de ho­ra es de­salen­ta­dor. Apren­do lo su­fi­ciente co­mo para poder tomar de­ci­siones in­for­madass / ar­reglar­lo si se rompe / saber si es­tá ro­to.

  • Es al­go que no sé, lo voy a ver to­das las se­m­anas, y me in­tere­sa?

En­tonces lo voy a apren­der aún en mi tiem­po li­bre, porque me in­tere­sa. Y sí, de­spués de un tiem­po, voy a ser un ex­per­to en es­o. Nor­mal­mente ll­e­va a un train­ing. Y si me gus­ta mu­cho, ll­e­va a que es­cri­ba acá. O a que dé una con­fer­en­ci­a. Al­go va a salir.

  • Es al­go que no sé, pero lo voy a ver una vez al año?

Apren­do lo mín­i­mo in­dis­pens­able, y el año que viene ver­e­mos.

Hay muchas otras com­bi­na­ciones, co­mo "real­mente quiero apren­der es­o, no sería mejor que lo hiciera otro, ok, lis­to, hace­lo y es­cribime un re­porte", o "es al­go que veo que se hace to­dos los dias y quiero reem­plazar­lo con un scrip­t", pero no vienen tan­to al ca­so.

Conclusiones

En­ton­ces, re­sul­ta que la cosa que ayu­da, en este laburo, es ser cu­rioso. Ayu­da ab­sorber in­fo rápi­do, ayu­da ten­er ganas de pro­bar cosas y romper­las, ayu­da (mu­cho) que no te mo­leste hablar con gen­te, cosa que para mí tiene cier­ta his­to­ria con­flic­ti­va, ayu­da que te guste con­tar lo que es­tás ha­cien­do.

Y acá tienen, les es­toy con­tan­do lo que es­toy ha­cien­do.


Contents © 2000-2020 Roberto Alsina