¿Eres desarrollador? No te pagan por escribir código


No te pagan por escribir código. Ser un desarrollador de software es mucho más que simplemente escribir código. Con la ascenso de las startups, se ha consolidado una cultura de los denominados “soft skills” (habilidades blandas) en la industria del software y que ha venido para quedarse.

En primer lugar, necesitamos definir habilidades duras. Las habilidades duras son, principalmente, las habilidades técnicas de tu puesto de trabajo. Los desarrolladores de software deben saber cómo codificar, y eso es una habilidad difícil.

Por otro lado, las habilidades blandas son atributos relacionados principalmente con el área social. Cada habilidad blanda está relacionada de alguna manera con una de las habilidades duras de tu trabajo.

Estas son las habilidades blandas que debe tener un buen desarrollador de software:

  • Comunicación: la habilidad blanda más importante para un desarrollador. Tienes que saber cómo expresarte y tener buenas habilidades comunicativas para poder hablar con tu equipo y tus compañeros de manera efectiva, sin malentendidos, con asertividad y empatía.
  • Pensamiento crítico: en una revisión de código, esta es la habilidad que se busca. Cuestionarlo todo e ir tras las respuestas,
  • Adaptación: la tecnología cambia cada día. Nuevos frameworks, nuevos productos, nuevos compañeros en el equipo de desarrollo… ¡Todo es nuevo cíclicamente! Tienes que readaptarte estudiando nuevos lenguajes de programación, nuevas bibliotecas y estar siempre preparado para los cambios.

Entonces, ¿no me pagan por escribir código?

La respuesta es clara y meridiana. Definitivamente no. Se te paga para resolver problemas. Crear código es sólo la herramienta que utilizas para resolverlos.

En el mundo de la programación las habilidades blandas se están volviendo cada día más importantes. Como desarrollador de software, es muy importante entender a fondo lo que estás programando, qué software voy a entregar y dónde reside la propuesta de valor del producto en forma de código que estás escribiendo.

En el desarrollo de software, lo normal es que te contraten para resolver un problema empresarial usando tu experiencia. Los problemas empresariales son problemas de producto. La única responsabilidad del producto es aportar valor a los procesos empresariales, al igual que cada hora de tu trabajo.

Ahora bien, ¿cómo identificar los problemas empresariales?

Resolver problemas es fácil…

Resolver problemas es fácil. Encontrar los problemas, los reales, los que hay que atajar, eso es lo difícil. Para ser más precisos, encontrar en qué lugares podemos generar valor es realmente complicado. Y esto puede parecer que no está realmente relacionado con ninguna “habilidad suave” ya que tiene aparentemente nada que ver con otros seres humanos, sino que en principio tiene que ver únicamente con el diseño y el desarrollo de los productos de software que generan valor.

Pero en realidad el diseño y el desarrollo de un producto de software no se puede crear de espaldas a las personas/usuarios/clientes cuyo problema quieres solucionar…¿qué sentido tiene eso? Ninguno.

Muchas veces como desarrolladores nos centramos en el código, en el producto, y no le prestamos suficiente atención a cómo hacer el software que quieren nuestros clientes. Nos encerramos a escribir código, a crear módulos y funcionalidades para todo y para todos. Ese camino te lleva directamente al desastre empresarial con un retorno de la inversión bajísimo.

Lo más importante es entender a la perfección las necesidades de los clientes y filtrar esa información para ofrecerles la funcionalidad que necesitan con el mínimo código. ¿Por qué? Porque si tienes un módulo que cubre el 80% de lo que necesitan tus clientes ganarás en rentabilidad. ¿Si te piden una funcionalidad no estándar? Pues le pasas un buen presupuesto con una tarifa de mantenimiento elevada para disuadirles. Decir que no en forma de presupuesto al fin y al cabo también es decir que no.

¿Cómo centrarme en el cliente?

Además de querer centrarte en los clientes para entender perfectamente sus necesidades y poder ofrecerles la máxima funcionalidad que necesitan (que en la mayoría de los casos no tiene nada que ver con lo que te piden) con el mínimo código, tienes que poder hacerlo.

Si tu objetivo es aportar valor y tener un retorno de la inversión alto, la mejor estrategia es apostar por un segmento de mercado muy concreto, idear un software vertical para dicho segmento, y reutilizar código y módulos que resuelva la problemática de dicho nicho escogido mejor que ningún otro. Eso es solucionar problemas, y así aportas valor a una problemática empresarial sin apenas competencia.

Por ejemplo, puedes hacer programar un CRM más, una de esas agendas mastodónticas a modo de base de datos de clientes, o puedes crear un CRM especializado en una problemática específica que ayude a los equipos comerciales a cumplir sus objetivos de venta. ¿Qué software aporta más valor a una problemática empresarial concreta? La respuesta es evidente.

Apuesta por tecnología que te permita poner el foco en el cliente

Para poder centrarte en el cliente para aportar valor a un problemática empresarial concreta y obtener un alto retorno de la inversión, además de apostar por un vertical y reutilizar código, también necesitas una tecnología que te permita centrarte en cliente.

Aquí la clave reside en apostar por plataformas de desarrollo especializadas en el tipo de software de desarrollo que haces. Si programas vídeojuegos en C# y .NET  serás mucho menos rentable que si utilizas una plataforma específicamente diseñada para ello como Unity.

Si diseñas aplicaciones empresariales y software para la gestión de datos, puedes optar también por arrancar tu proyecto en cualquier tecnología generalista o multi-propósito, He visto productos de software muy buenos hechos en tecnologías que lo mismo sirven para programar web que programar aplicaciones de contabilidad. Otra cosa es el ROI de esos productos. Y no solo a la hora de programarlo, sino a la hora de mantenerlo. Una buena pregunta aquí es plantearse cómo presupuestar tu software.

Entonces, si no me pagan por programar código, ¿por qué me pagan?

Te pagan por solucionar problemas, normalmente de naturaleza empresarial.

Te pagan por refinar destrezas blandas que no están directamente relacionadas con solo escribir código, pero que sí afectan a tus desarrollos y a tu forma de trabajar con tu equipo y con tus clientes.

Te pagan por saber identificar aquellos problemas que sí son importantes para tu cliente aunque él no lo sepa.

Te pagan por desarrollar software que cubra el 80% de la funcionalidad que necesita tu cliente con el mínimo código posible.

Te pagan por saber escribir código y crear módulos reutilizables para una solución vertical que aporte mucho valor al usuario.

Y finalmente, te pagan por saber elegir qué tecnología tienes que utilizar en tus proyectos para obtener el máximo retorno de la inversión posible.

Los malos desarrolladores salen caros. No seas uno de ellos.

Este artículo ¿Eres desarrollador? No te pagan por escribir código es original de Velneo.