Jeden z šéfů vývoje ve 4NETu Filip Majerík otevřeně o internetové televizi, technologiích, firemní kultuře a pracovní pozici, která by mohla zajímat programátory, co potřebují změnu. . .

Filipe, kdybys měl laikovi vysvětlit, co v Pardubicích s kolegy vyvíjíte, jak bys to popsal?

Děláme platformu pro internetovou televizi, kterou si pustíš na Smart TV, mobilu nebo třeba notebooku, když jedeš na dovolenou do ciziny a nechceš přijít o svůj oblíbený pořad. Je tam mnohem širší nabídka kanálů a k tomu nelineární služby, kam patří mimo jiné zpětné přehrání pořadu, archiv nebo nahrávání. Jestli znáš Telly nebo NejTV, tak to je řešení od nás.

Co všechno je v takové aplikaci vaše práce?

Nenatáčíme pořady a nevyrábíme hardware. Ale to všechno mezi tím děláme ve 4NETu. Prakticky to znamená, že máme k dispozici stream pořadu, který naše platforma segmentuje, pošle na server, odkud signál míří ke koncovým klientům. Vyvíjíme backendovou část i frontend a tady je zajímavé, že frontend znamená hned několik aplikací – třeba pro klasickou televizi, Smart TV, mobil, notebook, Apple TV. Základní logika aplikací je stejná, ale každá z nich má specifika, appka pro mobil se dá ovládat gesty, appka pro Smart TV zase dálkovým ovladačem.

Takže je to platforma, která přijme stream signálu, zpracuje ho a distribuuje. V čem je podle tebe vaše platforma lepší než konkurenční řešení?

Z pohledu koncového uživatele máme standard trhu. IPTV je ve fázi, že už je vyřešené, jak se aplikace ovládají, jak se co zobrazuje nebo jaké to má funkce. Rozdíly jsou malé a koncák si jich asi ani nevšimne.

Mnohem zajímavější je ale porovnání z pohledu našich zákazníků – tím myslím Telly, NejTV, slovenskou SWAN, GGA Maur ve Švýcarsku a podobné společnosti.

V čem je pro ně spolupráce s 4NETem výhodnější?

Naše platforma podporuje nejvíc typů a modelů koncových zařízení. Takže je jedno, jestli máš doma LG, Hisens, Samsung nebo jinou značku televize, a nehraje dokonce roli, kdy tvoje zařízení vyrobili. Konkurence mívá třeba samostatnou aplikaci pro každý ročník televize Samsung. Dokážeš si asi představit, jak složitě se takový rozsáhlý ekosystém udržuje v chodu, když máš něco aktualizovat nebo přidat novou funkci. Naše appka na frontend má chytřejší architekturu – uděláme změny na jednom místě a funguje to všude. Co jinde dělají měsíce, my zvládneme upravit za tři týdny.

Filip Majerík
Jeden ze dvou vedoucích vývoje ve 4NET.TV. Na programování má nejraději kreativní přístup a možnost vytvořit SW, který rády používají stovky tisíc lidí.
Začal však kdysi dávno mnohem skromněji – v 10 letech se k němu dostalo CD se základy Delphi a o pár let později vytvořil podpůrnou aplikaci pro Winamp, která na diskuzním fóru umožňovala sdílet, co lidé poslouchají za písničky.
Podle Filipa neexistují špatné technologie, jen dobré technologie, které lidi neumí používat. Na Univerzitě Pardubice vyučuje šest let architekturu a správu databázových systémů nebo projektování SW.

 

Když zmiňuješ releasy a úpravy platformy, jaké technologie při vývoji používáte nejčastěji?

Začnu u backendu, kde pracujeme primárně s PHP 8 a frameworkem Symfony 4. Jako programátor ho mám rád, protože ti díky němu rychle vzniká řešení pod rukama. U databází denně používáme MariaDB, Redis a čím dál víc se do hry dostává Elasticsearch. Frontend děláme hlavně ve Vue.js, až na tzv. first screen aplikaci, kterou jsme postavili v Preactu. A když jde o zpracování videí v pozadí systému, programujeme v Golangu.

Co ti jako programátorovi přijde na platformě zajímavé?

Elegantní architektura, ve které není nic zbytečného. Denně výsledek naší práce používají stovky tisíc lidí z několika zemí Evropy, takže je to velká zodpovědnost. Máme to postavené fakt dobře, naši zákazníci řeší jen obchod a marketing, technické fungování delegují na nás. Je pro mě důležité, že vyvíjím kvalitní produkt.

Kdybys měl někomu zvenčí přiblížit 4NET jako firmu, čím bys začal?

Jsme relativně malí, vývoj má na starosti všehovšudy šest lidí a tři testeři. Jako první se mi dere na mysl, že nejsme korporát. Dám ti příklad. Nedávno jsme museli kvůli legislativní změně upravit reklamní systém pro švýcarského zákazníka. Na práci byl celkem tvrdý deadline. Kdybychom měli několik vrstev managementu, propadl by takový požadavek k vývojářům až po několika týdnech schůzkování. Takhle jsme o práci věděli včas, v klidu jsme si ji rozdělili a všechno se podařilo bez zbytečného stresu. Ve 4NETu je plošší struktura, takže máme větší drive a jako vývojáři nekrmíme svou prací početný management.

Šest vývojářů je překvapivě málo, jak máte rozdělené role?

Bývalo nás víc, ale s některými lidmi jsme se rozloučili. Hlavní důvod byla nepříliš velká snaha učit se nové technologie. Teď jsme v situaci, že každý vývojář má svůj hlavní projekt, za který zodpovídá – někdo dělá třeba video backend, někdo aplikační backend, kam patří správa předplatných nebo televizních programů, někdo má na starosti frontendové aplikace. Já jsem team leader jednoho ze dvou vývojářských týmů, ale neberu svou pozici nijak hierarchicky, sám totiž trávím hodně času programováním právě těch frontendích aplikací. Nade mnou je CEO, který naši platformu IPTV před lety vymyslel, pořád se zapojuje do technického řešení a udržuje celkový směr.

Pokud bys měl přiblížit způsob vývoje, takovou tu běžnou pracovní rutinu, jaká je?

Jako programátoři nejsme v přímém kontaktu se zákazníky. To je role vedení firmy. Sbírají požadavky, filtrují je vzhledem k celkové strategii, a teprve pak vznikne zadání pro vývoj. Máme dlouhodobé cíle, teď například pracujeme na řešení filmotéky, což obnáší zásahy do zpracování videa, back office i frontendu aplikací. Ale běžně fungujeme agilně a máme týdenní iterace. Většina vývojářů pracuje z domu, ale ve středu se sejdeme v Pardubicích, zhodnotíme předchozí týden, určíme priority, rozdělíme úkoly na další týden a pak zajdeme na pivo.

Jak vám ve firmě funguje home office?

Historicky jsme všichni pracovali z kanceláře. Postupně jsme ale nabírali lidi mimo Pardubice, pak přišel covid, který změnil charakter práce. Já osobně chodím rád do kanceláře, kde jsem mezi lidmi. Ale všichni to tak nemají. 4NET netlačí na pilu, je nám jedno, odkud a kdy člověk pracuje, pokud tím negativně neovlivňuje režim ostatních. Jen musíme jako firma víc dbát na tmelení kolektivu, abychom se nestali partou freelancerů a udrželi si dobré vztahy.

Jsi šéf malého týmu vývojářů, s jakými lidmi se ti nejlépe spolupracuje?

Skvělí jsou samostatní programátoři – se spoustou věcí si poradí, rádi přemýšlí a mají názor, který sdílí s ostatními. Když neví, radši se zeptají, než aby se to dva týdny pokoušeli posunout sami. Umět si říct o pomoc, to je pro mě důležitá vlastnost člověka.

Kdo k tobě do týmu určitě nezapadne?

Už jsem nakousl tu neochotu učit se nové technologie. Osobně považuju programování za velmi kreativní činnost, kdy člověk může do softwaru otisknout kus sebe, svého přemýšlení. Je ale potřeba být nohama na zemi a reflektovat zpětnou vazbu. A potom je důležitá určitá empatie – když máš svoje hotovo, ale kolegům visí jazyk na vestě, nebuď prosím zapikaný ve svém projektu a nabídni pomocnou ruku.

Co dokážeš nabídnout programátorovi, který cítí, že přerůstá roli juniora, ale stávající zaměstnavatel to neumí využít? 

Takový člověk u nás dostane vlastní projekt, za který bude zodpovědný. Tím se naučí kvantum věcí. Přestane jen datlit kód, ale bude mít na starost analytickou práci, code review, získá prostor vyzkoušet si nové technologie.

Jsme stabilizovaná firma se skvělým řešením pro trh, který nezmizí ze dne na den. Pandemie nebo inflace se nás obchodně nedotkly, internetová televize je pro lidi pořád zajímavá. Programátor u nás dostane zajímavý mix volnosti a jistoty, že mu přijde dobrá výplata. Tím jsme v mnohem lepší situaci než korporáty i startupy.

Jaké máš pro nového kolegu připravené úkoly?

Hodil by se nám fullstack developer, primárně na správu televizního programu – patří tam TV kanály, automatizované párování, umělá inteligence pro doporučování pořadů. Je to zajímavý projekt, který má nováček možnost stavět od základů.

Než se k tomu ale dostane, máme v plánu vyzkoušet, co všechno umí. Dotahujeme prezentační web firmy, kde je základní CMS, návaznost na API a frontend. Nic extra náročného, jen si chceme v prvních měsících spolupráce ověřit znalost technologií a programátorské přemýšlení. Když se to podaří, pustíme se spolu do opravdu zajímavých věcí. Těším se na to.

Cítíš se na fullstack developera k Filipovi do týmu?
Zjistit detaily přímo v inzerátu