En 2018, empecé mi carrera en Kinsta como Ingeniero de Soporte. Por aquel entonces éramos una pequeña empresa de sólo unos cincuenta trabajadores. Cuando me incorporé al equipo y empecé a ayudar a los clientes, recuerdo que me impresionó mucho el detallado nivel de documentación interna que teníamos en Kinsta. A día de hoy, mantenemos el mismo nivel de documentación para ayudar a nuestros clientes.

Documentación Interna

Aunque la documentación interna era estupenda, no había muchas herramientas ni automatizaciones. No decidí tomar cartas en el asunto hasta que tuve que instalar Redis por décima vez o quizás configurar Ioncube.

Antes, todo se hacía manualmente. Íbamos a Confluence y buscábamos los pasos concretos y las opciones de configuración que había que añadir/modificar, y había que copiar/pegar mucho bloques de código, comprobar datos en lugares concretos y actualizar cosas en otros sitios. Esto hacía que las actualizaciones llevaran más tiempo y aumentaba las posibilidades de cometer errores, ya que saltarse un paso del proceso podía causar problemas.

Empecé a escribir guiones Bash para cada tarea como parte de un proyecto que me ayudara a mejorar mi propio trabajo y me permitiera realizar estas tareas metódicas repetidamente sin cometer errores. Con el tiempo, otros miembros del equipo vieron lo que hacía y empezaron a utilizar los scripts. Lo que antes me llevaba 20 minutos, ahora me llevaba sólo unos segundos, todo ello reduciendo la posibilidad de error humano.

Hasta que no me dirigí a Tom Sepper, nuestro Jefe de Atención al Cliente y Director de Soporte en aquel momento, con mi idea de convertir estos scripts en una herramienta más amplia que estuviera disponible para todos, las cosas no empezaron a tomar forma.

La Herramienta Kinsta

Emprendí el proceso de reescribir los scripts que había escrito en Bash, convirtiéndolos a PHP para que fueran más versátiles, y así se creó la Herramienta Kinsta. La Herramienta Kinsta sigue siendo utilizada hoy en día por nuestro equipo de soporte y cuenta con una gran multitud de automatizaciones para tareas como el escaneo de malware, la instalación de extensiones PHP o la configuración de Redis.

La Herramienta Kinsta sigue siendo una valiosa herramienta para nuestro equipo, ya que rellena los huecos en los que puede que no existan funciones en el panel de control de MyKinsta. Por ejemplo, una petición que recibimos a menudo de los clientes es restablecer un sitio al estado predeterminado de WordPress. Aunque puedes hacerlo en MyKinsta, requiere borrar el sitio y volver a crearlo.

Para facilitar este proceso a los clientes que buscaban ayuda, añadí una función a la Herramienta Kinsta que utiliza comandos WP-CLI y MySQL para purgar la base de datos, eliminar archivos y reinstalar la última versión de WordPress con sólo pulsar un botón. La acción, en total, tarda menos de 5 segundos. Si repitiéramos los pasos manualmente, podríamos tardar entre cinco y diez minutos, según las circunstancias.

La Extensión de Chrome

Otros han emprendido implementaciones similares. Antes que yo, Thoriq Firdaus, ahora miembro de nuestro equipo de tecnología de marketing, pero antes ingeniero de soporte, desarrolló una extensión de Chrome. La extensión se utilizaba internamente para mostrar las cabeceras de un sitio web y detectar si estaba alojado o no en Kinsta.

Hasta hace poco, la extensión de Thoriq seguía utilizándose, pero no se mantenía. Hace poco emprendimos el proceso de escribir una nueva extensión para asegurarnos de que utilizábamos la última versión del manifiesto de Chrome, incluyendo el concepto original pero añadiendo nuestras propias herramientas y funciones adicionales que tenían sentido para ayudar a nuestros equipos de cara al cliente a hacer su trabajo de forma más eficiente y eficaz.

Un gran ejemplo de ello es cómo la extensión ofuscará automáticamente las URL no fiables cuando nuestro equipo esté escribiendo respuestas en Intercom. Esto añade una capa adicional de seguridad al garantizar que no enviamos a nadie un enlace malicioso en el que se puede hacer clic.

La extensión de Chrome también indica de un vistazo si el sitio está alojado o no en Kinsta. Nuestros ingenieros de soporte pueden hacer clic en la extensión y ver rápidamente todas las cabeceras relevantes que envía el sitio, lo que puede ayudar a localizar problemas con un sitio web.

Además, la extensión proporciona un bloc de notas temporal para que los ingenieros de soporte puedan copiar/pegar notas o código, que persistirán mientras la pestaña permanezca abierta. Esto hace que cambiar de pestaña de Intercom a MyKinsta sea mucho más fácil y productivo.

Sistema de Enrutamiento de Chat

Otra herramienta interna en la que trabajé fue la utilización de la API de Intercom para crear nuestro propio sistema de enrutamiento de chat. Intercom ofrece un enfoque «round-robin»(turno rotativo), y aunque nos pareció eficaz, a menudo hacía que algunos ingenieros de soporte tuvieran muchas más conversaciones que otros, y la cola se desequilibraba rápidamente.

En respuesta a esto, escribí un código de enrutamiento personalizado en PHP que interactúa directamente con la API y los webhooks de Intercom para recibir y responder a las acciones realizadas directamente desde Intercom. Como resultado, hemos podido estabilizar la forma en que se asignan las conversaciones a los ingenieros de soporte.

Para mantener la puntualidad y la información de nuestras respuestas de soporte, implementamos nuestra propia lógica de enrutamiento, que desempeña un papel crucial en la evaluación de la complejidad o «peso» de cada conversación.

Por ejemplo, una conversación sobre DNS suele considerarse menos complicada que una relativa a un proxy inverso. En consecuencia, a la conversación sobre DNS se le asigna un peso menor en comparación con la discusión sobre el proxy inverso.

Nuestra lógica de enrutamiento evalúa la disponibilidad de los ingenieros de soporte, calcula el peso acumulado de las conversaciones en curso para cada ingeniero y asigna las nuevas conversaciones entrantes al ingeniero con el peso más bajo.

Avanzando

Antes de julio de 2022, empezamos a darnos cuenta de lo importantes que son y seguirán siendo este tipo de herramientas y sistemas para el éxito general de nuestros equipos de cara al cliente. Al ser la persona principal que trabajaba en estas herramientas, además de mis otras responsabilidades, con cada proyecto en el que trabajaba, adquiría deuda técnica.

Cada sistema necesitaba actualizaciones y había que mantenerlo. Esto seguía consumiendo más tiempo del que teníamos asignado. Al mismo tiempo, trabajaba como Jefe de Soporte y, finalmente, como Director de Soporte Técnico, que es mi función actual.

En respuesta a la creciente carga de trabajo y a la constatación de que seguiríamos necesitando herramientas basadas en el soporte al cliente, decidimos que había llegado el momento de contratar a alguien para ese puesto de forma permanente. Pudimos promocionar internamente y encontramos a alguien con los conocimientos y la experiencia necesarios para entrar y no sólo ocupar mi lugar, por así decirlo, sino disponer del tiempo necesario para producir herramientas de calidad.

Desde que incorporamos a nuestro Desarrollador Interno de Herramientas, hemos trabajado juntos en proyectos que nos han permitido hacer un mejor seguimiento de las estadísticas. Hemos reconstruido la extensión de Chrome y seguimos trabajando en mejoras para las herramientas existentes.

Resumen

En 2018, aún éramos una empresa joven, y algo tan pequeño como una idea en torno a lo que se convirtió en Herramientas Kinsta a menudo puede conducir a cosas más grandes y mejores. Creo que este tipo de «mentalidad de startup» puede pasar desapercibida como una forma de que las personas ajenas al ciclo de desarrollo tradicional aporten sus propias ideas para mejorar la eficacia y las herramientas.

La eficacia y facilitar el trabajo han sido una de mis prioridades durante mi trayectoria en Kinsta, y creo firmemente que muchos equipos pueden beneficiarse de sus propias formas de herramientas y automatización.

Al compartir mi experiencia sobre cómo hemos aprovechado esto para nuestros equipos de cara al cliente, espero que tú también puedas encontrar formas de mejorar la eficacia, disminuir la posibilidad de cometer errores y mejorar el rendimiento laboral de tu equipo.

Jeff Paul Kinsta

Jeff Paul joined Kinsta in October of 2018. He's worked as a Support Engineer, Support Lead, Head of Support, and Director of Technical Support. Jeff is responsible for the overall direction of four customer-facing teams: Support, Migrations, Malware & Abuse, and Internal Support.