Nel 2018 ho iniziato la mia carriera in Kinsta come Support Engineer. All’epoca eravamo una piccola azienda di circa cinquanta persone. Quando sono entrato nel team e ho iniziato ad aiutare i clienti, ricordo di essere rimasto molto colpito dal livello dettagliato della documentazione interna di Kinsta. Ancora oggi manteniamo lo stesso livello di documentazione per aiutare i nostri clienti.

Documentazione interna

Sebbene la documentazione interna fosse ottima, non esistevano molti strumenti o automazioni. Solo dopo la decima volta che ho installato Redis o configurato Ioncube ho deciso di prendere in mano la situazione.

Prima di allora, tutto veniva fatto manualmente. Andavamo su Confluence e cercavamo i passaggi specifici e le opzioni di configurazione che dovevano essere aggiunte/modificate e c’erano molti copia/incolla di blocchi di codice, verificavamo i dati in posizioni specifiche e apportavamo aggiornamenti in altri punti. Questo comportava un allungamento dei tempi di aggiornamento e maggiori opportunità di errore, in quanto sbagliare anche un solo passaggio della procedura poteva causare problemi.

Ho iniziato a scrivere script Bash per ogni attività nell’ambito di un progetto che mi aiutasse a migliorare il mio lavoro e mi permettesse di eseguire queste attività metodiche ripetutamente senza errori. Col tempo, gli altri membri del team si sono accorti di quello che stavo facendo e hanno iniziato a usare gli script. Ciò che prima richiedeva 20 minuti ora richiedeva solo pochi secondi, riducendo al contempo la possibilità di errore umano.

Solo quando mi sono rivolto a Tom Sepper, all’epoca Chief Customer Officer e Director of Support, con l’idea di trasformare questi script in uno strumento più ampio e disponibile per tutti, le cose hanno iniziato a prendere forma.

Kinsta Tool

Ho intrapreso il processo di riscrittura degli script che avevo scritto in Bash, convertendoli in PHP per renderli più versatili e così è nato Kinsta Tool. Kinsta Tool è tuttora utilizzato dal nostro team di supporto e dispone di una vasta gamma di automazioni per attività come la scansione di malware, l’installazione di estensioni PHP o la configurazione di Redis.

Kinsta Tool rimane uno strumento prezioso per il nostro team in quanto colma le lacune delle funzioni che non sono presenti nella dashboard di MyKinsta. Ad esempio, una richiesta che riceviamo spesso dai clienti è quella di ripristinare un sito allo stato predefinito di WordPress. Sebbene sia possibile farlo in MyKinsta, è necessario cancellare il sito e ricrearlo.

Per facilitare questo processo ai clienti che hanno richiesto assistenza, ho aggiunto una funzione al Kinsta Tool che utilizza sia WP-CLI che i comandi MySQL per eliminare il database, rimuovere i file e reinstallare l’ultima versione di WordPress semplicemente facendo clic su un pulsante. L’azione, in totale, richiede meno di 5 secondi. Se dovessimo ripetere i passaggi manualmente, potrebbero volerci dai cinque ai dieci minuti, a seconda delle circostanze.

L’estensione di Chrome

Altri hanno intrapreso implementazioni simili. Prima di me, Thoriq Firdaus, ora membro del nostro team di tecnologia di marketing ma precedentemente support engineer, ha sviluppato un’estensione per Chrome. L’estensione veniva utilizzata internamente per mostrare le intestazioni di un sito web e rilevare se era ospitato o meno da Kinsta.

Fino a poco tempo fa, l’estensione di Thoriq era ancora in uso ma non veniva mantenuta. Di recente abbiamo intrapreso il processo di scrittura di una nuova estensione per assicurarci di utilizzare l’ultima versione del manifesto di Chrome, includendo il concetto originale ma aggiungendo i nostri strumenti e le nostre funzionalità aggiuntive che avevano senso per aiutare i nostri team a contatto con i clienti a svolgere il proprio lavoro in modo più efficace.

Un ottimo esempio è il modo in cui l’estensione offusca automaticamente gli URL non attendibili quando il nostro team digita le risposte in Intercom. Questo aggiunge un ulteriore livello di sicurezza, assicurandoci di non inviare a qualcuno un link dannoso da cliccare.

L’estensione per Chrome fornisce anche un’indicazione immediata del fatto che il sito sia ospitato o meno da Kinsta. I nostri tecnici del supporto possono cliccare sull’estensione e vedere rapidamente tutte le intestazioni rilevanti che il sito sta inviando, il che può aiutare a rintracciare i problemi di un sito web.

Inoltre, l’estensione fornisce un blocco note temporaneo per consentire ai tecnici del supporto di copiare/incollare note o codice, che rimarrà aperto finché la scheda rimarrà aperta. In questo modo il passaggio da Intercom a MyKinsta è molto più semplice e produttivo.

Sistema di routing delle chat

Un altro strumento interno su cui ho lavorato è stato l’utilizzo dell’API di Intercom per creare il nostro sistema di routing delle chat. Intercom offre un approccio a rotazione che, pur essendo efficace, spesso portava alcuni tecnici del supporto ad avere molte più conversazioni di altri e la coda si sbilanciava rapidamente.

Per questo motivo, ho scritto un codice di routing personalizzato in PHP che si interfaccia direttamente con le API e i webhook di Intercom per ricevere e rispondere alle azioni eseguite direttamente da Intercom. Di conseguenza, siamo riusciti a stabilizzare l’assegnazione delle conversazioni ai membri del team di supporto.

Per mantenere la tempestività e l’informatività delle nostre risposte di supporto, abbiamo implementato la nostra logica di routing, che svolge un ruolo fondamentale nel valutare la complessità o il “peso” di ogni conversazione.

Ad esempio, una discussione sul DNS è generalmente considerata meno impegnativa di una riguardante un reverse proxy. Di conseguenza, alla conversazione sul DNS viene assegnato un peso minore rispetto a quella sul reverse proxy.

La nostra logica di instradamento valuta la disponibilità dei tecnici dell’assistenza, calcola il peso cumulativo delle conversazioni in corso per ciascun tecnico e assegna le nuove conversazioni in arrivo al tecnico con il peso più basso.

Cosa riserva il futuro

Arrivati a luglio 2022, abbiamo iniziato a capire quanto questi tipi di strumenti e sistemi siano e rimarranno importanti per il successo generale dei nostri team di supporto ai clienti. In qualità di persona principale che lavora a questi strumenti, oltre alle altre responsabilità, con ogni progetto a cui ho lavorato ho acquisito un debito tecnico.

Ogni sistema necessitava di aggiornamenti e di manutenzione. Questo ha continuato a portare via più tempo di quello che avevamo a disposizione. Nel frattempo, ho ricoperto il ruolo di Head of Support e infine di Director of Technical Support, che è il mio ruolo attuale.

In risposta al carico di lavoro sempre crescente e alla consapevolezza che avremmo continuato ad avere bisogno di strumenti basati sull’assistenza ai clienti, abbiamo deciso che era giunto il momento di assumere qualcuno per questo ruolo in modo permanente. Siamo riusciti a fare una promozione interna e abbiamo trovato una persona con le conoscenze e l’esperienza necessarie per sostituirmi, non solo per fare quello che facevo io, ma anche per avere il tempo necessario per produrre strumenti di qualità.

Da quando abbiamo assunto il nostro Internal Tools Developer, abbiamo lavorato insieme a progetti che ci hanno permesso di monitorare meglio le statistiche. Abbiamo ricostruito l’estensione per Chrome e continuiamo a lavorare per migliorare gli strumenti esistenti.

Riepilogo

Nel 2018 eravamo ancora un’azienda giovane e un’idea così piccola come quella che si è poi trasformata in Kinsta Tool può spesso portare a cose più grandi e migliori. Credo che questo tipo di “mentalità da startup” possa a volte essere ignorato come modo per le persone al di fuori del ciclo di sviluppo tradizionale di contribuire con le proprie idee a migliorare l’efficienza e gli strumenti.

L’efficienza e la semplificazione del lavoro sono state una mia priorità durante il mio incarico in Kinsta e credo fermamente che molti team possano trarre vantaggio dalle proprie forme di tooling e automazione.

Condividendo la mia esperienza su come abbiamo sfruttato questo aspetto per i nostri team che si interfacciano con i clienti, spero che anche voi possiate trovare dei modi per migliorare l’efficienza, ridurre la possibilità di errori e migliorare le prestazioni del vostro team.

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.