Lo que se pide, lo que se paga, lo que se obtiene (segunda parte)
Nov/093
Bueno, no tenía intención de escribir más sobre el asunto, con el anterior post ya me explayé bastante, pero una larga conversación con un empresario y amigo y otra “twit-conversación” a raíz de una oferta de empleo (menos en el blog, en cualquier lado) me hacen volver al tema a intentar clarificar una vez más mi punto de vista.
Por lo que veo, en la mayoría de los casos, el empresario se escusa bajo el paraguas de “yo lo que busco es gente de calidad, hay casos de Seniors sin calidad y Juniors con mucha” y esto sigue siendo el mismo error de siempre. Señores, a ver si queda un poco más claro, por mucha calidad que pueda tener un Junior Developer, nunca puedes ponerlo a llevar un proyecto o a realizar desarrollos de Análisis funcional porque no le habéis contratado para eso, porque no tiene experiencia y porque igual sale bien, pero con mayor seguridad saldrá mal!
Traspasemos esto a un colegio, en el cual de 100 alumnos por curso hay uno que es superdotado. Después de mucho discutir con la familia se le decide, debido a su nivel, pasarle un curso por encima de los de su clase, el niño puede que sufra estrés por el cambio y el nuevo nivel pero lo podrá hasta controlar. Pero, que pasaría si le subiese de 1º a 5º?? Creéis alguno que realmente podría hacer bien el curso?? Ojo! Que no digo que no aprobase alguna, ni que dejase de ser aplicado, simplemente que el nivel que se le exigiría sería muy superior a sus conocimientos y lo único que obtendría serían lagunas de conocimientos.
Pues aquí es igual, un Junior es una persona sin conocimientos o con conocimientos básicos sobre la materia, si intentáis que haga el trabajo de una persona con cierto bagaje profesional, pues puede que os salga bien el proyecto, puede que si el proyecto no tiene una gran envergadura o calado social hasta no veáis nunca problemas o puede que realmente ese Junior sea del pequeño tanto por ciento de superdotados1 capaces de llegar a 5º sin problemas y os haga el trabajo de forma correcta. Pero la probabilidad de fiasco al intentarlo no será poca, ya os advierto. Y vendrán los problemas por trabajos mal hechos, trabajos en los que la escalabilidad y el análisis sean malos, etc. Y empezaréis a cortar cabezas y la primera será la del pobre Junior que contratasteis para hacer la labor de Senior Analyst.
Solución: Bueno las soluciones son varias y dependen casi siempre del mismo asunto, el dinero, pero todas acaban siempre en lo mismo, evitar que vuestros empleados realicen labores dos o más niveles por encima de por lo que los habéis contratado, crear para cada rama de la empresa una estructura lo más completa posible (ya sea externalizando o inhouse) y molestaros siempre de formar a los empleados dentro de la empresa.
Tener siempre en cuenta que para una empresa, lo más importante por mucho que la gente no quiera verlo, no son los clientes o los ingresos, son los empleados!
Y por último, un borrador de como pondría yo una propuesta para Junior2.
Programador Web Junior
| Fecha de la oferta: | 12-11-2009 |
| Nombre de la empresa: | Mas quisiera tener nombre SL |
Ubicación
| Población: | En mi casita todo el día. |
| Provincia: | Madrid |
| País: | España |
Descripción
| Puesto vacante: | Programador Web Junior | |
| Categorías: |
|
|
| Nivel: | Junior (no se si existe, sino especialista) | |
| Personal a cargo: | Ninguna!? | |
| Número de vacantes: | 1 | |
| Descripción de la oferta: | Sino habéis explicado que es vuestra empresa antes, hacerlo aquí, pero brevemente. Tener en cuenta que la oferta no es solo en un sentido, sino que vosotros también tenéis que ofertaros bien y sobretodo siendo sinceros! Buscamos gente joven para puesto vacante de Programador Web Junior, no se requieren conocimientos previos de programación (aunque serán valorados) sino ganas de aprender y avanzar en un sector con bastante share de mercado, nosotros te damos los medios y la formación, tu nos traes tu personalidad. Queremos gente abierta, con ganas de trabajar y emprender, con ideas propias y capacidad para discutirlas, si te consideras una persona proactiva estaremos encantados de hablar contigo. Que ofrecemos, un espacio de trabajo abierto y flexible donde poder aprender y trabajar sin problemas. Mucha formación y muchas posibilidades reales de promoción interna. Hoy tu eres el que aprende, mañana igual seas el que enseñe. |
Requisitos
| Estudios mínimos: | Indiferente – aunque personalmente me gustaría decir “gente cursando últimos años de carrera” ya que son los que más ganas de comerse el mundo tienen. |
| Experiencia mínima: | Si tienes más de 2 años de experiencia posiblemente esta oferta no sea para ti |
| Requisitos mínimos: |
|
| Requisitos deseados: |
|
Contrato
| Tipo de contrato: | Indefinido con Xmeses de prueba (algo que no se suele decir, pero que también creo que es importante) |
| Jornada laboral: | Flexible (puedes querer intensiva, flexible para compaginar con estudios o como quieras… Creo que el tener horario fijo más que ayudar entorpece en estos casos) |
| Horario: | Si dejasen pondría aquello de “abrimos a las 7 cerramos a las 19:30 dentro de esa franja cuando quieras” |
Salario
| Salario: | 15.000 € – 20.000 € Bruto/año (El salario debería ser estándar, pero ponerlo siempre, el no ponerlo no sirve para nada) |
Lo que se pide, lo que se paga, lo que se obtiene
Nov/093
Quien más, quien menos, alguna vez ha tenido que pasarse algún tiempo buscando un nuevo puesto de trabajo. Y una de las formas más habituales de hacerlo es a través de empresas online de búsqueda de empleo. Lo bueno que tiene esto es que sin salir de casa tienes miles de ofertas, lo malo, que es un campo de cultivo para timadores, usureros y explotadores, por lo menos en el sector online.
El mayor problema de este sector es que lo mueven personas que en un 70% de los casos (quitemos startups y casos particulares) no tienen conocimientos técnicos o artísticos alguno, esto a priori no parece problema, y no debería serlo si siguiéramos los cauces normales en cuanto a niveles, grados y estructura dentro de una empresa. Yo no tengo porque saber programar, para eso me sobraría tener un CTO que se encargara de ese área y sobre el que poder delegar. Este a su vez tendría una plantilla compuesta por Project Manager, Senior Analyst, Senior Programmer, Junior Programmer. Lógicamente esta estructura en empresas pequeñas y medianas no se puede dar y hay que recurrir a recortar la estructura a uno o dos puestos nada más.
Y aquí es donde viene el problema, y es que buscamos remplazar puestos hacia arriba y no hacia abajo. Que significa esto, pues que si no podemos tener un Senior Analyst, no buscamos que el PM haga su trabajo, sino que el SP cubra las deficiencias. Esto en un puesto no es tan grave, el problema es cuando se quiere que un Junior cubra los puestos de Project Manager y Senior Analyst.
Hay que entender que todo trabajo requiere de un proceso de aprendizaje y que es necesario cubrir todos o casi todos los escalones hasta llegar arriba, ir saltándose escalones solo traerá problemas a la empresa. Y aquí es donde siempre nos equivocamos por creer que cualquier Junior puede llegar a hacer cosas de Project Manager, o que tiene la experiencia suficiente para hacerse cargo sin seguimiento de cualquier proyecto.
Luego está el aspecto monetario lógicamente, ya que un CTO puede cobrar 3 o 4 veces más que un Junior, lo cual visto al revés, implica que puedes tener a 4 Juniors por el precio de un CTO.
Y para completar este planteamiento erróneo, aparecen las empresas online de búsqueda de empleo1. Lugares donde cientos de personas buscan desesperadamente una oferta de trabajo donde dejar el CV, el campo perfecto para empresarios con ganas de ahorrarse un pastón que se creen que poniendo ofertas para Juniors2 con unos altos (y variopintos) requerimientos mínimos tienen todo solucionado.
Un ejemplo3 sería:
Analista Programador PHP:
Se busca una persona, joven, extrovertida y con 2-3 años de experiencia en desarrollo PHP, importaciones, pasarelas, web service, XML, etc.
Los entornos que tendrá que conocer serán los siguientes:
- PHP 4/5
- Conocimientos shell script y librerias linux auxiliares (imagemagik,gd…)
- Administracion básica de servidores linux.
- XHTML transitional o strict/ CSS 2.0
- Jquery , Jquery-ui , algun framework javascript
- MySQL 415.000 € – 24.000 € Bruto/año
Empresa que busca un Senior Analyst, con 3 años de experiencia y con los perfiles de programador backend, administrador de sistemas, maquetador, programador frontend y administrador de DB4 y que paga como se pagaría a un becario o a un Junior5.
Lógicamente, la persona que llegue a esta oferta de trabajo, si cumple los requerimientos mínimos con la experiencia indicada en empresa, será porque se encuentra en una situación desesperada a raíz de la crisis en la que nos encontramos, luego el empresario estaría siendo un usurero y estafador. Si la persona que llega miente en cuanto a la experiencia profesional o a los conocimientos, pero no en cuanto al rango salariar, nos encontramos con que el empresario está contratando a un Junior para realizar labores de Senior Analyst, luego entra en el rango de explotador.
Pero la cosa no acaba ahí, sino que luego, para rematar la faena, nos encontraremos a un Junior con muy poquita experiencia, pero con ganas de comerse el mundo y sin saber decir esto no se hacerlo realizando desarrollos avanzados a destajo, sin aprender lo más mínimo y chapuceando con lo poco que sabe. Conclusión fácil, el desarrollo que consigues es barato, pero si fuese una casa no me verías nunca acercarme ni al portal de la misma. Y vendrán los problemas después ya que el trabajo es nefasto, porque tiene mil bugs de seguridad, porque está hardcodeado, porque no es escalable, ni óptimo en cuanto a uso de los recursos… Y será cuando por desgracia, y esto pasa más de lo que nos creemos, tengamos que recodificar todo el proyecto y gastarnos un dineral innecesario en auditorías externas, programadores expertos y demandas por clientes cabreados.
Entonces, la pregunta sería, cual es la forma si no hay dinero?
Para empezar, lo fundamental, es siempre tener claro que hay rangos en la profesión, que los rangos no están por gusto y tampoco sus salarios y que cuanto más a rajatabla cumplas esta estructura mejor te irá. Tener también en cuenta que un Junior es una persona que necesita aprender y aprehender de un superior y no por arte divina6. Y que, por tanto, la formación es algo fundamental para crear un equipo.
Si no puedes tener un CTO, prueba con un PM o un Senior Analyst y si solo puedes optar a Juniors, preocupate muy mucho en formarlos, hay mil opciones en este aspecto, desde cursos profesionales que cuestan un dineral hasta gratuitos subvencionados por el estado. Pero intenta siempre formarles al máximo, además como buenos Juniors te lo agradecerán, reforzando así el lazo empresa-trabajador.
Y para terminar, pongámonos en una situación real, por ejemplo la mía, con un perfil netamente tecnológico. Una posible plantilla estaría compuesta por puestos de Senior Analyst y Juniors, siendo mi labor la de CTO y PM encargándome en todo momento de su seguimiento, análisis, ayuda y aprendizaje y buscando para el área de diseño, por ejemplo, un CDO al que delegar el seguimiento y formación del personal de dicha área.
- Ojo, que la culpa no es suya, ellas son solo el campo de cultivo de los empresarios-listillos ↩
- O para Senior Analyst con precios de Junior ↩
- Tampoco hay que buscar mucho, esta oferta está ahora mismo activa junto con otras más que había seleccionado en apenas 5 minutos de búsqueda ↩
- Cierto es que no dice nada de administrar, pero está claro que le tocará administrar la BD ↩
- Esto da un sueldo mensual neto entre 880 y 1330€ ↩
- Ten esto en cuenta también a la hora de contratar un CTO, ya que tener a un super experto que no pasa por las oficinas tampoco te servirá de mucho, y este es un caso real ↩
Baq.be – “mi” nueva generación de acortadores de url.
Oct/094
Bueno, hoy toca presentar mi último “campo de cultivo“: Baq.Be
Aunque, en principio, viendo el estado actual del site1, más que hablaros de que es Baq.Be os voy a hablar de porque lo estoy empezando a desarrollar2 y a donde quiero llegar con él.
El por qué lo estoy desarrollando es fácil de explicar. Porque me da la gana.
Hace ya un tiempo que la mayoría de los desarrollos que me llegan me los piden sobre Drupal y claro, ahí lo de analizar, desarrollar y pensar, pues como que no. Más bien se juega a colocar y configurar cosas para que esté como al cliente le gusta. Así que decidí no enquilosarme y me puse con uno de los tantos proyecto/pruebas que tengo pendientes.
La idea de Baq.Be es desarrollar un site para acortar URLs como tantos otros que hay en el mercado. Desarrollar un portal con un API abierta para que cualquier desarrollador pueda usar Baq.Be como pasarela para acortar URLs, como tantos otros. Llenarlo de estadísticas, enlazarlo con Twitter y Facebook, permitir guardar perfiles de visitantes, como tantos otros. Subir imágenes y archivos, comprobar estadísticas de los mísmos, o modificarlos si es necesario. Si, como tantos otros.
Entonces que aporta Baq.Be frente al resto de sites que ya hacen esto? Que tiene de nuevo? Pues poca cosa, la verdad. Más bien nada nuevo para la red.
Por eso, como ya avisaba antes, lo hago porque quiero, porque así pruebo un montón de cosas que tenía en el tintero y que si no es por cosas como estas no voy a usar nunca y porque así desconecto un poco de los gestores prefabricados, vuelvo con mis librerías y las refino un poco más.
Y sobretodo, porque me gusta trastear!
Así que nada, si queréis tener una cuenta de acceso a la versión “Alfa -1” de Baq.Be e ir comprobando las novedades poco a poco, solo tenéis que mandar un correito a hola EN baq.be DOT com y os daré user/pass tan rápido como pueda.
- Después abandonar muchos proyectos por falta de tiempo para completarlos lo suficiente como para sacar algo 100% funcional, he decidido con Baq.Be, cambiar las formas y sacarlo nada más tener lo básico y así obligarme a ir actualizandolo y subiendo los cambios para que la gente los vea, pueda conseguir un mayor feedback y motivación para acabarlo del todo. ↩
- Actualmente lleva menos de 15 horas de desarrollo, creo que lo más justo es decir “empezando a desarrollar” ↩
Y, que es entonces la nuezAzul?
Jun/096
Bueno, desde que abrí el blog la semana pasada, mucha gente preguntado:
“Vale, según tú1, eres un fanático de la programación estricta bajo PHP, OOP y el uso de los patrones de diseño (GoF); pero, que es la nuezAzul? A que os dedicáis exactamente?“
Bueno, nuestro objetivo es bastante simple en la base.
Desarrollo web avanzado para llevar acabo ‘ideas 2.0′ de forma seria, profesional y de calidad.
Queremos evitar que una buena idea desaparezca y por esto, siempre que nos llega una nos dedicamos al 100% a esta, evitando coger más de una idea a la vez y poniendo así todo nuestro esfuerzo en un solo proyecto.
Y esto, que significa realmente?
Bueno, esto significa que no hay proyecto pequeño; saber que todos los proyectos se van a tratar de igual manera. Se mimarán y desarrollarán manteniendo siempre el mismo “mínimo de calidad“, muy superior a la media de empresas de desarrollo web.
Significa que como cliente, no tendrás que vivir verdaderos calvarios para sacar tu web al mercado, para ver avances en el proyecto o simplemente, para ser informado en todo momento del estado del mismo.
En cierta ocasión leí a @loogic “tuitear” algo similar a:
¿por qué no existe un Grupo Intercom en Madrid?
La verdad es que me sorprendió dicho tweet, pero es totalmente cierto. Hasta ahora no hay ningún Grupo Intercom en Madrid, y aunque suene a utopía, este es nuestro sueño. Llegar a ser en Madrid (y a nivel naciona, claro), lo que es el Grupo Intercom en Barna.
Ser una empresa donde poder llevar acabo esas ideas innovadoras y desarrollos que requieren una verdadera planificación, un desarrollo eficiente y una escalabilidad máxima para el día de mañana. Ese el objetivo de la nuezAzul, ambicioso, verdad!
Para esto, todos los proyectos los dividimos en varias etapas o fases, informando al cliente en todo momento del estado de su proyecto.
En una primera fase hablaremos, y mucho, de la idea, que quiere el cliente y como quiere rentabilizarlo, que ideas podemos aportar nosotros al concepto, como se puede llevar a cabo… Destriparemos por completo la idea, la reorganizaremos, la reensamblaremos y la potenciaremos todo lo que podamos.
Una vez clara la idea, nos pondremos manos a la obra con el proyecto, buscaremos el usuario objetivo, trabajaremos sobre la interacción y usabilidad del site, buscaremos marcar los ROI del proyecto, haremos la toma de requisitos del proyecto, crearemos la interacción completa del site, los wireframe necesarios, las bases de los libros de estilos…
Después de las fases de “recogida de información” el proyecto se divide en tres fases paralelas:
- Diseño y maquetación final de los bocetos de alto nivel; Dentro de los limites de los wireframes los diseñador tendrán que crear algo acorde a la filosofía del proyecto. Después nos tocará maquetarlo, siempre cumpliendo, en la medida de lo posible2 , con los estandares web establecidos.
- Programación del proyecto, tanto backend como frontend; Gracias a una toma de requisitos amplia se evitarán errores en la programación, situaciones confusas o errores en la navegación. Facilitando así el objetivo principal, realizar un sito escalable, potente y de calidad.
- Social/Online Branding de la marca; Mientras que las fases de diseño y programación están trabajando al máximo, aprovechamos para hacer un poco de “online brandig“, haciendo que empiece a sonar la marca en el mundillo web, que aparezca ya en varios sitios y que la gente empiece a interesarse por ella, incluso antes de que esté terminado el site.
Y por último, entendemos que cualquier proyecto de gran calado, es o debería considerse un “ser vivo“. Por lo que realizaremos un seguimiento continuado del proyecto, donde veremos como crece, hacia donde evoluciona, que cambios hay en los habitos de los usuarios,… Así estaremos siempre preparados y con posibilidad de modificar el proyecto con el entorno.
Está es (no) brevemente nuestra filosofía. Esto es lo que queremos hacer. Suena ambicioso, pero no dudo que podremos llegar a hacerlo. Así, que si te ha interesado, a que esperas para llamar?