1. Los atajos del emprendedor

    Durante todos estos años he aprendido muchas cosas (tanto técnicas como de negocios), pero también he adquirido ciertas mañas.

    Por ejemplo, la cultura Rails dicta que hay que escribir pruebas antes del código de la aplicación (TDD). Si, voy a blasfemar, no me linchen.

    En el equipo de eduPortal, existe una persona en soporte, otra en desarrollo, otra en diseño, otra en sistemas, y otra en… bueno, el caso es que todos se llaman Iván.

    Entonces, todo este tiempo me he valido de atajos para lograr mis objetivos, y uno de ellos es dejar (casi) de lado el TDD.

    Hasta ahora he podido salirme con la mía porque soy el único desarrollador, y tengo en mi mente un mapa de toda la aplicación, así que cuando ha habido algún bug, lo he podido corregir relativamente rápido.

    Se que es una deuda técnica, y tarde o temprano voy a tener que pagarla. Es una desventaja que estoy dispuesto a aceptar. Además, siempre que toco código pasado trato de refactorizar poco a poco.

    Creo que los atajos son muy necesarios, en especial en el desarrollo de software. Todo el tiempo se desarrollan mejores formas de realizar alguna tarea, pero jamás liberaría nada si siempre persiguiera esas mejoras.

    Aún así, todos los días sueño con tener un equipo de desarrollo que haga pair-programming y en el que el TDD sea la religión. De hecho gracias a esto se me ocurrió un proyecto que podría ayudarme (y a otros) a conseguir este objetivo, pero ya se los platico en otro post.

    Hablando de otro tipo de atajos, para sobrevivir la cantidad de tráfico que recibe eduPortal he tenido que desarrollar algunas herramientas que automatizan parte de la aplicación.

    Por ejemplo, antes recibía infinidad de solicitudes para corregir información en el directorio. Al principio hacia las correcciones manualmente, desde la consola de Rails, poco después agregue una interface administrativa para facilitar el proceso.

    Finalmente tuve que automatizarlo todo para no volverme loco. Ahora funciona como un wiki: si una escuela recibe cierta cantidad de correcciones, los datos que concuerdan en varias de ellas son aceptados automáticamente.

    Lo mismo paso con los comentarios que reciben las escuelas. Muchísimas quejas por abusos. Ahora esto es moderado automáticamente.

    Lo único que me falta automatizar es el soporte técnico, lo cuál nunca voy a poder lograr al 100%, pero si hay varias cosas que podría hacer para aligerar la carga.

    Al principio, todo este trabajo en automatizar procesos era un poco tedioso, porque sentía que no estaba trabajando directamente en la aplicación. Parece obvio que es algo importante ya que forma parte de la experiencia del usuario, pero tarde un poco en darme cuenta.

    Hace muchos años, la búsqueda de la perfección me impidió iniciar o terminar varios proyectos. Siempre tardaba horas pensando y planeando la mejor forma de atacar un problema, la mejor solución, la mejor tecnología.

    Ahora que estoy en el otro extremo, te invito a jugar de este lado. Igual y no tengo la experiencia del éxito para decir que lo que estoy haciendo ahora es mejor, pero por lo menos he liberado mucho más código que en tiempos pasados.

    11 months ago  /  0 notes

  2. blog comments powered by Disqus