Se vende: Kit Viajero para Coders

Kit viajero para coder Hace mucho tiempo estaba pensando en montar un negocio, esos que uno ve en las noticias, de niños de 22~23 años que se niegan a recibir cientos de millones de dólares por sus ideas. Y pensé, carajo yo también quiero. Hoy por fin tuve una visión, eso que todos le venden a uno como la gran idea, pues yo tuve mi propia idea: kit viajero para coders. El primer, completo y único kit viajero para real coders, de esos que reciben las piezas de los diseñadores a escasos minutos de la entrega final, de esos que reciben los requerimientos del cliente, un día antes de la puesta en producción.

Algo que nunca me enseñaron en la escuela (universidad) es que al terminar mis estudios y entrar al competitivo mundo laboral de la programación -uno de los oficios más demandados en la actualidad, y por ende de los más “perrateados” (cualquiera programa, cualquiera en el planeta, a cualquier precio: i.e cualquiera’s job!) – es que siempre, o casi siempre tendríamos que responder por el trabajo de los demás. Es curioso, pero así es.

Hace unos seis meses compré un iPhone (no 3G por supuesto), le ejecuté algunos programas básicos que me permitían un uso decente de semejante capacidad de procesamiento y usabilidad. Eso sí, cuando me tocaba reiniciarlo o la bien conocida técnica de “apagar y prender”, yo no llamaba al señor de la tienda a decirle: “mi respetado señor, su trabajo es una porquería, este aparato NO sirve”. Claro, yo soy una persona inteligente y sé, de antemano, que la persona es simplemente un vendedor, que muy seguramente conoce menos del dispositivo de lo que yo como consumidor Geek puedo saber. AHORA BIEN, porque cuando a un programador -sobre todo de estos programadores que trabajan en “la web” haciendo aplicaciones, sitios, o construyendo experiencias de usuario- entrega su trabajo y este resulta en errores, se le juzga automáticamente y se asume que es el culpable.

Sabían que muchas veces, en los procesos de integración de aplicaciones -i.e. yo cliente tengo esto, fulano mi proveedor X tiene esto otro, y mengano mi proveedor Y tiene esto otro- el que más difícil la tiene es el que hace que todo luzca bonito. Claro, si yo tengo un desarrollo bajo mi total dominio -como reza PRINCE2- pues seguramente soy el culpable, el problema es que la última vez que tuve un proyecto con esas características estaba en segundo semestre de ingeniería.

Dadas las condiciones del coder colombiano (probablemente aplique para el 99% de los coders del mundo), he decidido crear este KIT VIAJERO, ese que no te dan en el nuevo trabajo, pero que necesitas en todo proyecto en el que estés trabajando. A continuación, la breve descripción de su contenido. Nota: Viene en un lindo maletín negro de ThinkGeek, un botón/prendedor de Linux o Kill Bill :-) y una taza de café con el logo de Java – ThinkGeek y Sun Java son marcas registradas.

  • Gorro y guantes de lana: para las frías noches de coding
  • Llavero con el slogan – “no te quedes dormido, aún puedes escribir más líneas de código”: para que puedas cargar tu propia copia de las llaves de la oficina. Super necesario en tu primera asignación. Nota: Puedes solicitar grabar sobre el llavero en bajo relieve la clave de la alarma (casi siempre 123456).
  • Descansamanos con calefacción: Probablemente necesitaras uno
  • Juego de letras para el teclado (viene en negro o blanco): Si estas reusando el equipo de otro coder, lo mas seguro es que las letras ya no se vean con claridad
  • Mouse: Este mouse óptico y sin cables es muy útil para reemplazar el que posiblemente “te suministren” en la oficina.
  • Almacenamiento portátil (Tiene un costo adicional)
    • Opción 1- Disco duro portátil de 1TB: Ya es costumbre, probablemente necesitaras espacio para almacenar el trabajo propio y de otros
    • Opción 2 – Servidor de archivos: Muy conveniente para trabajo en equipo ya puedes instalar un SVN y WebServer para compartir archivos e información. Evita la interminable respuesta de “no tenemos espacio en los servidores para un nuevo proyecto, si quiere puede solicitar formalmente la compra de más equipos” – claro ellos no recuerdan que el proyecto es para dentro de dos semanas.
  • Rodilleras y Vaselina por 900grs: Esto no creo que necesite explicación. Si no entiendes, probablemente nunca has sido coder, en un proyecto que no hiciste, que te toca terminar y que es para mañana EOD.

Por precaución: Este post es un chiste, si alguien decide lanzar este Kit, me alegro y esperaría regalías. Espero no recibir comentarios como “cuánto vale” y “donde lo puedo conseguir”.


The interactive agencies that develop software

From creative to coders

Do you believe that the cold war has ended? If yes, it is because you don’t work in an interactive agency (a creative agency that produce a kind of interactive software) or in a web development company (a software development company that delivers creative content via Web).

Agencies are internally informal companies -but serious companies of course. Agencies fight with their PMs to keep their projects running without concern but at the same time, are permissive with their creative teams because they know about the free-sense of the design process. I’m pretty sure no body told God that he has to end the world creation by the seventh day EOD (end of day). Creation/Creative is related to the feelings and passion, and we all know they cannot be scheduled. However it doesn’t mean that creative process could take whatever it takes, it means you need trained team members to understand the business model.

Developers are the creative nemesis. Probably, developers are persons that will want to have their life planned, or at least under control. They (should I say we?) want to reduce the risk and be a step ahead of the opportunities and treats. Why they don’t like designers? It is easy as this sentence, designers -for interactive agencies/web development companies will not deploy their deliverables to the client. Developers are forced to takeover the designers outcomes and create real applications or products. So, at the end of the day, how will carry the whole pressure? Who will have to understand the client needs and the designer approach to deliver the expected result?

So, what happen when you came into a company where developers and creative are working together? A lot of things could happen, but the most probably will be a formal and tangible separation of the teams. The cold war has begun and the PM will have to deal with it as a double agent.

Below some tips for those who has to deal with this.

  • Designers are not coders / Coders are not designers. Are you or your senior management considering this option? Are you crazy? Designers are guys with an open mind -they have to. They should bring light when nobody else can give you a little spark. On the other hand Coders are those guys that do not create a square but resolve your needs with success. One thing is about create from scratch, other thing is to use the tools to deploy solutions -languages, frameworks, and formal products. Keep it as it is. Do not reduce costs using a CODEsigner, a coder that knows how to use Paint IS NOT A DESIGNER. There are few Titans that will walk between these two worlds, if you have them, lucky you!
  • Define with the senior management the business model. It could be whatever it be, that address your company needs. However, take a look to the ones I present below
    • One team, one soul. Bring developers and designers to work together. Push them as a unit, make them feel as all are involved. Most of the time, agencies give creative designers flexibility that will cost long nights for developers, while Software companies will reduce more than needed the importance of their work resulting in motivation issues and poor creative design quality. As PM you can get involve and takeover those team members (I don’t want to use the word resources) avoiding those situations. Get time to know the creative process, push them since the beginning -the most part of the creative guys will be lazy at that phase. Measure their time, keep the whole team under constant medium pressure to avoid relax/stress situations. Once the team get used to it, the pressure will not exists more than in their own minds and desire for deliver.
    • Providing code development. Developers can be providers for creative. Offshore teams will work great with this approach. You will reduce the risk at development side. However you probably will have to spend more with your team leaders. If those guys are not like the Musketeers -all for one and one for all- you are lost. Provider model will give you some freedom within the teams but during integration process you will need real experts to avoid technical/creative issue or change.
    • Providing creative assets. This one is my favorite. Let creative do their work -whatever it is, they do it and developers will not be involved. Set unmovable dates for delivery and let your coding team use those assets. Be formal during the assets’ specs definition. Do not let creative set the dates, be a extra formal PM. With some time you will get the enough experience to understand why creative ask for a lot of time and do their work in a quarter of that.
    • Limited creative. The most amazing hit from coders was to create the templates. Templates are great!, they give the designers enough freedom to make their changes, but not too much to screw everything. Templating if possible is the greatest solution. Your coders will have time to do their work and will share with the designers the integration responsibility. -Of course, this is not the case for the most of the agencies, they will feel your are cutting out their freedom and they will say: “Our strength is our creative freedom“, so you will have to sell this idea.