Am stat de vorbă cu Radu despre produsele și soluțiile dezvoltate de Connatix, tehnologiile folosite și planurile de dezvoltare a echipei de programatori
Radu, conduci biroul din România al companiei Connatix. Spune-ne câteva cuvinte despre soluția completă de video management pe care o dezvoltați .
Connatix este o companie axată, în principal, pe oferirea de soluții pentru managementul și crearea de conținut media (video, story, interactive), publisherii beneficiind, în același timp, și de multiplele avantaje oferite de AdServerul propriu.
Înainte să intru în detalii aș vrea să abordez puțin problemele întâmpinate de publisheri, subliniind că soluția noastră integrată le rezolvă. Începând cu partea de conținut media, publisherii au dificultăți foarte mari în a genera conținut de calitate, puțini având capacitățile financiare pentru a le putea produce. De asemenea, o altă situație delicată se manifestă la nivelul managementului acestor resurse (platforma pentru editori, encodarea și optimizarea video-urilor etc.) și distribuirea lor (video player, CDN etc.). În același timp, există dificultăți mari și în ceea ce privește monetizarea, din cauză că publisherul trebuie să dezvolte multe relații de colaborare cu diferiți SSP (Supply-Side Platform) iar controlul manual al acestor campanii, cu golurile aferente, se face extrem de greu.
Cele patru platforme dezvoltate de Connatix: Elements (Online Video Platform), Playspace (special media formats), AdServer & AdExchange (Direct Deals & Open Market Demand) sunt perfect integrate pentru a oferi cea mai bună experiență pentru un management complet de la content până la monetizare.
Ceea ce ne diferențiază și mai mult față de competitorii noștri este faptul că business modelul nostru principal este bazat pe RevShare. Adică, mai simplu spus, totul este gratis pentru publisher , în timp ce noi păstrăm o cotă parte din veniturile produse în urma monetizării aduse de Connatix.
Care sunt tehnologiile principale folosite?
În zona de Backend, folosim în principal .NET Core, Python pentru Machine-Learning și puțin Go în secțiunea DevOps, iar pentru Frontend, folosim în principal Angular, Vanilla Typescript și câteva proiecte de mai mică amploare pe React. Având în vedere cantitatea foarte mare de date pe care le transmitem către clienți și pe care o stocăm în sistemele noastre, infrastructura este, de asemenea, o parte extrem de importantă. Aici folosim Kubernetes + Helm, Terraform, Gitlab CI/CD, Amazon Web Services etc.
Cum se integrează componenta de AI în acest ecosistem ?
În Connatix avem două sisteme majore de AI și Machine Learning.
Primul dintre ele este destinat componentei de monetizare și prin diferiți algoritmi reușim să prezicem diferiți factori care îmbunătățesc semnificativ performanțele pentru clienții noștri, ajutându-i pe aceștia să poată atinge diferitele obiective stabilite de către agenți. Acești algoritmi iau în considerare miliarde de evenimente care se petrec în fiecare zi precum success rates, viewability goals, completion rates etc. și oferă playerului nostru informații ce sunt folosite în timp real pentru o optimizare maximă a timpului petrecut de utilizatori pe paginile publisherilor.
Al 2-lea sistem este dezvoltat în urma achiziției companiei Kamidoo în 2019, fiind, în principal, utilizat pentru generarea automată de content. Acești algoritmi analizează în timp real tot conținutul media produs de către clienții noștri, dar mai impresionant, analizează conținutul tuturor paginilor pe care playerul nostru e folosit (aproximativ 30 de milioane de pagini zilnic). Toate aceste date sunt utilizate pentru a genera un knowledge graph, care, ulterior, are multiple întrebuințări: de la generarea automată de conținut video, conținut story-like și targetare contextuală a monetizării. Această ultimă întrebuințare este o noutate pe piața de advertising, devenind un instrument esențial datorită ultimelor inițiative ale Google și Apple axate pe consumer privacy. Noua realitate conduce către începutul sfârșitului pentru cookie-urile 3rd party.
Având cerințe ridicate de procesare real time , poți să ne descrii în câteva cuvinte modul cum arată un deployment de producție ?
Pe toate serviciile customer-facing din Connatix avem integrat un proces complex de CI/CD care începe de la sprint planning și se termina, desigur, cu deploymentul efectiv. Întregul proces este implementat în Gitlab și are câteva componente majore: Source Control, Build + Code Analysis + Unit Tests, Integration Tests si Deployment. În momentul în care un anumit task este dezvoltat de către developer, un Merge Request este deschis și un proces automat se ocupă de compilarea codului, analiza codului pentru calitate și securitate, rularea unit testelor și apoi integration tests. Desigur, după acești pași, intervine partea de Quality Control, apoi Deploymentul efectiv. Absolut toate aplicațiile dezvoltate de noi folosesc Helm Charts pentru release-uri, fiind aplicate diferite strategii pentru a asigura un up-time de 100%.
Cea mai folosită este, desigur, Rolling Update care are diferite configurări, precum numărul de poduri indisponibile în timpul deploymentului, numărul de poduri noi ce se pot crea peste necesitatea curentă a serviciului și timpul de așteptare până la stabilizarea aplicației (readiness configuration). În termeni simpli, se creează o versiune nouă a serviciului și se înlocuiesc treptat instanțele vechi.
Cum au fost modificate procesele de lucru pentru a se adapta la noile cerințe legate de pandemie?
Sincer să fiu, a fost mult mai ușor decât ne așteptam. Asta se datorează, în primul rând, membrilor echipei Connatix, cărora le sunt recunoscător pentru efortul depus astfel încât impactul asupra companiei să fie minim. De asemenea, procesele care existau la acel moment au ajutat foarte mult la o tranziție ușoară, nefiind nevoie de modificări majore.
Care sunt direcțiile de dezvoltare ale biroului din Cluj ?
Connatix este într-o continuă creștere, care în următoarea perioada va fi și mai accelerată datorită investiției primite din partea Court Square Capital Partners. Acest parteneriat se va axa cu prioritate pe expansiune globală, M&A's și accelerarea inovării. Planul pentru următorii ani urmează să fie definitivat în perioada imediat următoare. Este cert că vom continua eforturile atât pentru creșterea echipelor de testare automată, DevOps, Video Content, cât și acoperirea unor poziții cheie din echipele existente.
Ce poți să ne spui despre interviurile de la voi și care ar fi sfaturile pentru cei care aplică?
Nu cred că există o rețetă clară pentru a reuși în interviurile Connatix, acestea fiind, mai degrabă, niște discuții foarte deschise între intervievatori și candidați atât pe subiecte ce țin de partea tehnică cât și pe cele de natură umană. Cu toate că suntem, în principal, în căutare de mari talente, luăm în considerare foarte mult potențialul și dorința de a învăța lucruri noi din sfera tehnică dar și din aceea de produs.
Limbajele, frameworkurile, tehnologiile, design patternurile vin și trec pe lângă noi într-un ritm mult mai alert decât acum 10-15 ani, dar pentru cei cu înclinații clare pentru acest domeniu, pasiunea este cea care ne dă energie.