El motivo por el que en mi portfolio tengo proyectos propios

Desde ya hace tiempo trabajo para proyectos de varios clientes, ya sean agencias de desarrollo web o clientes que tienen su propia web.

El problema de este tipo de proyectos es que se pueden resumir en:

  • Mis tareas son de apaga fuegos (arreglar bugs y problemas), no puedo decir que haya hecho yo la partes importantes o gran parte del proyecto.
  • Visualmente son proyectos digamos "poco atractivos". Por muy rico que sea en funcionalidades, si es visualmente feo entonces resta puntos en mi portfolio.
  • Por motivos varios, hay acuerdos de confidencialidad para trabajar para una agencia sin que cliente final sepa que yo soy freelance, con lo cual no puedo decir que yo he estado involucrado en el proyecto.
  • Son webs más o menos comunes. No hay novedad en hacer siempre el mismo tipo de proyectos. Es más de lo mismo pero suficientemente decente como para ponerlo en el portfolio.
  • El proyecto destaca lo suficiente en algo como para ponerlo en mi portfolio.

Como ves, solo en los dos últimos casos me puedo plantear si lo acabo añadiendo a mi portfolio.

¿Que es un portfolio?

Básicamente una lista o escaparate donde muestras otros proyectos en los que has participado. Digamos que es como un curriculum, demuestras que sabes sobre ciertas temáticas porque has trabajado en proyectos donde se usan determinados conceptos.

Esto es útil porque si un cliente tiene ciertos problemas, va a preferir contratar a alguien que ya tenga experiencia solucionando esos problemas o experiencia trabajando en proyectos similares al suyo.

El problema que acostumbro a tener es que en mi portfolio solo quiero poner cosas de calidad y que representen los conceptos y problemas en los que puedo ayudar a mis futuros clientes.

En el mundo web, las tecnologias estan en una continua evolución. Y con dicha evolución también aparecen nuevos problemas que se han de aprender a solucionar. Un buen desarrollador web ha de estar continuamente reciclandose, lo que implica que he de forzarme a usar cosas nuevas y mejorar en ellas.

Y aunque ahora mismo sea un senior (comparado con mi yo de hace unos años), siempre voy a ser un junior si me comparo con mi futuro yo.

¿Como salgo de mi zona de confort?

¿Entonces cómo consigo los primeros proyectos sobre conceptos/problemas nuevos para mi?¿Como salgo de mi zona de confort? Simplemente, haciendo SideProjects.

Cuando hago mis propios proyectos paralelos (SideProjects) todo está bajo mi control y tengo libertad para experimentar.

  • El diseño visual lo decido yo. No soy diseñador, pero con los años he cogido experiencia y puedo hacer webs lo suficientemente atractivas de forma rápida sin hacer diseños muy rebuscados.
  • Intento siempre usar Drupal para poder así ampliar mi portfolio. (Recordemos que me vendo como especialista en Drupal, no voy a hacer la web en Wordpress)
  • Intento hacer proyectos no comunes (o al menos que tengan un grado de dificultad para mi). Es una forma de aprender nuevas tecnologías que se pueden usar junto a Drupal
  • Puedo centrarme en las partes nuevas y hacer de forma rápida y/o simple las partes menos importantes para mi.

¿Qué es lo que me aporta hacer SideProjects?

  1. Porque me gusta. Es como un juego.
  2. Aprendo de cosas que normalmente no aplicaría a un cliente real por falta de conocimiento o experiencia.
  3. Me sirve para portfolio, y he obtenido clientes gracias a eso.
  4. Me sirve en muchos casos para crear módulos o contribuir patches con la comunidad de Drupal.org.
  5. Aprender a ponerse en la piel de cliente (en mis sideprojects yo soy mi propio cliente) y gastar lo mínimo de tiempo/dinero para tener un producto aceptable en poco tiempo.
  6. Y porqué no decirlo, es una forma de aprender a marchas forzadas como intentar monetizar una web y aprender SEO.

¿Eres freelance? Deberías hacer SideProjects

Totalmente recomendado. Sales de tu zona de confort, te puedes forzar a hacer las cosas distintas a como las haces con tus clientes habituales, aprendes mucho más y con mayor libertad, no estas bajo presión de una fecha de entrega de un cliente, aprendes un montón y tienes los medios para poder demostrarlo en tu portfolio.

Ejemplos reales de cosas que he aprendido

La lista que verás a continuación son solo algunas de las cosas que ahora mismo recuerdo que he aprendido haciendo SideProjects, y són cosas que estoy usando en proyectos reales de clientes.

Hay muchas otras cosas que he aprendido en SideProjects y no estan en la lista. No todo lo que se aprende se acaba usando y en muchos otros casos es más útil aprender las limitaciones de las herramientas que usas para evitar subestimar futuras tareas con clientes reales.

Algunas de las cosas que he aprendido con los años haciendo SideProjects (la mayoría en Drupal) han sido:

  • Hacer módulos custom (era un junior que no sabía casi nada)
  • Usar SASS (inconsciente de mi solo sabía jugar con CSS)
  • Gestionar configuraciones y automatizar deploys entre entornos (evitar errores humanos y optimizar mi tiempo)
  • Hacer subthemes en Bootstrap.
  • Aprender a scrapear e importar webs
  • SEO
  • Empezar a usar APMs como NewRelic para mejorar el rendimiento web
  • Empezar a jugar con Drupal 8 (cuando no era ni siquiera estable en aquella época)
  • Llevar el uso del módulo Migrate al siguiente nivel (webs con contenido automatizado e importaciones periódicas)
  • Jugar con mapas donde se geolocalizan miles de nodos
  • Llevar al siguiente nivel lo que puedo conseguir con el modulo Search API
  • Aprender de ElasticSearch
  • Aprender de la API de Paddle y de Stripe
  • Llevar el uso del módulo Flags al siguiente nivel
  • Trabajar con TailwindCss

Al fin y al cabo, los SideProjects son una excusa para hacer algo diferente, obtener experiencia y divertirme por el camino.

¿De qué va a ir mi futuro SideProject?

Un poco de spoiler. Mi siguiente proyecto personal irá de algo que me haga jugar con códigos QR, mundo crypto y NFT. Creo que me van a hacer falta en un futuro no muy lejano para otros proyectos con clientes reales, y así ya empiezo a practicar y ver sus problemas/beneficios.

¿Tienes algún proyecto en mente?

Si quieres hacer algo en Drupal tal vez puedas contratarme.

Ya sea para consultoría, desarrollo o mantenimiento de sitios web Drupal.