Seznam.cz používá pro vývoj hlavně programovací jazyk C/C++ a Python. Nyní otevíráte pozici Programátor PHP. Co Vás k tomu vede?

PHP je úžasný skriptovací jazyk. Je velice vhodný na rychlé prototypování i seriózní práci. Má svá omezení, kvůli kterým máme pro skriptování raději Python, ale občas v Seznamu vyvíjíme i v PHP. Ovšem kromě programátorů PHP pochopitelně i nadále přijímáme programátory v Pythonu, C, C++ a administrátory Linuxu.

Jak vypadá technologické zázemí Seznamu?

Hlavní platformou, na které "jede" Seznam.cz, je Linux, distribuce Debian. Používáme přes 230 serverů s Linuxem. Pár desítek serverů pak jede na FreeBSD a Windows NT. K tomu všemu patří několik diskových polích (tuším čtyři), zálohovacích strojů, síťových prvků, UPSek a podobně.

Z dlouhodobého hlediska jsme zdaleka největší odběratelé serverů v ČR. V poslední době roste počet našich serverů téměř geometrickou řadou. Pomalu se připravujeme na skutečnost, že naše zázemí bude mít víc jak tisíc serverů. Ze zahraničí víme, že se to dá celkem elegantně zvládnout.

Ivo Lukačovič. Za okny své kanceláře má krmítko pro sýkorky.

Proč tolik serverů?

Rodinu serverů Seznam.cz navštíví denně kolem 1,5 miliónu lidí (dle Netmonitoru). Každý z nich na našich službách stráví v průměru půl hodiny. Denně vygenerujeme přes 50 miliónů shlédnutých stránek. To vše si vyžaduje obrovské technické zázemí. Navíc u každé služby musíme počítat s obrovskou výkonovou rezervou. Například starou verzi Spolužáků navštívilo 10 tisíc lidí denně.

Vyvinuli jsme verzi novou a prásk! - jen co jsme na ni spustili reklamu, přišlo na Spolužáky 120 tisíc lidí v jeden den. S takovým úspěchem jsme nepočítali a služba na to nebyla příliš připravená. Spolužáci jsou ale vyjímka. Ostatní služby rostou pozvolna.

Vyhledávání použije na Seznamu přes 600 tisíc lidí za den a e-mail si u nás vybírá kolem 700 tisíc lidí denně, pokud beru v úvahu i přístup přes POP3 a službu Email.cz. Novinky.cz čte v některé dny 480 tisíc lidí a počítám, že do konce roku pokoří půl miliónovou hranici.

Vy osobně jste spíše Linuxář, či BSDčkař?

Kdysi před lety jsem pracoval jak s Linuxem, tak s BSD. FreeBSD tenkrát ještě neexistovalo, takže jsem koketoval s BSDI. BSD je podle mého názoru "čistější" operační systém s daleko více konzistentním jádrem. Možná právě proto je BSD mírně stabilnější a výkonnější než Linux. Linux má však větší podporu. Rozdíl mezi stabilitou BSD a Linuxu není tak výrazný, aby se nám vyplatilo provozovat naše služby na BSD. Vyvíjet pro Linux je snazší.

Jaké používáte databáze?

Především MySQL, spolu s InnoDB. Některé starší služby používají ještě Oracle, ale i ty se snažíme pomalu přemigrovat na MySQL. Já osobně se těším, až bude k dispozici stabilní a odladěná MySQL verze 5. Uložené procedury sice znamenají další vrstvu při vývoji aplikací, ale skutečnost, že se databázové operace díky uloženým procedurám zrychlí a zaručí se daleko větší integrita dat, však hovoří pro používání uložených procedur.

Takže to vypadá, že definitivně chcete používat Open Source technologie...

Nejenom, že je používáme, ale Open Source i sami vytváříme. Již dříve jsme uvolnili dvě významné technologie jako Open Source. Tou první je šablonovací nástroj TENG, tou druhou FastRPC, což je rychlá obdoba protokolu XML/RPC. Open Source technologie pronikají i na naše desktopy. Pomalu přecházíme z MS Office na Open Office.

Bojíte se, že když Oracle nedávno koupil InnoDB, kvalita tohoto produktu poklesne?

Ano, já osobně mám obavy o osud toho skvělého "storage enginu". Oracle je společnost, která je tu od toho, aby databáze prodávala, nikoliv aby podporovala Open Source.

Jak probíhá vývoj nových služeb v Seznamu?

Dvěma slovy: kreativně, ale organizovaně. Z minulosti víme, že to, co dokáže lidi totálně demotivovat, je nejasné zadání, neustálé změny v zadání, či přeskupování priorit. První části kódu začínáme psát až když je 100% jasné, jak přesně bude služba vypadat a to do toho nejmenšího detailu.

Na přípravné fázi služby, kdy se připravuje zadání a dělá grafická podoba, se může zapojit kdokoliv. Probíhá mnoho brainstormingů a debat. Těch se většinou účastním i já. I když takovýto postup může vypadat byrokraticky, zjistili jsme, že tímto způsobem jsme schopní vyvíjet služby daleko efektivněji. Vývoj našeho e-mailu trval tři měsíce. Zbytek tvořilo testování a migrace dat.

Jak vypadá vývojové oddělení Seznamu?

Všichni sedíme v jedné velké místnosti. Programátoři, projekt manažeři i technici dohromady. Šéfem technického oddělení je Pavel Zima, 30 letý sympaťák s precizním analytickým myšlením a obrovským charismatem. Vývojové oddělení pak vede jeho vrstevník Ondřej Procházka, s nesmírně pragmatickým přístupem k práci, velkým smyslem pro humor a hru ve stylu fair-play.

Moje kancelář je umístěna přímo uprostřed vývojového oddělení. Nemám žádnou sekretářku, ani asistentku, která by rozhodovala, kdo se mnou smí mluvit a kdo nikoliv. Dveře mé kanceláře jsou celý den otevřené a kdokoliv do nich může vstoupit a probrat nějaký problém.

Šéf technického oddělení Pavel Zima.

Jak motivujete lidi ve vývoji?

Myslím si, že největší motivací pro jakéhokoliv vývojáře je to, že pracuje na nějakém smysluplném projektu, že nikdo nemění v průběhu práce zadání, a že se projekt uspokojivě blíží k cíli. Ovšem z hezkých vizí se člověk nenají. Seznamáci jsou platově velice dobře hodnoceni.

Senior programátoři k tomu navíc dostávají po nějakém čase ve firmě služební auto. Mým snem však bylo lidi více zapojit do té nádherné hry, které se říká byznys. Seznam.cz je soukromou společností, její akcie nejsou obchodovatelné, a proto nemá smysl vytvářet program opcí na akcie firmy. Místo toho jsem se rozhodl, že lidé v technickém a vývojovém oddělení budou mít podíl na zisku firmy.

V záři jsme vytvořili program, ve kterém mají lidé nárok na X% ze zisku společnosti. Po dvou letech se podíl X zvedne a po třech letech se zvedne ještě jednou. Čím déle lidé ve firmě jsou, tím větší podíl na zisku dostanou. Spolu s tím roste i zisk společnosti, takže ve finále v Seznamu za pár let bude i pár milionářů :-)), alespoň doufám. Pokud se tento program osvědčí, tak jej rozšíříme i na další části firmy.

Co všechno je tedy potřeba udělat aby se schopný PHPprogramátor stal Seznamákem?

Ještě jednou opakuji, že kromě programátorů PHP přijímáme i schopné programátory Python, či C/C++. Uvítáme i administrátory Linuxových serverů. Nejsnadnější způsob je poslat nám životopis na adresu kariera@firma.seznam.cz. A pokud se vám nechce životopis psát, stačí vyplnit dotazník na adrese http://firma.seznam.cz/dotaznik/.

Co byste vzkázal lidem, kteří se bojí poslat do Seznamu životopis, protože jsou příliš ostýchaví?

Nikdo je u nás neukousne. Jsme společnost plná mladých a sympatických lidí. Za pokus člověk nic nedá.