Cómo probar a un desarrollador que dice que conoce el desarrollo de plugins de WordPress

He realizado más de 800 entrevistas técnicas en los últimos 3 años para un puesto de desarrollo de complementos.

Hemos contratado a 10 personas desde entonces, la mitad de ellos eran referencias .

No hay pruebas disponibles para el desarrollo de complementos. De hecho, hemos discutido un programa oficial de capacitación dos veces en WordCamp San Francisco con algunos de los principales organizadores de la comunidad (incluidos los nombres con los que todos están familiarizados).

En términos de un programa formal para eso, hay dos obstáculos basados ​​en mi comprensión después de cientos de chats y varias conversaciones en vivo:

  1. Las opciones principales y obvias para la capacitación formal tendrían que gastar una tonelada de recursos y obtener una mala reputación entre millones de proveedores de servicios que construyen sitios agrupando temas y complementos.
  2. La comercialización del esfuerzo afectaría la libertad y la accesibilidad de los países con estándares económicos más bajos.

Entiendo ambos puntos a pesar de que estoy increíblemente insatisfecho con la calidad de los desarrolladores en la industria de WordPress. Probablemente la mitad de las personas que hemos contratado no tenían experiencia en WordPress, pero pasaron de 2 a 4 años en el desarrollo de PHP desde cero y con marcos establecidos que requieren una programación real en el día a día.

Incluso he entrenado varios cursos sobre desarrollo de plugins de WordPress. Incluso un año después, tuve dificultades para elegir un candidato simplemente porque no habían pasado suficiente tiempo mejorando sus habilidades y aplicándolas en un entorno del mundo real. Dicho esto, son bastante útiles para incorporar nuevos candidatos que sean estudiantes talentosos y rápidos.

Hay varias cosas que hacemos antes de contratar a un desarrollador de complementos internamente.

Portafolio de WordPress.org . Todos pueden contribuir al repositorio global y oficial de WordPress. Hay un formulario de contribución que requiere un nombre de complemento, una breve descripción y un enlace al complemento. El equipo de revisión de complementos realiza una revisión de código y aprueba el complemento en cuestión de días si todo funciona sin problemas.

Algunos candidatos también pueden participar en el desarrollo de WordPress Core. En este momento, es probable que haya menos de 2.000 personas en todo el mundo que hayan contribuido al WordPress Core (la plataforma principal disponible para todos) y más del 60% de ellos han enviado traducciones, pequeños ajustes de cadena o alteraciones de avisos dentro del código, con menos de 1K personas que contribuyen con el código de programación real. Todavía no hemos contratado a un colaborador de Core internamente, aunque tenemos 5 colaboradores que han enviado sus parches mientras trabajan con nosotros.

Otra prueba del trabajo de desarrollo de complementos . Por lo general, GitHub, Bitbucket, GitLab u otro repositorio abierto donde podemos revisar los complementos de muestra y su desarrollo a lo largo del tiempo. Todos los VCS permiten navegar confirmaciones iterativas y analizar cómo alguien piensa y aplica los cambios a lo largo del tiempo (que muchas personas olvidan).

Conocimiento de las API de WordPress . Hay una lista bastante detallada de las API de WordPress disponibles y la mayoría de los desarrolladores han utilizado al menos una docena de estas. Solicitar fragmentos de código y proyectos prácticos que los utilicen, así como detalles sobre cómo funcionan o qué opciones ofrecen, dónde se almacenan los datos, qué tipo de desinfección se requiere o se incluye de forma inmediata ayuda.

Experiencia en PHP fuera de WordPress . Dado que se puede construir y lanzar un sitio web de WordPress sin experiencia en codificación, la experiencia de programación con PHP fuera de WordPress también es importante para nosotros. Los desarrolladores de WordPress a menudo no necesitan lidiar con la administración de bases de datos y crear sus propios esquemas, crear paneles de administración y lidiar con sesiones de usuarios, construir motores de plantillas con enrutamiento y reescribir componentes, o incluso implementar funciones básicas que son obligatorias para proyectos personalizados.

Adhesión a los estándares de codificación . Existen estándares de codificación públicos para proyectos de WordPress que se centran en PHP, HTML, CSS y JavaScript. Hay un conjunto aceptado de mejores prácticas y convenciones de codificación que los desarrolladores de complementos deben seguir para que sean compatibles con versiones anteriores y mantenibles a medida que crece un proyecto.

Comprender el ecosistema circundante . El desarrollo de complementos suele formar parte de la creación de una aplicación continua que depende de otros aspectos. Además de otros lenguajes de programación que interactúan dentro y con el sitio web, existen argumentos específicos de alojamiento y argumentos de configuración del servidor que los desarrolladores deben conocer, herramientas viables como WP-CLI y una comprensión aproximada de cómo el proyecto de WordPress crece y se desarrolla con el tiempo.

Mantenerse en contacto con la comunidad de WordPress y los sitios web de make / org significa que el desarrollador se mantiene al día con las últimas tendencias y es consciente de los cambios que se necesitarían para el proyecto a lo largo del tiempo. Hemos rechazado las ofertas de proyectos para componentes que fueron programados para las próximas 2 versiones del núcleo de WordPress, ya que no tiene sentido construir una réplica de algo que estaría disponible para decenas de millones de propietarios de sitios en 6 meses a partir de ahora.

Fondo de informática . No nos importan los graduados. Ninguno de nuestro personal técnico se ha graduado con éxito (aunque algunos de nosotros lo intentamos). Pero hay muchas cosas debajo de la superficie.

WordPress es un CMS creado con PHP y JavaScript que manejan datos en una base de datos MySQL. Se requieren conocimientos de programación, así como algoritmos, estructuras de datos y garantizar la legibilidad, estabilidad, seguridad y rendimiento del código.

El CMS funciona sobre un servidor web (Apache o nginx) a través de mod_php o php-fpm. Es importante comprender cómo funcionan los servidores web y procesar las solicitudes y todas las estrategias de estabilidad y gestión de datos.

Todo eso se ejecuta en un sistema operativo que coordina e interactúa con el hardware de la computadora. Comprender el impacto de los picos de CPU, maximizar el almacenamiento de RAM, golpear el servidor con E / S pesadas y las mejores prácticas para la optimización, el almacenamiento en caché, la descarga de recursos y la desnormalización de bases de datos son ciertamente beneficiosas.

Luego está el aspecto de la red y el envío de recursos, el protocolo TCP / IP y todo. No se requiere un conocimiento profundo, pero simplemente escribir código sin ninguna pista de lo que está sucediendo allí es simplemente poco profesional.

Entrevista técnica Durante la entrevista repasamos todos los pasos anteriores. Además de eso, discutimos logros y problemas complejos que se han resuelto tanto desde el punto de vista comercial como técnico. Si un solicitante dice que ha creado una plantilla de página con 2 campos de entrada como el mayor logro, definitivamente es un bloqueador (sucedió la semana pasada aquí para un concierto de desarrollo de PHP).

También podemos tocar algunas de las API de WordPress y discutir qué experiencia tienen los candidatos o qué creen que realmente tienen esos componentes. Buenos ejemplos son la API de opciones, la API de configuración o la API de transitorios en términos de gestión y procesamiento de datos. Agregar tipos de publicaciones o taxonomías personalizadas es factible dentro de 20 líneas de código más o menos, pero hace mucho más por debajo de lo que importa para el gobierno de datos y el mantenimiento continuo.

Proyectos de prueba . Pedimos a los candidatos que completen un formulario de entrevista con varias preguntas sobre PHP, WordPress, JavaScript y SQL. La mayoría de ellos son bastante básicos (como “cuál es la diferencia entre una matriz unidimensional y multidimensional” o “cómo recuperar el recuento de elementos en una matriz”), pero algunos candidatos no responden a estos.

Les pedimos que creen un proyecto bastante simple que pueda desarrollarse dentro de 2 a 3 horas a partir de un desarrollador de complementos con un año de experiencia en programación. Por lo general, es un complemento simple que registra un tipo de publicación (por ejemplo, Eventos), una categoría correspondiente (Tipos de eventos), registra un metabox con un par de campos (como Fecha de inicio y Fecha de finalización) y hace un par de cosas menores. Si les toma 3 días construirlo, obviamente hay un desajuste y debemos considerar si una posición junior es factible o no.

Incluso proporcionamos un Marco de complementos con 6 páginas de documentación detallada para cada API común y cómo funciona realmente que algunos candidatos pueden usar como punto de partida. En este momento tengo dos candidatos que han estado trabajando en la tarea de prueba durante 5 días a tiempo completo y aún no logran concluir el complemento básico.

Dado que los desarrolladores de complementos profesionales son algo raros de encontrar en el gran grupo de candidatos, es probable que se requieran algunos compromisos. Con base en las diferentes estrategias de prueba anteriores, puede decidir qué tan familiarizado está un desarrollador con el desarrollo de complementos y cuánto tiempo le tomará unirse a su equipo o trabajar en su proyecto, y si vale la pena descargar eso a un equipo más grande de expertos de la industria. En desarrollo real.

Aqui tienes:

$ 5 / hora ¿Dónde debe poner el código relacionado con la realización de acciones personalizadas?

function.php

$ 6 / hora

Un complemento

$ 8 / hora ¿Cuál es otro nombre para un método?

Una función.

$ 10 / hora Haga un código corto “Hola mundo”

función MyShortcode () {
volver “Hola mundo”;
}
add_shortcode (‘hello-world’, ‘MyShortcode’);

$ 11 / hora ¿Cuál es el gancho de acción más utilizado para la mayoría de las cosas que hace un complemento?

“en eso”

$ 13 / hora ¿Cuál es el último comando que utiliza para enviar cambios a Github?

empuje origen maestro

$ 16 / hora ¿Es honesto vender temas con funcionalidad en ellos para captar clientes comerciales?

No. El diseño es un trabajo de $ 5 / hora para personas en Asia.

$ 19 / hora ¿Qué comando debo ingresar en un navegador para ver una lista de usuarios?

< https: //yoursite.url/wp-json/wp/v2/users&gt ;

$ 22 / hora ¿Cómo puedo obtener SSL gratis?

EFF Certbot

$ 30 / hora ¿Qué tipo de capacidad puedo obtener en el nivel gratuito de AWS?

8g T2Micro

$ 35 Nombre la mejor plataforma TDD para WordPress

$ 40 / hora PHPUnit

$ 45 / hora Behat

WordPress de $ 50 / hora para Codeception

$ 100 / hora ¿Por qué BDD es el camino a seguir para WordPress?

Debido a que es una arquitectura impulsada por eventos [EDA] en lugar de un MVC, que se presta perfectamente a BDD, ¡por eso WordPress es el sistema operativo formativo de todo Internet y CONSUMIRÁ la mayoría de los otros ecosistemas con el tiempo! Kapla!

No hay pruebas que puedan garantizarle nada.

Una prueba de su experiencia en WordPress puede verificarse , de alguna manera, con la participación de la comunidad de WordPress. Debe verificar si él / ella:

  • creó o mantiene algunos complementos gratuitos en el repositorio de WordPress (verifique también las calificaciones, tickets de soporte resueltos)
  • tiene complementos premium
  • tiene un blog donde escribe sobre temas similares que necesita
  • ha escrito artículos en otros sitios que cubren el tema similar

Si está interesado en contratar a un desarrollador experto de WordPress, debe contratar uno que ya sea bueno o utilizar una empresa de outsourcing que le proporcione desarrolladores de WordPress de alta calidad como Toptal.com o Codeable.io.

¿Por qué tales plataformas de outsourcing? Dichos desarrolladores ya han sido probados a través de varios tipos diferentes de pruebas. Prueba de proyecto, codificación en vivo, exámenes … Los he revisado todos y si un desarrollador los ha aprobado, entonces ese desarrollador seguramente sabrá cómo manejar su requisito de complemento.

Espero haberte dado alguna guía que podría ayudarte a encontrar un buen desarrollador de WordPress.

PHP, MySQL, Javascript y CSS son las habilidades subyacentes clave para todos los desarrolladores de WordPress.

Los complementos de WordPress agregan otra capa de complejidad al conjunto de habilidades, porque WordPress utiliza Hooks, Filters y funciones y clases específicas de WordPress (como la gestión de bases de datos).

¿Ha considerado usar algo como Freelancer – Contratar y buscar trabajos para crear trabajo con Milestones. Una vez que esté seguro de que el desarrollador puede crear un prototipo en un sitio real de WordPress, puede liberar un pequeño pago.

Hasta ahora, cada vez que necesitaba un complemento, encontré algo ya existente que parecía llenar la factura. Posiblemente se necesitaría un ajuste o dos, pero siempre hay un complemento existente. A veces son difíciles de encontrar.

Excepto en algunos casos, he necesitado algo que requirió un tema o partes de un tema integrado en otro tema y, a menudo, algunas funciones en lugar de un complemento. Un poco de búsqueda y pensamiento a menudo surge con una gran solución.

Llegué a la conclusión de que crear un nuevo complemento no suele ser una buena idea. Al mismo tiempo, he descubierto que comenzar con un tema decente existente suele ser una gran idea. Puede ajustar un tema existente en lo que necesite.

Esta filosofía le quita un poco de trabajo al desarrollador.


En cuanto a probar un desarrollador de alguna manera … no lo permito yo mismo. Pérdida de tiempo. Si necesita ponerme a prueba a mí y mis habilidades, tendrá que organizar el pago, hágame saber que acepte su trabajo y luego vea si lo hago bien o no.

No todos los desarrolladores ven las cosas a mi manera … pero si me quieres, entonces me contratarás o pasarás a un desarrollador más hambriento.


Por lo tanto, evalúe sus planes y necesidades y luego póngalos en papel. Envíelos a su desarrollador y vea si cree que un nuevo complemento, una función de tema o un complemento existente (posiblemente alguna otra solución) podría adaptarse mejor ahora y en el largo plazo. Esa es la experiencia que realmente estás pagando.

Si necesita más ayuda o más preguntas, no dude en preguntar aquí. Estoy lleno de trabajo esta semana, pero siempre encuentro un poco de tiempo para Quora.

La mejor manera de probar a un desarrollador que dice que conoce el desarrollo de WordPress Puglin es hacerlo desarrollar un puglin (que se te ocurra).
Por lo general, las carteras de los últimos desarrollos funcionan bien si confía en la autoría del desarrollador.

Solicite mostrar algunos de los complementos que desarrollaron. Si realmente quieres evaluar el código, haz que alguien revise el código de tu potencial empleado …

Otra buena forma de probar las aguas: contratarlas para una tarea de prueba corta y pedir crear un complemento simple, luego las verá en acción …

No creo que haya ninguna prueba así. WordPress no es algo en lo que te certifiques como lo haces con otro software. De hecho, iría tan lejos como para decir que confiaría más en los resultados probados que en un buen examinado. Me temo que hay muchas personas certificadas en todos los campos que apestan.

Si tienen complementos en el repositorio oficial, la respuesta obvia es revisar su código. Si no entiende el código, pídale a un codificador de confianza que lo revise.

Tendería a ir por reputación. Pídales referencias y póngase en contacto con esas referencias. Y alguien que sea un verdadero desarrollador asesino tendrá una gran reputación muy obvia.

Por lo general, uno de los métodos anteriores ayudará. Sin embargo, hay un factor X aquí. Mucha gente está buscando precios bajísimos. Lo sé, porque me preguntan si haré algo por precios tontos. Los desarrolladores con una reputación de habilidad generalmente no estarán a precios bajos. Si necesita ir muy barato, siempre será una apuesta. Esperemos que no seas así. Buena suerte.

Primero lea algo como esto 10 cosas que todo desarrollador de plugins de WordPress debe saber: Smashing Magazine y desarrolle sus propias preguntas a partir de este tipo de material, luego comuníquese con este tipo por teléfono y tenga una conversación con él y lentamente haga estas preguntas, y si habla con estas respuestas y temas, entonces es legítimo, pero si está fuera de lugar y no dice ni remotamente cerca de cuáles son las respuestas, entonces sabes que es una mierda. . . Quiero decir que eso es lo que haría al menos

Bien..

Piensa en lo que estás tratando de lograr aquí. ¿Lo estás cuestionando? ¿No estás seguro de sus habilidades?

Personalmente, solo les pediría que le envíen un fragmento de su último código y que describan brevemente qué problema se resolvió con eso.

Si el código se ve limpio, y él sabe qué problema resolvió, entonces será bueno a mis ojos. Pedirle que realmente arregle algo para mostrar sus habilidades podría enojarlo. Sé que me irritaría. Si quieres que escriba algo para mostrar mis capacidades, tendrás que pagar por ello. No trabajo gratis

Eso es bastante normal en realidad.

Si eres una empresa más grande a la que los desarrolladores realmente querrían ir, entonces sí, puedes hacerlo. De lo contrario … Simplemente no lo hagas. No pierdas su tiempo. De todos modos, no podrá revisar su trabajo correctamente. También podría haber robado algún complemento gratuito de Interwebs y editarlo.

Haz solo dos preguntas.

  1. ¿Qué es register_post_types? ¿cómo funciona?
  2. ¿Cuántas tablas hay para categoría / etiquetas? preguntar la relación entre ellos.