Má smysl učit se programovat, když světem hýbe umělá inteligence? A jak se může úplný nováček stát Python Developerem? Na tyto a další zajímavé otázky v rozhovoru na webináři odpovídal Jan Tezner, CTO vývojářské firmy COex.
Níže si můžeš přečíst to nejzajímavější z webináře s Janem Teznerem. Přepis byl redakčně upraven a zkrácen. Pokud tě zajímají další detaily, pusť si celý záznam.
Martin Ptáček: Honzo, dokázal bys ve zkratce říci, v čem je COex jiný než většina vývojářských firem?
Jan Tezner: Na tuto otázku nedokážu přesně odpovědět, protože jsem v ostatních firmách nebyl. Ale myslím, že jsme unikátní tím, že usilujeme o to, abychom se všichni ve firmě cítili dobře. Říkáme si, že jsme svobodná společnost, protože se snažíme jít takovou cestou, aby všichni cítili, že jsou zapojení do dění. Fungujeme v sounáležitosti, aby všichni cítili společnou odpovědnost za to, co děláme. Člověk pracuje třetinu života, takže je důležité, aby ráno do práce vstával rád a nechodil tam jen pro peníze.
Martin Ptáček: Pojďme se přesunout k techničtějšímu tématu, konkrétně k programovacímu jazyku Python. Ten totiž není jen o backendu a o datech. Co vše s ním můžeme dělat?
Jan Tezner: I když jsme webová firma, někteří členové našeho týmu Python využívají i k jiným záležitostem, například k programování malých počítačů, které nám jezdí po zemi v kanceláři. Stejně tak si jeden z kolegů pomocí Pythonu řešil zavlažování zahrádky, nastavit si díky němu časování a senzory v půdě. Python je hodně univerzální jazyk, proto se mi tak moc líbí. Skvělý je samozřejmě i na automatizaci procesů a analýzu velkých dat, která hýbou světem. Obecně se dá říci, že web a Python k sobě skvěle pasují, mimo jiné proto, že je kolem nich skvělá komunita.
Martin Ptáček: Python je možné použít také v Excelu od Microsoftu. To je další důkaz, že je široce použitelný a že má budoucnost.
Jan Tezner: Je to tak, navíc s Microsoftem začal spolupracovat autor jazyku Python, vzali ho do svého interního týmu. Využití Pythonu v Excelu je báječné, protože zatímco doteď byli analytici omezeni na nástroje typu Visual Basic, nyní před sebou mají tisíce nových možností.
Martin Ptáček: Pojďme se podívat i na dalších technologie, před začátkem webináře jsi zmiňoval třeba Django, FastAPI nebo Flask. V čem jsou jejich výhody?
Jan Tezner: Jedná se o frameworky nad jazykem Python, které pomáhají realizovat běžné činnosti, které vývojáři potřebují při vytváření online systémů. Zatímco Django je bráno jako tzv. full stack framework (výborně slouží třeba pro formuláře, komunikaci s databází nebo vykreslování šablon), Flask a FastAPI jsou mikroframeworky. To znamená, že vývojáři dávají základní rámec používání nebo systém URL odkazů, ale už mu nediktují, kterou konkrétní cestou se má vydat. Když chce například vývojář komunikovat s databází, je na něm, jestli si vybere MySQL či třeba relační databázi. Proto jsou Flask a FastAPI vhodné spíš pro zkušenější developery. Nejde ale říci, že jedna technologie je lepší než druhá, každá má svůj jasný účel a využití.
Martin Ptáček: Jak se může úplný nováček stát Python Developerem, kde má začít?
Jan Tezner: Ideální je, pokud má člověk od začátku stanovený problém, který chce pomocí programovacího jazyka vyřešit, ale také když má zkušenosti s realizací nějakého projektu. Na uchazečích o práci u nás ve firmě vidíme, že pokud už tvořili konkrétní projekt, funguje to jako pomyslný špagát, který je táhne v kariéře kupředu. Důležitá je samozřejmě i motivace a chuť se vzdělávat, ideálně v rámci IT kurzu, který začátečníka opravdu něco naučí.
Martin Ptáček: Jak poznáš talentovaného juniorního developera?
Jan Tezner: Faktorů je víc, ale já osobně mám u nováčků rád komunikativnost. Není to jednoduché, protože jsme každý trochu jiné povahy. Ale je důležité být otevřený a nebát se říct, když něčemu nerozumím. S tím souvisí ještě jedna klíčová vlastnost: zvídavost. Pokud je nováček proaktivní a hodně se zajímá, tak je s ním skvělá řeč už na pohovoru, protože si s ním můžeme popovídat o tom, co a jak dělá. IT firmy obecně upřednostňují uchazeče, kteří sice chybují, ale mají chuť se zlepšovat a práce je baví.
Martin Ptáček: Jak se Python Developer může dál rozvíjet, když už umí vše důležité? Co dalšího může ve firmě dělat?
Jan Tezner: Pokud už má Python Developer dostatek zkušeností, může se od vývojářství přesunout třeba k technické analytice. Právě tuto práci developeři vnímají jako další kariérní metu, protože i když se začnou věnovat analytice, stále jsou částečně vývojáři. Jejich práce je pak víc komplexní. Další možností je pomáhat vývojářským týmům, například na pozici technologického lídra nebo týmového lídra. Na úplné špičce pak stojí pozice jako produktový nebo technický manažer, tito lidé vedou celé projekty a řeší je komplexně, třeba i po stránce propagace.
Martin Ptáček: Jak se díváš na full remote práci IT specialistů?
Jan Tezner: Po covidu je to samozřejmě velké téma, ale sleduji, že chuť po full remote práci mírně opadá. U nováčků je hodně důležité, aby byli pevnou součástí týmu, tedy aby se s ním potkávali osobně, protože jen tak junior nasaje zkušenosti od ostatních: může během okamžiku získat radu, kterou by jinak na Googlu hledal dlouho, nebo ji nenašel vůbec. Proto u juniorů preferujeme, aby chodili do kanceláře aspoň třikrát týdně. V případě seniorů na osobní přítomnost tolik netlačíme, ale určitě ji preferujeme, protože zkušenější lidé pak mohou pomáhat juniorům. Obecně je to vždy o správném poměru on-situ a re-motu.
Martin Ptáček: Teď jedna otázka od diváků: které jazyky jsou pro backendové programování nejvíc používané?
Jan Tezner: V poslední době je na prvním místě většinou právě Python, nebo minimálně v první trojce. Dlouhou dobu nejvyšší pozice zabírala Java nebo PHP, v průběhu času se to ale trochu mění. Dobrá zpráva je, že Python i po dlouhých letech používání vzkvétá a rozhodně nekončí, zmíněné využití v Excelu je toho krásnou ukázkou. Určitě bych neměl obavy, že se Python za dva tři roky vytratí. I když je tu s námi umělá inteligence, my jako lidé budeme stále potřebovat řešit algoritmické problémy, k čemuž potřebujeme kvalitní programovací jazyk.
Martin Ptáček: Zájemci o naše IT kurzy se také často bojí, jestli má smysl začít s programováním, když žijeme v časech umělé inteligence. Jsou podle tebe tyto obavy odpodstatněné?
Jan Tezner: Nikdo samozřejmě neví, co bude za 5 nebo 10 let. My už nyní nástroje s umělou inteligencí aktivně využíváme, vývojářům pomáhají programovat rychleji a řešit situace, nad kterými by jinak strávili spoustu času. Každopádně myslím, že začátečníci v Pythonu se nemusí bát, že je v dohledné době nahradí umělá inteligence, už jen proto, že každý vygenerovaný kód by měl vidět člověk, který ví, co dělá.
Martin Ptáček: Jak je to v dnešní době s komunitou okolo Pythonu, najde v ní nováček dostatečnou podporu?
Jan Tezner: Mně osobně česká Python komunita v začátcích hodně pomohla, hlavně psychologicky. I dnes se pravidelně pořádají srazy, kde se lidé z komunity sejdou na pivu a probírají problémy, které souvisí s Pythonem. Super je, že na těchto akcích se potkávají velmi zkušení lidé s úplnými nováčky, kteří se o problematiku teprve začínají zajímat. Vlastně neznám jiný programovací jazyk, který by měl tak vřelou komunitu jako Python. Mimochodem v Česku se pořádá i oborová konference PyCon.