Pentru ca tot timpul ne-am dorit sa impartasim comunitatii ce facem, am hotarat sa scriem despre cum lucram aici, la Caphyon.
Pentru inceput va vom prezenta echipa de suport (Solutions Engineer) si ce face ea pentru unul din produsele noastre, Advanced Installer.
Munca in echipa de suport
Inca de la inceput, echipa a evoluat constant, atat numeric cat si calitativ. Am avut colegi care au migrat spre alte departamente (majoritar catre echipa de development) iar momentan avem cinci colegi dedicati activitatilor de suport.
Zilnic ajutam clientii in a folosi Advanced Installer la adevarata sa putere, dar si sa extindem capabilitatile aplicatiei exact acolo unde acestia au nevoie.
Echipa de suport, pe langa comunicarea zilnica pe email si forum cu clientii, dezvolta scripturi (pe care le numim “custom actions”) si comunica nevoile clientilor catre programatori, o activitate critica in dezvoltarea aplicatiei. Custom action-urile pot fi DLL-uri sau executabile scrise in C++, C#, scripturi de PowerShell, VBScript.
Cum arata o zi obisnuita in echipa de suport
O zi obisnuita in echipa de suport inseamna o parte de rutina si o alta de activitati noi. Incepand cu verificarea email-urilor si a forumului, si continuand cu propunerea de noi functionalitati in aplicatie sau programarea de point release-uri care sa fixeze eventuale bug-uri critice ce au aparut intr-o versiune anterioara.
Daca mai multe tichete exprima aceeasi problema, stim ca trebuie sa imbunatatim aplicatia, acest feedback fiind transmis echipei de development.
Daca o intrebare se repeta, atunci raspunsul va fi transformat intr-un material de FAQ sau articol de “How To” pe site. Aceste materiale salveaza timp pe viitor atat pentru echipa noastra, cat si pentru clienti. Acestia sunt foarte educati, inainte sa apeleze la suport, au citit deja din manualul aplicatiei sau de pe site.
Gasim un lucru obisnuit sa discutam zilnic cu reprezentanti a importante organizatii (de ex: Microsoft, Ernst and Young, NASA, Intel, etc). Acestia apeleaza la noi pentru a folosi aplicatia in proiecte foarte complexe si au nevoie de ajutor, sau doar sa faca un “double check” si sa se asigure ca sunt pe drumul cel bun.
Mai mult de atat
Constant avem proiecte de consultanta, live debugging sau training. Toate acestea sunt fun pentru ca vezi efectiv care este nevoia clientilor si scenariul lor de lucru. Se intampla sa vezi un feature care a fost gandit sa fie folosit intr-un fel, sa fie folosit pentru alt scop, in cu totul alt mod.
Am lucrat cu companii foarte variate, atat nume recunoscute la nivel mondial, cat si companii mici cu proiecte foarte interesante.
Unul dintre clientii nostri, un vendor the software CAD din Canada, este atat de specializat in testare automata incat a ajuns sa isi scrie propriile scripturi de modificare a proiectelor generate de Advanced Installer, pentru a acoperi situatii particulare din testele sale. P.S. Aceasta companie foloseste atat de mult testele automate incat ei nu nevoie de o echipa de QA pentru testing manual, toate testele sunt doar cod.
Consultanta
Am avut proiecte de consultanta din care si noi am invatat multe lucruri. Suntem uimiti de multe ori despre complexitatea proiectelor in care este folosit produsul nostru.
La inceputul unui proiect de packaging, executam manual toti pasii de care este nevoie pentru ca o aplicatie sa functioneze la toti parametri optimi pe toate sistemele dorite. Procedand in acest fel, putem a estima destul de bine resursele si timpul necesar de lucru.
Dupa ce toate lucrurile functioneaza cum ne dorim, ne concentram pe automatizarea solutiei prin folosirea aplicatiei Advanced Installer. Folosim masini virtuale din mai multe motive. Unul important este ca redau mediul de lucru al clientilor si nu “infesteaza/polueaza” calculatoarele noastre cu fragmente de cod necesare doar pentru acele solutii. De asemenea, problemele generate de lipsa anumitor resurse este exclusa prin includerea a tot ce este nevoie in proiectul generat de Advanced Installer. Asta inseamna ca solutia va functiona pe toate calculatoarele clientului si asta este foarte important deoarece uneori deployment-ul se face pe sute sau mii de computere.
Rezultatul consultantei este versiunea 1 a proiectului si doua documente. In primul se explica pasii si rezultatele, iar in cel de-al doilea (pe care il numim “discovery document”) sunt detalii de adancime despre cum functioneaza aplicatia si ce alte tipuri de rezultate se pot obtine folosind alti parametri.
Live debugging
Nu tot timpul poti face consultanta pentru clienti folosind date si resurse reale. Atunci cand politica de protectie a datelor o cere, recomandam sesiuni de live debugging. In acest tip de serviciu lucram cot la cot cu clientii pentru a gasi erori si a imbunatati proiectele de impachetare, deployment-ul, etc, fara sa avem acces la datele utilizatorilor. Pentru acest tip de serviciu folosim instrumente precum Skype for Business sau Webex, in functie de gradul de familiarizare a clientilor cu aceste tool-uri.
Demo-uri si training
Demo-urile ajuta clientii sa descopere functionalitati noi sau sa inteleaga mai bine ce face aplicatia.
Trainingul, pe de alta parte, este un serviciu care implica mai multe resurse interne si se realizeaza de cele mai multe ori online. Am avut si cazuri cand colegi s-au deplasat pentru o saptamana la sediul clientilor, de exemplu la una din cele mai mari banci din Belgia sau la sediul central SalesForce, din San Francisco. Insa preferam sa lasam trainingurile partenerilor nostri specializati, pentru ca astfel de activitati consuma foarte mult timp.
Continuarea
Oportunitati
Daca esti interesat sa lucrezi in echipa noastra, gasesti detalii despre post si cum poti aplica aici.
Material realizat de Danut impreuna cu colegii sai din echipa de suport.