home
dark | light

Un desarrollador de 20 millones mensuales

Por Yuji Kiriki

Recibí la llamada de una amiga con la que hace años no hablaba. Con ella trabajamos en un proyecto big bang en el que debíamos automatizar cerca de 30 procesos de negocio hace ya más de 7 años.

Después de ponernos al día, le pregunté el motivo de su llamada. Me dijo que quería saber si ella me podría poner en su hoja de vida como referencia profesional, a lo que respondí afirmativamente. Luego le pregunté si estaba escribiendo software en algún proyecto. Me sorprendió notar un fuerte cambio de tono, casi de indignación e ira; me respondió: “Yo ya no escribo código. Hace mucho que ya no hago eso. Yo ya soy administrativa y estoy Gerenciando proyectos.”

Por otro lado me encontré con un compañero de la universidad. El recién se bajaba de su BMW (no creo que esto indique algo, pero quédense con la connotación esnobista del BMW para efectos de esta entrada). Hablamos, nos reímos y le pregunté a qué se había dedicado. Me respondió con orgullo “nada, usted sabe que a mi me gustaba mucho la parte técnica y era hasta bueno, pero me ofrecieron un cargo Comercial super bien remunerado y ando vendiendo el X producto de esta Y empresa Multinacional Super Reconocida.”.

Esta situación es muy curiosa. En mi trabajo me enfrento a muchísimos proyectos en clientes de varios dominios. A medida que pasa el tiempo me doy cuenta de que las organizaciones esperan más de las plataformas que desarrollamos. Es de esperarse, pues a medida que pasa el tiempo las personas del común van conociendo e interactuando con aplicaciones en línea que cada vez les ofrecen más comodidades, mayores facilidades u optimizaciones en la operación de sus negocios y su vida personal.

Por ejemplo cada vez es más común que nos pidan desarrollos con la disponibilidad de Facebook o con la simpleza y capacidad de respuesta Google. Inclusive nos han pedido colas de trabajo basadas en el comportamiento de Twitter. Es un hecho que los usuarios de las plataformas empresariales ya no son los que otrora se conformaban con lo que se les entregaba y eran completamente ignorantes del potencial de las TI.

Estos mismos usuarios son los que hoy en día se inventan requerimientos funcionales cada vez más interesantes. Y no sólo hablo de la experiencia de usuario, sino de reglas de negocio basadas en la evaluación de miles de eventos; o la detección de fraude en tiempo cercano al real; pueden ser reglas de negocio que se adapten al flujo de transacciones o que se autogeneren dadas ciertas condiciones de negocio. Sobra decir que estos desarrollos representan retos técnicos considerables.

Si el implementador es capaz de entregar este tipo de funcionalidad, el negocio será seguramente capaz de optimizar su costo de operación o de ofrecer servicios más interesantes a sus clientes. Muy seguramente este tipo de funcionalidad le permitirá a la organización diferenciarse frente a su competencia y posicionarse de mejor manera en el mercado. Posiblemente este conjunto de funcionalidades le permita a la organización abrir nuevos mercados o ganar terreno en el actual.

Ahora pregunto: ¿cuánto está dispuesta a pagar la organización por estas funcionalidades? ¿Le importaría que estas funcionalidades de negocio las desarrolle un joven recién graduado, que devenga al mes menos de $2’500.000 y que debe trabajar más de 12 horas al día, incluyendo sábados, para poder cumplir con un cronograma que definió un Gerente de Proyectos PMI y que acortó un VP por política y por mostrar resultados?

No sé en qué momento en Colombia ser desarrollador se volvió un trabajo, al parecer, de segunda clase. No sé en qué momento seguir siendo desarrollador se volvió sinónimo de no haber avanzado profesionalmente. Me sorprende que esto ocurra en el país si en países desarrollados este oficio es de los mejor pagados1 o es considerado como uno de los mejores trabajos a realizar profesionalmente2 debido a la autonomía, bienestar y salario que representan.

Es triste, pero no es raro ver las famosas y mal llamadas Fábricas de Software repletas de inexpertos e ignorantes3 desarrolladores trasnochando de domingo a domingo entregando software hecho de la peor manera por cansancio, siguiendo metodologías rancias (RUP, TSP, PSP, ¿alguien?) y cumpliendo cronogramas políticos. No es raro que me llamen a prestar servicios de consultoría en proyectos donde el Arquitecto no tiene idea de desarrollo de software, pero sí de productos; lo que los lleva a implementar plataformas inviables.

¿Lo más triste de todo? Que estas plataformas supuestamente prestarán servicios a los ciudadanos o en teoría deberían optimizar la operación de una organización para ayudarla a cumplir con sus objetivos estratégicos.

Ah, la estrategia. Estos, podríamos decir, nuevos ricos llamados “Arquitectos Empresariales” que al ser tan “estratégicos” no tienen idea de software ni de tecnología pues saber de eso los ensucia o los avergüenza y terminan comprando productos porque están de moda o porque la competencia también los adquirió. Ríanse los documentos de justificación que se jalan estos personajes.

¿O qué me dicen de algunos Arquitectos que definen Arquitecturas de Solución pero que son incapaces de implementarlas, pues desarrollar software es una labor demasiado operativa y vulgar que debe ser tercerizada en alguna Fábrica de Software en India para que le cobren por hora hombre o punto de función (sólo nombrarlo da ganas de vomitar) y no por valor de negocio entregado?

Es un hecho que las plataformas de software son mecanismos a través de las cuales las organizaciones pueden innovar y pueden apalancar los objetivos estratégicos. Pero si estas plataformas son implementadas por personas sin experiencia o por personas mal valoradas ¿cuáles serán los resultados? ¿Será que esos resultados les alcanzarán a las empresas para lograr la innovación y el apalancamiento de la estrategia que buscan?

Es vital que nuestra industria empiece a entender que construir requerimientos funcionales no es lo mismo que echar cemento y pegar ladrillos (no es peyorativo, sólo quiero dar la connotación de que no es un oficio operativo). Es fundamental que nos saquemos de la cabeza que los desarrolladores son “recursos4” intercambiables y explotables y que uno es capaz de hacer lo mismo que el otro.

La industria tiene que caer en cuenta que este oficio es profundamente artesanal y que el resultado de un proyecto depende casi en su totalidad de los artesanos que lo construyen. Entre mejor sea el artesano mejor será el producto. Si no me creen que es artesanal, métanse a Github5 comparen proyectos y saquen sus conclusiones.

Por nuestra parte, como desarrolladores debemos empezar por respetar nuestro oficio estudiando, leyendo, compartiendo y publicando conocimiento. Debemos formarnos en la capacidad de escuchar, de entender y de proponer. Debemos volvernos diestros en entender una idea de negocio y de presentar la mejor alternativa técnica para llevarla a cabo.

Nosotros como desarrolladores somos el puente entre las ideas, las estrategias y su implementación en TI. También debemos esforzarnos por proponer ideas que abran nuevos mercados o que faciliten la penetración de los productos y servicios actuales. Recuerden Software Is Eating The World6.

Como buenos desarrolladores debemos hacer valorar nuestro trabajo y explicarle a nuestros clientes que no es lo mismo un desarrollador juicioso con experiencia de 2 años que un desarrollador juicioso con 10 años de experiencia.

Imagínense: es como si compararan un experto en preparación de sushi con 2 años de experiencia con un experto en preparación de sushi con 10 años de experiencia. ¿Cuál pieza de sushi será más valorada suponiendo que ambos han invertido el mismo esfuerzo en ser cada día mejores?7

Pienso que el tiempo nos dará la razón, pues a medida que las organizaciones dependan más de las plataformas de software, más valiosos deberán ser quienes las implementan. No es lo mismo implementar una aplicación que funciona a una que también funciona y que además es fácil de mantener y evolucionar. ¿Creen que la mantenibilidad de una aplicación depende completamente de la Arquitectura de Referencia o de un generador de código basado en modelos? Pues no mi querido Arquitecto PowerPoint. No. Si los desarrolladores ven que si siguen en este oficio no van a avanzar profesionalmente porque ni la industria ni nuestros clientes los valoran por su experiencia ¿con qué tipo de desarrolladores se implementarán las retantes y poderosas plataformas de software necesarias en el futuro? ¿Con personas que no se han dedicado a ser maestros en su oficio y dirigidas por Arquitectos con asco a programar?

Para cerrar quisiera que me dijeran cómo se imaginan un desarrollador que devenga veinte millones de pesos mensuales. ¿Qué debería estar haciendo? ¿Qué experiencia debe tener? ¿Es demasiado irreal que en Colombia lleguemos a ese nivel?

¡Espero sus opiniones!

Referencias

  1. http://www.forbes.com/sites/jacquelynsmith/2012/12/06/the-top-jobs-for-2013/
  2. http://www.forbes.com/pictures/efkk45mkkh/top-10-jobs-for-2013/
  3. http://lema.rae.es/drae/?val=ignorante
  4. En serio, es demasiado ofensivo.
  5. https://github.com/
  6. http://online.wsj.com/article/SB10001424053111903480904576512250915629460.html
  7. http://www.imdb.com/title/tt1772925/

rss | pgp | keybase | mastodon | twitter | linkedin