Noticia visitada 5.355 veces
Autor: Roberto Canales Mora

11/01/2013

¿Qué es aportar valor como técnico/programador?

Roberto para noticias.

Estoy harto de escuchar que ser programador no está bien valorado en España pero ¿qué es ser programador? Es una palabra que deberíamos dejar de utilizar. Programador es tanto el que ha hecho un curso de 2 semanas de programación en Basic como el que se ha tirado 15 años estudiando sin parar. Hará falta algún modificador al termino, ¡por lo menos!. Me gusta más el concepto de artesano de taller, maestros de taller y aprendices (donde hay gente que nunca llega a maestro)

Os lo voy a responder de un modo distinto, o cómo yo percibo que una persona aporta valor en una empresa.

Como empresario de una empresa atípica (visión puramente personal que no tiene que coincidir exactamente con otros socios de la empresa), donde no hay gestores como tal, una persona me aporta valor cuando (lo he pensado sólo un rato.. seguro que no es sólo esto):

  1. Me descarga de trabajo.
  2. Desempeña correctamente su labor técnica.
  3. Me hace sentir tranquilo.
  4. Me ayuda a conservar los clientes y/o a captar más.
  5. Genera un ambiente agradable a su alrededor.


Vayamos por orden:

1 Me descarga de trabajo.
------------------------
Un empresario tiene un problema fundamental: la incertidumbre, sobre todo en la época actual. Según definía Pascual Montañes en el libro Inteligencia Política (yo lo tuve de profesor en el Instituto de Empresa en un Executive-MBA), la función principal de un director general es crear ventajas competitivas sostenibles en el tiempo. Por tanto, tengo que dedicar el tiempo a pensar que habilidades tenemos que adquirir como empresa y cómo hacemos para promocionarlo del mejor modo (Según Kotler la función principal de una empresa es innovación y promoción). 

Como en mi empresa no hay comerciales, yo estoy haciendo labores auxiliares (marketing, legal, financiero, formación, coaching, auditorías, charlas, etc.) hasta que llegue un potencial cliente y me llame para solicitar un presupuesto.

En ese caso, yo le voy a ver inmediatamente, me entero de lo que quiere, lo modelo en base a historias, escribo un documento, se lo cuento a un senior que tiene que, con algún compañero suyo valorarlo. Yo no puedo valorarlo porque son ellos los que se lo van a "comer" después.

No tiene sentido que yo siga haciendo de intermediario entre el senior y el cliente para concretar puntos específicos. El senior, debe ser suficientemente maduro para mantener una buena conversación con el cliente (incluso un aspecto socialmente aceptable), animarle a que lo haga con nosotros, acotar las expectativas y los riesgos y hacer un modelo de solución y una estimación válida. Luego, yo lo reviso (y normalmente la subo en vez de bajarla porque se dejan cosas) y hablo de dinero y condiciones particulares con el cliente.

Por tanto, si un técnico no sabe modelar rápidamente un proyecto, trabajar en equipo con sus compañeros para hacer una estimación a la que se comprometan, transmitir confianza al cliente… pues tenemos un problema porque no me descarga de trabajo.


2 Desempeña correctamente su labor técnica
------------------------------------------
Algunas ofertas nos las asignan y otras no. Si nos la asignan, el senior deberá empezar el proyecto. El senior sabe más que los júniors técnicamente.

Empezar el proyecto significa:

  • Montar el entorno de gestión de la configuración (si no está): Integración continua, repositorio, métricas de calidad, etc.
  • Montar el entorno de desarrollo (incluso de pre y producción).
  • Instruir al cliente en metodologías ágiles, para que se acostumbren a la dinámica de trabajo.
  • Darle acceso a la herramienta de gestión (Scrum y docs compartidos)
  • Crear el esqueleto del proyecto con los frameworks elegidos (SSO, sistema de permisos, transacción modelo, etc). Normalmente hay muchas piezas (aparte del servidor de aplicaciones y la base de datos) y casi siempre un motor de búsqueda como Solr, un almacén documentar como Alfresco, un motor de informes y un LDAP.
  • Construir las primeras historias funcionales y guiar el Sprint.


Pasados unos días, meter a rueda a uno o varios júniors que trabajarán en el proyecto y que sabrán un poco de cada cosa. Alguno puede saber más incluso técnicamente que el senior por su experiencia en otros proyectos en piezas concretas.
Es posible que el proyecto tenga algunas características especiales que requiera que otra persona, que ya sabe (sea senior o junior) ayude puntualmente.
El senior, una vez canalizado el proyecto puede bajar su ocupación y ayudar en ofertas, dar cursos de formación o ayudar por su especialización o experiencia en otro proyecto.

Durante años los socios nos hemos preocupado y establecidos objetivos para que los senior adquieran estas habilidades, no sin mucho trabajo y esfuerzo de ellos. ¡Nos costó 7 años!

Por tanto, un senior tiene que saber arrancar un proyecto, formar al cliente, formar a sus compañeros, ser humilde para pedir ayuda a otros que sepan más (no enrocarse) y no agobiarse por cambiar de proyecto/contexto periódicamente.

Si como técnico no conoce las piezas comunes, no se comunica eficazmente con el cliente, no sabe trabajar en equipo y cambiar de contexto, no será tan senior.

Los júniors tienen que obviamente saber programar: conocer el lenguaje, técnicas de desarrollo, de orientación a objetos, patrones (de asignación de responsabilidad, diseño, JEE, refactorización.. que son distintas familias) discutir con sus compañeros con diagramas (como UML), modelar base de datos, librerías comunes y frameworks, etc.

Pero es igual de importante acatar la disciplina colectiva de desarrollo (tdd, repositorios, agilismo, etc.) y promoverla con las demás partes. Deberán trabajar en equipo (propiedad colectiva del código, no romper la build), responsabilizarse de la calidad de lo que hacen y pedir ayuda si se bloquean. Tendrán que adquirir las habilidades requeridas a medida que avanza el proyecto porque de todo no se puede saber. Tendrán que aprender a no frustrarse por no saber de todo en profundidad porque en cada proyecto aparecen nuevas piezas o versiones nuevas de existentes. También tendrán que procurar entender el negocio que les ocupa y proporcionar valor. Deberán probar bien lo que hacen porque el cliente paga porque se lo hagan bien a la primera, no por arreglárselo después.

Si un junior va a su aire no entrando en la disciplina colectiva, crea parcelas en los proyectos para no trabajar con compañeros, sólo quiere trabajar en lo que le gusta, intenta enchufar siempre lo último que sale (por satisfacción personal), es errático en el producto entregado o no es capaz de auto-formarse y no frustrarse en la inmensidad del conocimiento, tenemos un problema.

Los junior tiene que empezar a convertirse en seniors y lo lógico es contratar gente más junior todavía que los usen de referentes. Si no expones al junior a riesgos no podrá crecer. Los socios tendremos que invertir tiempo con estos junior para que crezcan mientras los senior producen. Si la pirámide creciera los senior se tendría que mover a esta labor de "coaching" o desarrollo interno.

No todos podrán ser "maestros de taller" y se quedarán siempre como "júniors" con habilidades técnicas avanzadas, con valor parcial.


3- Me hace sentir tranquilo:
----------------------------
Los proyectos no siempre son ideales:

  • Hay veces que hay muchas partes involucradas con distintos niveles formativos.
  • Hay cliente realmente difíciles que entorpecen más que aportan.
  • Algunos proyectos técnicamente son pésimos y nos llaman para rescatarlos, lo que provoca una gran desmotivacion para un técnico auto-exigente.
  • Nos podemos haber equivocado a la hora de estimar las tareas.
  • También podemos tener personal descentrado por situaciones personales (yo el primero).
  • Los seres humanos no siempre congeniamos..

Es decir, el escenario puede ser complejo.
 
Si una persona, al primer conato de conflicto, me avisa, puedo hacer de coacher y tratar de ayudarle a guiar la situación externa o interna.
El carácter de las personas es muy distinto y hay gente que al primer roce te lo comunica y otra que, se lo caya y, hasta que no estalla (que ya es irremediable) no te enteras. Todos los empleados tienen la obligación de mandar un informe antes de irse el vienes para indicar como se encuentra el proyecto en el que trabajan y como se encuentran ellos personalmente.

Si una persona no percibe la necesidad de comunicar y advertir riesgos, no me hace sentir tranquilo. Si no tiene templanza para manejar las situaciones tensas, tampoco.

Aportarán más valor aquellos técnicos que no esperan a que las situaciones se crispen.


4 - Me ayuda a conservar a los clientes y/o ayuda a captar más:
-----------------------------------------------------------------------------

Un cliente cuesta mucho hacerlo y muy poco perderlo. El roce hace el cariño y es fundamenta compartir tiempo con los clientes estando el máximo de tiempo en sus oficinas respirando su ambiente (que no siempre es el mejor), llamarles por teléfono en vez de escribirles correos, etc.

Si un técnico está deseando salir del cliente, porque en la oficina se encuentra más cómodo, posiblemente favorezca que se pierda ese cliente.

Un técnico tiene que aprender a hacer pre-venta en post-venta. Esto es, intentar dar continuidad a su trabajo en el cliente. Como en nuestra empresa no hay "gerentes" o esta labor la hacen los técnicos o no la hace nadie.

Siempre se pueden sugerir mejoras técnicas y funcionales, eso sí. siempre y cuando se tenga la pre-disposición y los conocimientos. Los senior tendrán más capacidad de abrir más posibles escenarios de colaboración pero los junior también lo pueden/deben hacer.

Si los técnicos sólo piensan en que les concreten su labor, hacerla y marcharse al siguiente trabajo, están restando potencial valor a su tiempo (en una orientación de toda la compañía a cliente).

Los programadores con relevancia en sus comunidades y redes sociales también aportan valor a las organizaciones porque pueden captar la atención de potenciales clientes. Un buen técnico reconocido en la comunidad es mejor activo que uno que sólo es conocido en su empresa.

5 - Genera un ambiente de trabajo agradable a su alrededor.
-----------------------------------------------------------
La gente, si está cómoda y feliz en su trabajo, con un salario digno, tiene casi todo lo que necesita. El dinero se convierte en un factor fundamental cuando "no llegas a final de mes" o no eres feliz en tu día a día.

Un técnico alegre, entusiasta, etc., a parecido nivel técnico, aporta más valor que uno que no lo es. Así de fácil. En cualquier profesión intelectual el rendimiento va claramente vinculado a la motivación. Quien ayuda a que la motivación sea más alta, tiene mucho ganado.


Conclusiones
------------

Creéis que la actitud: déjame en un sólo proyecto, donde lo sepa todo, en proyectos pequeños, empezados de cero, donde demuestre mi heroicidad y con lo que me apetece… ¿proporciona "tanto valor" respecto al compendio de habilidades/comportamientos en contexto enumerados?

Estas habilidades requieren de muchos años de trabajo en equipo y con el objetivo claro. Que una persona sólo las tenga "a su gusto" aporta poco valor colectivo y de homogeneidad de servicio: es que un proyecto requiere de mucha gente.

Cualquier "técnico avanzado", con la inmensidad de conocimiento que hay en internet, es capaz de resolver en 95% de los problemas técnicos "atómicos" del día a día. Otra cosa es que lo resuelva rápidamente, del mejor modo, elegantemente o sabiendo las consecuencias colaterales… pero lo resuelve.

Si que es verdad que hay excepciones a esto que cuento del valor.. con técnicos en productos específicos, sin tantas habilidades, donde pueden ser muy valorados y pagados, sobre todo cuando el conocimiento es cautivo y no encuentras por internet manuales ni puedes instalar las herramientas:
- Gestores de contenidos, herramientas de portal, BPM, ERPs, etc.

Esta demostrado que el 80% de los conductores se consideran mejores que la media, que el 80% de la gente se cree más listo que la media, que el 80% de los programadores se creen mejores profesionales que la media… Hasta que no mires el problema desde el punto de vista de la demanda (ver: ModelaTuMercado) no te irá bien en un sector.

Bueno, como siempre me enrollo en los post, sólo dejo una pregunta al aire ¿de verdad crees que tus criterios de lo que es ser un buen programador corresponden con lo que las empresas necesitan y desean?

Por cierto, no tengo por qué llevar razón ni tienes por qué compartir mis ideas aunque creo el sector sería otro si encontramos a mucha gente que comparta este camino de artesanos y desarrollen las habilidades enumeradas. Repito: el sector, sería otro. A las personas con estas habilidades, si las lucen adecuadamente, les irá siempre bien (de nuevo .. innovación y promoción).

Enlaces relacionados

Saber más de @rcanalesmora ...

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre esta NOTICIA:

Fecha de publicación: 2013-01-23-09:28:36

Autor: jcarmonal

Desde mi punto de vista, el sector informático está demasiado desunido, es una profesión demasiado nueva, y eso genera que, de cara al mercado, no sabemos, realmente, cual es nuestra profesión. En Madrid tenemos ya colegio oficial, y puede ser interesante seguir sus pasos, evoluciones, y cooperar con ellos, que, al menos, se han dignado a tener la iniciativa. Un saludo

Fecha de publicación: 2013-01-18-20:44:01

Autor: Genjuro

Por suerte ante la ambiguedad de criterios siempre se puede recurrir a la wikipedia para en este caso saber qué es un programador: http://es.wikipedia.org/wiki/Programador Otra cosa es que un empresario quiera contratar arquitectos a precio de programadores seniors y para ello se atreva a realizar increíbles modificaciones semánticas.

Fecha de publicación: 2013-01-18-15:17:19

Autor: rcanales

Genjuro, mira la definición de Digno: http://buscon.rae.es/drae/srv/search?id=JHgkebSyuDXX231hZfoV

Fecha de publicación: 2013-01-17-09:42:36

Autor: rcanales

Entre un "becario" y el gurú del universo hay una inmensa gama de grises. El problema creo que esta que los técnicos (que yo también lo he sido) no tratamos de empatizar con las necesidades del mercado. Ahora que soy empresario, trato de ayudar a transmitir una visión más amplia que obviamente puede no gustar a mucha gente... No le gustará a los conformista/comodones (que creen que sólo tienen que formarse si su empresa les da un curso), tampoco a los gestores intermedios (porque estoy diciendo que a mi me sobran gestores puros), ni a las empresas de carnaza (que venden horas de personal no cualificado disueltos en equipos grandes), ni a los programadores adormecidos de estas empresas sin ambición y sin ganas de luchar para salir de la rueda en la que están metidos. Para algunos que creen que pueden cambiar su estatus y su sector puede ser un mapa de ruta de como convertirse en lideres técnicos. Por cierto, yo no uso la palabra programador a la hora de hablar de senior o junior... hablaría de profesional. También podría decir que el senior es el maestro de taller y el junior el aprendiz, independientemente de los años que lleven trabajando porque es cuestión de desarrollo de habilidades no de años repitiendo las mismas.

Fecha de publicación: 2013-01-16-23:32:49

Autor: oyepez003

Creo que todos los puntos que el Sr Roberto indica son muy validos a referirse a un lider tecnico (Que es socio del negocio jejejeje) no a un programador. Quizas se hubiese enfocado desde otro punto de vista el articulo no se hubiese escuchado tan capitalista o quizas esta no era la seccion para postearlo, donde hay tantos programadores consultando a diario esta pagina.

Fecha de publicación: 2013-01-15-16:32:25

Autor: Genjuro

En primer lugar, la definición que aquí se da de programador senior no es correcta pues lo que realmente se está describiendo es a un arquitecto. Un programador senior es un programador con experiencia, pero entre sus tareas no está la de montar desde cero cosas como el entorno de gestión de la configuración, los entornos de desarrollo/preproducción ni nada por el estilo. En segundo lugar, el que realmente estará contento y feliz es el empresario que dispone de un puñado de esos "programadores serios" que hacen tantas cosas y tan bién simplemente a cambio de un "salario digno" en lugar de a cambio del salario correspondiente a un porcentaje elevado de los beneficios que su gran productividad reportan a la empresa. Porque ¿a dónde va la (gran) diferencia entre la productividad real del empleado y ese "sueldo digno"?... como diría el tío de la vara "¡¡¡A la saca!!!. Señor Roberto Canales, déjese de filosofías de Don Cangrejo y pague a sus empleados como lo merecen, ni más ni menos porque la excelencia hay que pagarla con algo más que un "sueldo digno".

Fecha de publicación: 2013-01-14-13:19:32

Autor: jmbeas

Qué lástima que siempre que hablamos de definir qué es un BUEN programador termina apareciendo la palabra CERTIFICACIÓN. Yo también he trabajado con mucha gente titulada (yo mismo soy Licenciado en Informática) y no he visto que el título haya hecho que sean mejores profesionales, y no digamos siquiera que hagan bien su trabajo. Me autocitaré para explicar lo que creo yo que es <a href="http://blog.jmbeas.es/2012/07/23/las-claves-de-un-buen-programador/">un buen programador</a>. Gracias, Roberto, por la reflexión que me ha recordado a <a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=comoAlcanzarElExito">esta otra tuya de hace tiempo</a>.

Fecha de publicación: 2013-01-13-11:29:47

Autor: adnweb

Das en el clavo. Cualquiera puede definirse como programador o como CM. Sin embargo sin una licencia uno no puede ser electricista. Creo que para trabajar como programador cualquier persona debería tener al menos estudios de FP (o módulo superior). Además de eso sería interesante que se creara una certificación a nivel... ¿europeo?. El que sea un hacha, obtendría estos títulos con facilidad. Aunque eso no garantiza que dicha persona desempeñe su labor cumpliendo las 5 condiciones que a ti te gustan (y que yo suscribo), pero al menos garantiza unos mínimos. Personalmente he tenido colaboradores con mil y un cursos, másteres, certificaciones a los que había que estar continuamente supervisando y corrigiendo hasta que empezaban a tomar carrerilla, pero todos, todos, seguían una buena metodología, al menos eso aporta algo de tranquilidad. Ufff, que rollo he soltado para ser domingo XDDD

Fecha de publicación: 2013-01-11-17:04:25

Autor: rcanales

Hola Carlos: Alguien podría decir que programador es cualquiera que sea capaz de programar. Otro podría afinar más diciendo que es el que se gana la vida programando. Paro otros tendrá en mente al maestro de 15 años de experiencia... por eso digo de no usar la palabra programador alegremente. Sería hasta una buena idea actualizar la entrada de la Wikipedia.. que es muy pobre.

Fecha de publicación: 2013-01-11-16:56:09

Autor: carlosgp

Por cierto, no estoy de acuerdo con la frase: "Programador es tanto el que ha hecho un curso de 2 semanas de programación en Basic como el que se ha tirado 15 años estudiando sin parar" Sé que tu tampoco. Saludos

Fecha de publicación: 2013-01-11-16:06:04

Autor: carlosgp

Muy buen artículo Roberto Como dices en Internet está todo, así que teniendo buena base y ganas de mejorar se puede aprender a programar mejor, montar un proyecto GIT, integración continua, TDD o cualquier cosa. Pero, ¿deben las empresas invertir para que sus empleados adquieran esas habilidades que la empresa demanda / vende ? Es decir, invertir en I+D activamente. Si no se invierte en eso, pues el profesional interesado en aprenderlas tendrá que hacerlo en casa (taxista que aprende Japones) pues durante su jornada laboral tiene que lidiar con lo que le toque. Los otros puntos de apoyo a la dirección empatia con el equipo, conseguir/mantener nuevos clientes, etc. es algo desde mi punto de vista normal, en cualquier sector (camareros, panaderos, etc) Respecto a lo de estar valorado en España, pues cada uno es libre de si mismo y si no cambia su situación sus motivos tendrá.. Pero a golpe de clic viendo los salarios y la duración de la jornada laboral, aqui todos sabemos que grandes empresas hacen trabajar 11 horas diarias a desarrolladores por un salario bajo. Osea que motivos tienen para quejarse, pero como dije antes si están hay es por que quieren. Saludos

Nota:

Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento.

Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores.

En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo.

Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador rcanales@adictosaltrabajo.com para su resolución.