Baví vás diskutovat s lidmi v online prostoru? Pokud ano, možná vás bude zajímat, kdo se stará o to, aby diskuze na seznamáckých a dalších webech správně fungovaly a dokázaly si poradit s miliony příspěvků. Proto jsme se Jiřího Kupky, který šéfuje vývoji v projektu Seznam Diskuze, zeptali, jak vypadá práce jeho týmu a co ho na ní nejvíc baví.
Představ nám Diskuze, o co se jedná?
Projekt Seznam Diskuze vznikl před necelými čtyřmi lety jako podpůrná služba pro naše obsahovky. Chtěli jsme dát uživatelům prostor popovídat si o aktuálních tématech přímo na službě a tak vznikl diskuzní embed – jednoduchá komponenta, kterou je možné vložit kamkoliv do stránky. Diskuze jsme nejdřív nasadili na web Proženy, následovala Garáž, potom naše velké zpravodajské weby – Novinky a Seznam Zprávy. Momentálně embed najdete na deseti našich obsahovkách a asi stovce webů externích partnerů, což s sebou přináší výrazné množství trafficu. V databázi máme asi 70 milionů komentářů, skoro miliardu lajků a naše API musí zvládnout několik tisíc requestů za sekundu.
S jakými technologiemi pracujete?
Na backendu používáme Python 3, pro komunikaci s databází pak SQLAlchemy, data vydáváme frontendu pomocí GraphQL API, kde nám pomáhá například framework Strawberry. Frontend píšeme v JavaScriptu. Používáme Node.js, React nebo seznamácký framework IMA.js. Data máme uložena primárně v MySQL, sekundárně pak pro rychlý přístup k datům používáme Redis. Všechny aplikace nám běží v prostředí Kubernetu, o který se stará náš SCIF (Seznam Compute Infrastructure) tým.
Jaká část práce tě baví nejvíc a proč?
Na práci mě nejvíc baví nejrůznější výzvy, kterých na tomhle projektu řešíme velké množství. Z pohledu uživatele se sice jedná o jednoduchý embed, který vykresluje kartičky komentářů, ale na pozadí se skrývá množství procesů a technologická komplexita. Uživatelé denně napíšou asi 70 000 komentářů a přidají zhruba 700 000 lajků. Během exponovaných událostí je to ještě víc. Každý jeden komentář u nás prochází kontrolou, jestli neobsahuje výzvy k násilí nebo jiným způsobem neporušuje podmínky používání služby. Tuto kontrolu primárně provádí AI a příspěvky, se kterými si nedokáže poradit, propadají k našim editorům, kteří je posuzují. Naše administrace jim například nabízí nástroje, pomocí kterých nedochází k duplicitní práci, když je editorů na směně více.
Jak už jsem nakousl, strojové učení je další zajímavá oblast, se kterou se u nás člověk setká. Pracujeme na několika klasifikátorech textu, které nám posuzují nezávadnost příspěvku nebo zkoumají, zda se v textu nachází nějaká dezinformace a jaká. Pracujeme taky na doporučování příspěvků – snažíme se například komentáře v diskuzích seřadit od těch nejkvalitnějších, protože na našich obsahových službách chceme mít primárně kultivovanou diskuzi.
Co vás čeká v nejbližších měsících?
Diskuze se staly nedílnou součástí našich obsahových služeb a v průběhu posledních čtyř let jsme v Seznamu rozvíjeli sociální prvky a možnosti interakce s uživatelem. Dva roky jsme například experimentovali s veřejným profilem uživatele, prošlapali jsme si nějaké slepé, ale i nadějné cestičky a v příštím roce se chystáme spustit novou generaci služby Lidé.cz. Na „novém Lidéčku“ pak uživatelé najdou svůj profil, budou moci psát příspěvky podobně jako na Twitteru nebo zakládat skupiny jako na Facebooku. Chystáme i pár zajímavých a nevšedních produktových fičur, takže se uživatelé mají na co těšit.
Jak funguje tvůj tým i po lidské stránce?
Náš tým se dnes skládá z 11 lidí. Část týmu je v Ostravě, část v Praze. Navzdory vzdálenosti nám to spolu pěkně klape. Minimálně jednou za kvartál se snažíme všichni potkat – někdy v Praze, jindy v Ostravě. Vidíme se nejen v kanclu, ale po práci občas hrajeme deskovky, jdeme si zahrát badminton nebo prostě jdeme na pivo.
Jsou nějaké plány na rozšíření týmu?
Ano. Ve stávajícím množství lidí a komponent se stane, že nám občas uteče nějaká chyba nebo skřípe nějaký proces, který by se dal urychlit nebo zrefaktorovat. Hledáme proto QA engineera/DevOpsáka, který by komplexně dbal na kvalitu našich aplikací a procesů. Kolegu, který má rád, když všechno šlape jako hodinky. Máme například sdílené knihovny, u kterých je potřeba, nejlépe automatizovaně, kontrolovat, že jsou ve všech projektech v aktuálních verzích. Samostatnou kapitolou jsou pak testy. Ty si u nás píše každý vývojář sám, ale je potřeba připravit kvalitní testovací framework a prostředí pro psaní testů. Důležitý je pro nás taky CI/CD proces, který by měl být co nejrychlejší, protože u případného bugfixu se každá minuta počítá. Víme, že kvalitu aplikace je důležité zajišťovat i u uživatele, a to především pomocí metrik nebo logů. I tady v posledních měsících vidíme velkou potřebu neustále ladit naše Grafana a Kibana boardy. Takže posilu rozhodně uvítáme. Za HR Eva Juraszková
17. října se uskutečnil už druhý ročník Seznam Meetupu zaměřeného na vývoj a praktické použití generativních jazykových modelů. Akce přilákala pestrou směsici technologických nadšenců, výzkumníků i odborníků z oblasti umělé inteligence. Meetup byl součástí Dnů AI 2024 a přinesl řadu inspirativních přednášek, praktických ukázek a networkingových příležitostí. O účast na akci, která proběhla v budově ČVUT i online, projevilo zájem bezmála 600 účastníků.
Na konci října proběhl v pořadí už pátý meetup Employer branding Czech community. Skupina profesionálů, jejímž cílem je se navzájem inspirovat a sdílet své zkušenosti i znalosti, se tentokrát sešla v Seznamu. Co bylo tématem podzimního setkání?
V Seznamu fandíme mladým talentům, a proto každoročně pořádáme stáž pro studenty v oblasti online marketingu. Stážisté se u nás naplno zapojují do pracovního procesu, aby zjistili, jestli je pro ně online marketing to pravé. Na dojmy ze stáže jsme se zeptali těch nejpovolanějších – letošních vítězů Seznam.cz studentské kampaně (SSK).
Zpracování osobních údajů
Za účelem využití služby „Newsletter Seznam.cz” dostupné na internetové adrese (URL) https://blog.seznam.cz (dále jen „Služba“) uživatelem Služby (dále jen „Uživatel“) je společnost Seznam.cz, a.s., IČO 261 68 685, se sídlem Radlická 3294/10, 150 00 Praha 5, provozovatel Služby (dále jen “Provozovatel”) oprávněna zpracovávat osobní údaje Uživatelů (zejména adresné a popisné údaje v rozsahu níže uvedeném), které tito Uživatelé poskytnou Provozovateli v rámci užívání Služby.
Osobní údaje Uživatele budou zpracovány Provozovatelem v nezbytném rozsahu za účelem poskytování Služby, a to zejména za těmito účely:
za účelem zařazení kontaktních údajů do databáze Provozovatelem a za účelem zasílání obchodních nabídek Uživateli ze strany Provozovatele;
za účelem zařazení kontaktních údajů do kontaktů Provozovatele za účelem vzájemné budoucí komunikace Provozovatele a Uživatele.
Takové zpracování osobních údajů je zákonné, jelikož je nezbytné pro splnění smlouvy, na jejímž základě Uživatel užívá Službu, a jejíchž smluvní stranou je Uživatel, jako subjekt osobních údajů.
Provozovatel postupuje při zpracování osobních údajů v souladu s nařízením Evropského parlamentu a Rady (EU) č. 2016/679 o ochraně fyzických osob v souvislosti se zpracováním osobních údajů a o volném pohybu těchto údajů (obecné nařízení o ochraně osobních údajů, dále jen „nařízení“), zákonem č. 110/2019 Sb., o zpracování osobních údajů, zákonem č. 111/2019 Sb., kterým se mění některé zákony s přijetím zákona o zpracování osobních údajů, zákonem č. 480/2004 Sb., o některých službách informační společnosti, zákonem č. 127/2005 Sb., o elektronických komunikacích a dalšími právními předpisy upravující ochranu osobních údajů.
Podrobnější informace o nakládání s osobními údaji jsou uvedeny na internetových stránkách Provozovatele, a to v příslušné sekci.