¿Qué es un desarrollador Drupal?
A medida que el mercado de Drupal continúa creciendo, cada vez más clientes necesitan "Desarrolladores de Drupal". Pero, ¿qué es exactamente un desarrollador Drupal? Un desarrollador de Drupal es alguien que conoce a Drupal, ¿verdad? ¡¿Correcto?!
Siempre ha habido cierta confusión sobre los títulos de trabajo y las habilidades en el mundo Drupal. Esto es especialmente cierto con algunos reclutadores e incluso gerentes y clientes que están contratando. En efecto, hay tres áreas principales de experiencia en el mundo de Drupal: construcción de sitios, desarrollo de backend/módulo y temas. Las habilidades requeridas para cada uno son bastante diferentes.
Drupal Site Builder / Creador de sitios web
Un creador de sitios Drupal, o también conocido como sitebuilder o constructor Drupal, es alguien que crea sitios Drupal con solo mover el ratón y hacer clic en la interfaz de usuario del administrador sin escribir mucho o ningún código personalizado. Digo "mucho", porque podrían implementar un hook extraño aquí y allá. Pero la mayor parte de la funcionalidad del sitio / aplicación proviene de la configuración del núcleo de Drupal y los módulos contribuidos.
Los constructores de sitios tendrán experiencia con una amplia gama de módulos contribuidos y comprenderán cómo trabajan juntos para resolver un problema en particular. Entenderán las limitaciones de los módulos y deberían poder proporcionar un argumento conciso de los pros y los contras de varias soluciones. El Site Builder creará los tipos de contenido, taxonomía, navegación, ajustes preestablecidos de imagen, reglas, etc. Una de las cosas magníficas de Drupal es que no excluye a los que no son desarrolladores. La comunidad de Drupal y la plataforma proporcionan un conjunto de herramientas muy poderoso para que las personas construyan sitios innovadores y complejos sin el requisito de ser un programador. Y dominar esto es una habilidad muy valiosa en sí misma.
Drupal Themer / Desarrollador frontend
Un Drupal Themer es el desarrollador especialista en front-end. Son expertos en HTML, CSS y Javascript. También son expertos en la capa temática de Drupal. Deberían poder tomar un diseño y convertirlo en el tema de trabajo. Idealmente, estarán bien versados en la implementación de un diseño responsive (diseño para móviles y tablets).
Desarrollador de módulos Drupal / Desarrollador de backend
Un desarrollador Backend de Drupal es alguien que escribe mucho PHP y otros lenguajes del lado del servidor. Escriben módulos personalizados, pruebas automatizadas, consumen servicios web, automatizan la implementación, etc. También pueden conocerse como "desarrolladores de Drupal de backend". También pueden involucrarse en algunos de los aspectos más avanzados de la capa temática. A menudo configurarán una implementación automatizada, o revisan problemas críticos de rendimiento haciendo debug de las distintas partes de la web.
Una nota sobre contribución y colaboración
Drupal es inherentemente un proyecto colaborativo. Los creadores de sitios, los desarrolladores de módulos y los desarrolladores de frontend a menudo contribuirán con su trabajo a la comunidad y colaborarán con otros. Es común que los desarrolladores de módulos compartan y colaboren en módulos contribuidos, los de frontend sobre temas contribuidos y los sitebuilders recetas de construcción de sitios y otras formas de documentación.
Las tres disciplinas
Generalista de Drupal / Jack of All trades / Full Stack Developer
Es muy común hacer los tres. Puede estar más avanzado en un área u otra, pero aún así actuar de manera general.
En la mayoría de los proyectos en los que he trabajado, no ha habido un creador de sitios dedicado. Tanto los desarrolladores backend como los desarrolladores frontales harán elementos de construcción del sitio.
La forma en que una empresa contrata y utiliza a los expertos Drupal varía. En un extremo, una empresa puede contratar especialistas. Para entregar una pieza particular de funcionalidad o característica, el trabajo puede tener que pasar por cada una de las especialidades antes de que se realice. Uno de los otros extremos es que una empresa puede asumir que una sola persona experta en Drupal debe hacer las tres especialidades. En este caso, es común que el equipo sea un equipo de "Desarrolladores de Drupal" y el rol abarca la construcción del sitio, el desarrollo del backend y la temática del frontend. Ambos enfoques tienen sus pros y sus contras, ¡pero eso ya lo explicare otro día!
Otros roles
Al igual que cualquier otra configuración de desarrollo web, hay una variedad de otros roles incluidos en el proceso de creación y soporte de aplicaciones basadas en Drupal. Esto incluye:
Sysadmin / Devops : ejecute la pila en vivo, a menudo implementará sitios Drupal en el entorno en vivo, se ocupará de problemas de rendimiento, configurará un CDN, Varnish, Memcache, ElasticSearch, Solr, etc.
QA : pruebe todos los cambios para garantizar la calidad y que cumplan los requisitos. Configurar pruebas automatizadas.
Project Manager / Scrum Master : dirige el equipo scrum, elimina los impedimentos para el progreso, asegura la entrega del proyecto a tiempo y presupuesto.
Propietario del producto : presenta los requisitos. Trabaja en estrecha colaboración con el gerente del proyecto para priorizar el trabajo atrasado. Normalmente tiene la firma final de todos los cambios.
Diseño / UX : viene con el diseño y la experiencia del usuario. Pueden construir prototipos que luego se pueden convertir en un tema de Drupal.
Traductores : Si tienes una web con muchos idiomas. Te hace falta una o varias personas que sepan escribir en esos idiomas.
¿Quién no es un desarrollador de Drupal?
Este consejo se debe dar a cualquier reclutador o contratante en el espacio de Drupal. Un desarrollador de PHP no es necesariamente un desarrollador de Drupal. No importa cuán bueno sea el desarrollador de PHP en PHP, a menos que tengan una experiencia decente de Drupal y entiendan sus API y, me atrevo a decirlo, "a la manera de Drupal", cometerán muchos errores. Luego deberá contratar a un desarrollador de Drupal experimentado para limpiar el desorden dejado. Por supuesto, estoy siendo un poco simplista aquí. En los tiempos actuales, donde la demanda despoja a la oferta, no es tan simple como eso. Es posible que se vea obligado a contratar un desarrollador de PHP que no tenga mucha (o ninguna) experiencia en Drupal. Eso está bien, pero el requisito mínimo debe ser que el desarrollador quiera aprender los estándares de Drupal, comprender la cultura de Drupal e intentar hacerlo de la manera Drupal. No querrás a alguien que lo trate como un marco más que se puede doblar y romper con la forma de pensar del desarrollador. Esa es una receta para crear una pesadilla de mantenimiento que le costará mucho dinero al negocio a largo plazo.
¿Buscas a alguien que haga tu proyecto web en Drupal?
Como he dicho antes, depende de cada cliente y de cada proyecto saber si es mejor contratar un equipo con gente especializada en cada área (sitebuilding, frontend, backend) o si para tu proyecto ya tienes bastante con un desarrollador Full-Stack que domine todos los ambitos.
Si ahora mismo no tienes claro que es lo que más te conviene ... te recomiendo que te pongas en contacto conmigo mediante el formulario de esta web, y que me expliques un poco de tu proyecto web. De esta forma te podre ayudar a hacer la mejor elección para ti.
¿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.