La forma de como trabajamos día a día siempre ha estado evolucionando a medida de que el software se vuelve mas complejo. Hoy en día no solo se necesitan de los programadores tradicionales para hacer una aplicación web (las mas desarrolladas en este momento), sino que es indispensable el apoyo de analistas que tomen requerimientos, diagramen y hagan documentos de alcance, jefes de proyectos que supervisen, arquitectos, programadores web especializados en lo que se denomina "frontend", diseñadores, encargados de la experiencia de usuario, encargados de contenido e incluso desarrolladores para aplicaciones móviles que dominen distintas tecnologías, porque el software debe funcionar en todas las plataformas digitales existentes. Todo estas personas pueden perfectamente conformar el equipo de desarrollo para solo un proyecto de software, y si este se trata de aplicaciones basada en multimedia, como el desarrollo de un videojuego, ya puedes ir sumando directores de arte, escritores, guionistas y músicos a la ecuación.
Es por eso que para las empresas emergentes siempre es un dilema dilucidar a quien tendrán en sus filas en primera instancia, ¿a quien sumamos al equipo?. Una de las tendencias fuertes entre las startups (que incluso se está extendiendo a empresas TI ya consolidadas) es dejar la especialización a un lado y exigir la mayor cantidad de "skills" a los candidatos independientemente si todas las tienen desarrolladas, nos ahorramos todas esas personas que están presentes en una estructura empresarial tradicional, y las concentramos en un solo superguerrero que es capaz de lidiar con todas, ¿tentador, no?. Es mas, tampoco necesitamos de jefes de proyecto ni analistas, este superdesarrollador de software también es capaz de ser autogestionado, tomar requerimientos, hacer un alcance de análisis y gestionar tantos sus tareas como su tiempo solito, todo esto por el módico precio de solo un programador, un gana-gana para cualquier empresa.
Curiosamente, y aunque expuse este tema de modo irónico (no se lo tome personal, la sátira me encanta), sinceramente creo que todo lo mencionado anteriormente es necesario. Lejos de criticar estas tendencias las apoyo, porque es y será necesario orientar a los programadores que trabajen de esta manera, ahora y en el futuro. Actualmente se genera mucho retraso y desperdicio a causa de las estructuras rígidas y complicadas de empresas tradicionales, y las startups no puede contar con tantas piezas desde un principio, tiene que acotar y concentrar sus esfuerzos en otro tipo de perfiles y otras maneras de trabajar. Las empresas informáticas emergentes y las que surgirán en el futuro tienen que ser así si quieren sobrevivir.
¿Entonces cual es el problema?.
Dejando en claro que es totalmente necesario buscar nuevas formas de trabajo, hay un gran problema que se está dando en la mayoría de las startups o en cualquier organización en donde se exija este nuevo tipo de perfil autogestionado y que lo concentra todo: Las empresas no quieren asumir el costo. Como lo comenté al principio de este artículo, el problema real es que este perfil no es para nada común, por el simple hecho de que todo el trabajo hecho anteriormente han tenido sus cimientos en equipos consolidados, con roles definidos y tareas específicas, e incluso para aquellos recién salidos de la universidad es difícil trabajar de una forma autogestionada porque aún son formados bajo las premisas del antiguo paradigma, donde está la mayor demanda de profesionales, y donde las consultoras y fábricas de software son el 90% del mercado laboral.
¿Cual es el error que cometen las startups?
No están dispuestas a invertir en formación, no son pacientes con los procesos de aprendizaje y tratan de competir en precios de mercado con las grandes empresas.
La forma de desarrollar software está sufriendo un cambio gigantesco, pero no todos están adoptando este cambio a la misma velocidad, salen cada vez mas y mas cosas que aprender, nuevas metodologías de trabajo, por lo que si nos conviene nos tendremos que adaptar a los tiempos, pero las empresas NO están dispuestas a asumir el costo de ese cambio. A medida que los cambios ocurren, ya exigen a gente capacitada que aparezcan mágicamente con todos esos conocimientos listos para la batalla, y esperando que tengas diez años de experiencia en la materia. Están tan ciegos que literalmente no tienen consciencia de que lo que están pidiendo es algo como esto:
Es muy común la práctica de contratar a gente por proyectos a un plazo fijo acotado, a honorarios o incluso ofreciendo trabajos "semi-freelance", y exigiendo presencia pero sin hacerse cargo de temas contractuales y legales, con la intención de por cualquier eventualidad deshacerse de la gente que ellos consideran que no estuvieron a la altura, sin ningún tipo de daño colateral para la empresa. Esto da la idea de estar dando palos de ciego a la espera de encontrar al programador prodigio que mete código desde los cinco años, o al comúnmente llamado guerrero/espartano que no tiene tanta sapiencia ni experiencia, pero que está dispuesto al sacrificio absoluto por los objetivos de la empresa, donde su falta de conocimiento la compensa con horas laborales extras (no pagadas por supuesto), con frases típicas como "ponerse la camiseta de la empresa" o "siempre necesitamos esfuerzos adicionales".
Esto, estimados lectores, es la mentalidad que hay que cambiar de raíz. No se trata de rasgar vestiduras y ver si la responsabilidad de un desarrollo mal hecho es de un programador incompetente o de una organización con estructuras y metodologías que no funcionan. Llevar a cabo un buen trabajo significa trabajar como equipo, comportarse como un organismo vivo, que consta de muchas partes pero cuyo objetivo único es una meta en común, la de desarrollarse y mantenerse saludable.
El software es el único que debe ser tolerante a fallos, el programador no, porque es un ser humano.
Esto solo se puede lograr mediante la vía del entendimiento, y tener en claro que es necesario tomar el costo y el riesgo que implica la formación del perfil que necesitan las startups mediante la marcha, dentro de la misma empresa, teniendo respeto y paciencia con el proceso, y respetando horarios de trabajo y sin presiones adicionales que lo único que hacen es bloquear la creatividad. Uno de los principales problemas que tiene al entorno TI sumido en la mediocridad es la casi nula tolerancia a fallos y el cero respeto a los procesos de aprendizaje que se dan en las empresas, con una rotación altísima, reflejada en la conveniencia al subcontratar mediante empresas de outsorcing y de servicios transitorios. ¿Servicios transitorios?, la productividad empieza a reflejarse cuando se acopla el individuo a la cultura y forma de trabajo en específico, y eso se solidifica notoriamente después del año de trabajo, y si hay suerte y las cosas van bien con seis meses son suficientes. Antes de eso, siempre necesitaras mucha ayuda la mayoría de las veces.
Hola, ¿Me ayudas?
Esto no quiere decir que antes de eso no debamos ser productivos, al contrario, uno puede serlo desde el día uno, pero el formar parte de un equipo bajo ciertas premisas necesita un proceso que debe ser respetado, es como el pasto, no puedes obligarlo a que crezca mas rápido. Una empresa con una buena cultura aceptará que te equivoques, porque saben que esa es tu verdadera tarea, ser un explorador, jugar al "trial and error", y es la única forma de que en el futuro se explote tu potencial, y todos tenemos ese potencial, no necesitamos la llegada de un niño prodigio, solo la oportunidad de poder desarrollarte como profesional a un ritmo adecuado.
Pero ese es un riesgo para mi startup!
Precisamente la idea de una creación de una empresa conlleva a ciertos riegos y renunciar a ciertas cosas, tal y como los potenciales primeros empleados también debieran renunciar a ciertas cosas por querer participar en una empresa emergente, pero rica en cultura y con futuro.
Otro de los errores que se comete mucho es tratar de igualar precios de mercado con grandes empresas, porque aunque en un principio las ofertas sean tentadoras, a la larga se traduce en tener mas responsabilidades que antes. Recuerda ya no solo eres un programador tradicional que hace código backend y consulta la base de datos, sino que también ahora eres el encargado del "look and feel" de tu aplicación, aparte también eres el analista que hace levantamiento de requerimientos, y como ahora eres auto-gestionado con tus tareas y tus tiempos eres tu propio jefe de proyecto. No piensen que estás sobrepagado por lo que haces cuando auto-gestionas tu trabajo. Es un gran cambio, y es precisamente también un gran obstáculo si para quienes trabajas están acostumbrados a la inmediatez, la causa de mucha rotación y el por qué de los curriculums de hoy las experiencias no sobrepasan el año de trabajo o incluso los 6 meses en una empresa.
Si tu empresa no puede solventar el tener paciencia y el respetar un proceso de aprendizaje, entonces no trates de competir con precios de mercado, ofrece un menor sueldo a cambio de un trato justo con la promesa que después de tener un nivel decente de conocimientos este se reajustará, de acuerdo a los skills adquiridos durante el camino. Si aún esto te incomoda, trata de contactar con personas que quieran en un principio ser freelancers, dando pequeñas tareas realizables en corto tiempo para cualquiera que quiera aprender, así se potencia la autogestión y los conocimientos que se exigen en tu empresa, al punto de estar preparado para después trabajar en tu organización full-time, además, aprovechas de construir relaciones laborales.
Pero yo quiero producir!!, esta no es la universidad.
Ciertamente que el objetivo principal de una empresa es la rentabilidad, para permanecer con vida y hacer mas cosas que como un individuo no podrías hacer por tu cuenta, es como una extensión de tí, pero toda empresa moderna necesita en cierta manera también ser escuela. Las facultades y los institutos solo te dan las herramientas básicas para poder ser capaz de ser desenvolverte de buena manera, y el resto es experiencia. Todos los días estamos aprendiendo algo nuevo, sino nuestro trabajo no tendría sentido, y eso pasa naturalmente al hacer nuestro trabajo del día a día, pero hay ocasiones en que tendrás que aprender algo nuevo porque un problema en específico así lo exije. Aquí es donde entran en juego los cursos y capacitaciones, donde toda empresa exitosa invierte constantemente recursos para estar enseñando cosas nuevas a sus trabajadores, y así poder resolver problemas actuales y del mañana.
Uno de los ejemplos mas notables es el Sistema de producción Toyota, que es un sistema integral de producción y gestión, donde sus orígenes se remontan a los años 70s en Japón con el señor Taiichi Ohno. Constaba principalmente en quitar obstáculos en la producción de automóviles, eliminar la grasa, la inconsistencia y los gastos innecesarios. Esto se logró tanto gracias a sus innovadoras metodologías de trabajo, como al trato con sus trabajadores basados principalmente en el respeto. También se dieron cuenta que con una organización adecuada, lo que más les convenía como empresa era formar a sus trabajadores dentro de la fábrica, lo que se conoce como Training Within Industry, también aplicada por la General Motors. El programa TWI nació a partir de la necesidad de EEUU de dar respuesta a las necesidades del ejercito durante la segunda guerra mundial, ya que no tenían tiempo para formar a las personas y tuvieron que hacerlo sobre la marcha. Fué tremendamente exitoso para ellos, como lo fue para General Motors y Toyota, siendo el Sistema de producción Toyota uno de los cimientos e inspiraciones para muchas metodologías de trabajo ágiles en el desarrollo de software, entre ellas Lean y Agile.
Toyota ahora es una empresa multibillonaria.
Capacidad de trabajar bajo presión no es una virtud
Muchos trabajos hoy en día tienden a ser bajo presión, como puede constatarse con sólo mirar los avisos de empleo. Una secretaria, un administrativo, un ejecutivo y un gerente, pueden estar sometidos a exigencias similares de presión. En la actualidad estamos con niveles de presión muy superiores a lo que se estilaba hace solamente un par de años. Parece que hoy todo es "para ayer.
El desarrollo de software no está exento, de hecho es uno de los rubros que mas sufre de esta condición, pero extrañamente teniendo las herramientas de gestión como las carta gantt, scrum, paneles kanban y todo lo que se nos ocurra, siempre da la sensación de que no logramos hacer un alcance de proyecto medianamente decente, y siempre terminamos enfrentándonos a proyectos mal vendidos y que tienen meses de retraso. Es una costumbre que lamentablemente se ha hecho habitual, porque las proyecciones se hacen basados en números de proyectos anteriores igualmente mal planeados, y que seguramente terminaron en mas de algún divorcio, despido o con un programador en el hospital por alguna que otra subida de azucar.
¿Por que se pide explícitamente que tengas capacidad de trabajo bajo presión, si se sabe que todo trabajo tiene un grado de presión solo por tener que cumplir con una entrega?.
Es una forma de decirte que la puedes pasar mal, que tienes que estar estoico ante algún insulto, y que tus superiores no son capaces de gestionarte ni a ti ni a sus clientes, por ende esa responsabilidad la tienes que subsidiar tu, y eso no te corresponde, no es parte de la auto-gestión.
¿Recuerdan que al principio mencioné que había que dejar en claro que era autogestionarse?, pues esta es la parte que NO debes aceptar. Cada uno debe ser capaz de gestionar la presión que le imponen en su lugar de trabajo, siempre y cuando sea en niveles saludables (tampoco es bueno que seas hipersensible a todo, y a la primera frustración renuncies), pero NO PERMITAS QUE TE FALTEN EL RESPETO, cada vez que sientas molestia habla con tus superiores, y si eso te resta puntos simplemente esa empresa no es para ti.
Ten en cuenta, si te piden trabajar bajo presión quiere decir que en algún momento tendrás que recibir algún tipo de insulto o mal trato, solo que es una forma sutil de decirlo. Huye como de la peste de esos anuncios de trabajo, no te harán bien, te mereces algo mucho mejor y mas digno.
Guatita Tranquila + Corazón Contento = El Mejor Software
El desarrollo de software exige una gran cantidad de concentración, y eso no se puede lograr con presiones innecesarias, es más, estanca enormemente el desarrollo. Si eres un programador y tratas de buscar el mejor empleo, no te fijes tanto en lo que te puedan pagar, enfoca los esfuerzos en encontrar lugares donde tengan una buena cultura basada en el respeto, en la tolerancia y en la creencia del trabajo en equipo y el desarrollo de una persona a largo plazo. Si eres empresa, trata de crear la mejor cultura para tu empresa, porque así atraerás a las personas mas motivadas para aprender, tanto gente con mucha experiencia como personas que no sepan tanto pero con mucho potencial.





No hay comentarios:
Publicar un comentario