Saltear al contenido principal
Cómo Puede Convertir Una Asignación Breve De Desarrollador En Un Trabajo De 9 Años

Cómo puede convertir una asignación breve de desarrollador en un trabajo de 9 años

«El hombre que tiene el remedio para el dolor de muelas siempre será rico». – mi abuelo

¿Alguna vez ha tenido dolor de muelas? No estoy hablando de un malestar leve, sino del tipo que se irradia desde la mandíbula hasta el cerebro y por el resto de su cuerpo. Lo hice, y déjame decirte, hubiera hecho cualquier cosa para deshacerme de ese dolor. Es casi imposible dormir y no hay absolutamente nada que pueda hacer mientras lo tenga.

Hace casi una década, un cliente mío vino a verme con un dolor similar. No sabían por qué tenían el dolor, pero sabían que querían que se fuera. Le di al cliente un tratamiento de conducto y su dolor se detuvo. A partir de ese momento, estuve para siempre en su favor.

No, el cliente no tenía dolor de muelas, sino que tenía un problema comercial para el que necesitaba una solución. Su preocupación inmediata era solucionar el problema: cómo ocurrió o incluso evitar el problema en el futuro era menos importante que resolverlo. ahora.

Cuando comencé a trabajar en la tarea, pensé que solo estaría por seis meses. Sabía que mi trabajo consistía en solucionar su problema, pero nadie, ni siquiera el cliente, sabía todavía cuál era realmente el problema. Todo lo que sabían era que tenían un problema y me contrataron para solucionarlo.

Me contrataron como desarrollador y experto en la materia. El trabajo fue razonablemente simple y no muy desafiante, pero disfruté el trabajo. Se suponía que esta asignación duraría de seis meses a un año. Pensé que terminaría el trabajo y pasaría al siguiente puesto como lo había hecho en mis trabajos anteriores. Chico, estaba equivocado.

Me he encontrado con muchos problemas de este tipo en mi carrera, y mi capacidad para resolverlos con soluciones lean me ha mantenido con un empleo remunerado durante muchos años.

En esta publicación, le daré una guía sobre cómo crear soluciones ajustadas para los clientes y le explicaré cómo la resolución de problemas puede ayudarlo a extender una asignación corta a un contrato a largo plazo o incluso a un trabajo de tiempo completo.

Interactuar con el cliente

La importancia de desarrollar habilidades blandas para los desarrolladores se ha discutido anteriormente, pero permítanme reiterar la importancia de la comunicación. Como desarrollador, debe sentirse cómodo interactuando con otros. Sé que a menudo no es lo que los programadores quieren hacer (solo quieren codificar), pero si desea extender su breve período, tendrá que acostumbrarse a comunicarse.

Mis primeras semanas en el trabajo transcurrieron sin incidentes, pero comencé a disfrutarlo porque pude interactuar con el cliente. Mi voluntad de hablar con la gente y ayudarla con sus problemas fue muy útil. Debe estar dispuesto a hacer lo mismo, incluso para problemas que le parezcan insignificantes.

Una vez ayudé a un usuario a recuperar elementos que había eliminado accidentalmente de uno de sus sitios mediante el uso de la memoria caché de su navegador (otra historia para otro día), por lo que poco a poco desarrollé una reputación como el tipo que ayuda a la gente. Esté abierto a ayudar a otros y creará una buena voluntad que lo ayudará a extender su contrato corto.

Como estaba dispuesto a interactuar con los usuarios, vi con qué luchaban los usuarios finales cuando se trataba de tecnología. Aproveché eso como una oportunidad para aprender y tú deberías hacer lo mismo. ¿Ya mencioné la importancia de las habilidades blandas?

Entregue rápidamente

Un día, un cliente se me acercó y me preguntó si podía ayudarlo con un problema. Dijeron que tenían problemas para administrar varias versiones de un documento y necesitaban una forma de realizar un seguimiento de los cambios en su documento. Después de una breve conversación, les dije que podían administrar fácilmente sus documentos utilizando un sistema de administración de contenido que ya estaba disponible en su entorno.

Configuré un repositorio simple para ellos, les mostré cómo usarlo y escribí un documento paso a paso sobre cómo utilizarlo mejor. No es el trabajo más desafiante o interesante, pero resulta que esto resolvió un problema importante para el cliente. Empezaron a trabajar mucho por algo que hice en menos de tres días.

Una solución rápida que resuelve un problema es mejor que una solución compleja que no lo resuelve. Podría haberme tomado mi tiempo y tal vez desarrollar una solución personalizada utilizando un marco nuevo y brillante que tenía en mis ojos. Resistí esa tentación, al igual que tú. Entregue rápidamente y entregue para resolver un problema.

Al resolver el problema, destaqué a los ojos del cliente. Cuando llegó el momento de los recortes presupuestarios, era mucho menos probable que me recortaran porque era valioso para el cliente.

Cree soluciones flexibles sin funciones innecesarias

Soluciones Flexibles

Creo que la mayoría dudaría en llamar a la solución que creé en el ejemplo anterior una «solución real» porque no hizo casi nada elegante. Usé una función lista para usar y algo de JavaScript básico para resolver su problema, y ​​no implementé nada que pudiera considerarse una cereza en la parte superior. Entonces sucedió algo asombroso. El cliente le dio un nombre a la solución que había creado y comenzó a evangelizarla a otras unidades de negocio.

Resultó que mi cliente inmediato no era la única unidad comercial con el problema; había otras nueve unidades de negocio que experimentaban lo mismo. Después de que el cliente (sin mi conocimiento) evangelizó mi solución a otros, comencé a recibir solicitudes de otras unidades de negocios para desarrollar una solución para ellos.

Después de una lluvia de ideas, desarrollé una solución ligeramente refactorizada utilizando la misma tecnología que antes, pero permitió al cliente incluir otras unidades de negocio en la solución que tenían el mismo problema.

Si desea extender su asignación, debe desarrollar cierta miopía. Como desarrolladores de software, queremos desarrollar las mejores, más sólidas y escalables soluciones. Sin embargo, la solución ajustada que es rápida y que resuelve el problema ahora puede no ser tan robusta y escalable.

Debes estar pensando que estoy loco por defender la miopía, pero he visto demasiados proyectos que se sobrepasan el presupuesto, el tiempo y los recursos porque intentaban ser todo para todos en cada problema. Así que no cree funciones adicionales. Solo resuelve el problema.

Poco tiempo después, me enteré de que las unidades de negocio estaban interactuando con personal remoto que estaba interesado en participar en la solución, que originalmente no estaba diseñada para una fuerza de trabajo remota. Resultó que, debido a que no incluí ninguna función adicional, se pudo ampliar fácilmente a otras unidades de negocio y trabajadores remotos.

Refactoricé ligeramente la solución y creé instrucciones para los trabajadores de campo sobre cómo usarla. La solución estaba nuevamente lista para la siguiente evolución, esta vez con un poco de complejidad.

Si hubiera hecho mi solución rígida al introducir características innecesarias, habría muerto en lugar de evolucionado. Si mantiene sus soluciones flexibles, evolucionará con las necesidades del cliente y lo mantendrá empleado en el proceso.

Empoderar al cliente

Resultó que gracias a esta solución, los clientes estaban haciendo su trabajo más rápido y querían comenzar a medir qué tan rápido. Antes de la implementación, estaban luchando incluso para hacer el trabajo; ahora el problema era diferente. El problema ya no era que no estaban haciendo ningún trabajo, ahora era que no estaban haciendo el trabajo lo suficientemente rápido.

Después de conversar con el cliente, creé métricas y métodos para que midieran su progreso y les di informes sobre cómo les estaba yendo en promedio para un elemento de trabajo determinado.

Al capacitar al cliente con transparencia en la solución, establecí confianza y los clientes se convirtieron en mis aliados, mis evangelistas e incluso mis protectores. A medida que la solución ganó popularidad, también ganó algunos enemigos que habrían acortado mi contrato, pero los clientes siempre me respaldaron. Si empodera a sus clientes, ellos harán lo mismo por usted.

Aprende, aprende, aprende

En este punto, la solución había madurado debido a todo lo que había aprendido al construirla. Luego se me encomendó la tarea de ayudar al cliente a desarrollar un documento de requisitos completo para la solución (¿Un desarrollador escribiendo requisitos después de que se desarrolló la solución? ¡Qué horror!), Pero no me negué a la idea. Mi cliente necesitaba ayuda y, en ese momento, la mejor forma en que podía ayudarlo era escribiendo los requisitos, así que lo hice.

Escribir los requisitos tuvo dos efectos muy interesantes. Uno, aprendí detalles íntimos del proceso de negocios que nunca hubiera conocido si no hubiera usado mi sombrero de analista de negocios, y dos, me enseñó sobre el funcionamiento diario del negocio.

También tuvo un efecto interesante en el cliente; empezaron a aprender tecnología. Muchos de ellos llegaron a conocer el funcionamiento interno de las soluciones para ayudar a mejorarlas y administrarlas.

Me enseñaron negocios y yo les enseñé tecnología. Fue un beneficio mutuo para todos, y esta atmósfera de aprendizaje hizo que la adopción de la solución se disparara. Permítase aprender cosas nuevas y permita que el cliente aprenda de usted, y verá que suceden cosas increíbles. Este conocimiento lo ayudará a crear más soluciones, y más soluciones significan más buena voluntad y una estadía más prolongada.

Enjabonar, Enjuagar, Repetir

soluciones de software lean

En ese momento, había superado con creces la marca de los tres años, y cada vez que mi contrato tenía que renovarse, se renovaba. Repetí esta metodología lean para crear al menos cinco sistemas diferentes que proporcionaran valor al cliente y desarrollé una reputación como un hombre renacentista: un entrenador, un desarrollador, un analista de negocios, un diseñador y, lo más valioso de todos, alguien que puede ayuda. Siguiendo esta metodología una y otra vez, permanecí en ese proyecto durante casi una década.

Si usted, querido lector, está en el mismo barco que yo antes con un contrato a corto plazo, intente lo siguiente: Cree soluciones lean que resuelvan problemas y créelos rápidamente. Cree soluciones que no tengan características avanzadas hablando con el cliente. Cree soluciones flexibles que empoderen al cliente y esté dispuesto a aprender.

Antes de que te des cuenta, serás un veterano en tu trabajo.

Volver arriba