Dostali jsme se k poslední části naší série.
Už jsme mluvili o prvních krocích v povolání.
O tom, co se opravdu vyplatí učit. O Code Review, Clean Code a každodenní práci v týmu.
Zůstává jedna otázka: Kdy vlastně přestaneš být juniorem?
Tato otázka se objevuje velmi často.
Po roce? Po dvou letech? Po pěti? Nebo možná tehdy, když poznáš další framework?
Odpověď tě může překvapit. - Neexistuje jedno správné číslo.
Viděli jsme programátory s desetiletou praxí, kteří stále potřebovali vedení u složitějších projektů. Viděli jsme také lidi se třemi lety praxe, kteří samostatně navrhovali řešení, podporovali mladší kolegy a brali odpovědnost za celé moduly systémů.
Právě proto je v IT délka praxe jen jedním z prvků skládanky.
Senior neví všechno
To je asi ten největší mýtus v oboru.
Mnoho juniorů si představuje senior developera jako někoho, kdo zná odpověď na každou otázku. Realita vypadá úplně jinak.
Dobrý senior často říká: "Nevím."
Ale hned dodá: "Zjistíme to."
To je obrovský rozdíl.
Senior nemusí pamatovat celou dokumentaci. Nemusí znát každou knihovnu. Nemusí umět všechno zpaměti napsat.
Ví ale:
- kde hledat informace,
- jak ověřit řešení,
- jaké riziko s daným rozhodnutím souvisí,
- kdy říct "nevím" místo hádání.
To je jedna z nejdůležitějších vlastností zralého programátora.
Programátor nebo inženýr?
Na začátku kariéry se většina lidí soustředí na kód.
Jak napsat funkci? Jak udělat API? Jak propojit databázi?
S časem začneš vnímat, že kód je jen nástroj.
Skutečným úkolem je vyřešit obchodní problém.
Klient nekupuje aplikaci proto, že je napsaná v konkrétním jazyce. Kupuje řešení problému.
Právě v tu chvíli programátor začne myslet jako inženýr.
Nejlepší funkce je někdy ta, kterou nenapíšeš
Zní to divně? A přece.
Představ si, že klient nahlásí potřebu vytvořit nový modul. Můžeš hned začít navrhovat řešení. Můžeš si ale také položit několik otázek.
Proč tato funkcionalita?
Jak často bude používána?
Existuje podobné řešení už nyní?
Lze dosáhnout stejného efektu jednodušším způsobem?
Velmi často se ukáže, že problém lze vyřešit bez psaní stovek nových řádků kódu. A právě za taková rozhodnutí platí klient. Ne za počet commitů.
Odpovědnost začíná tam, kde končí kód
Senior neodpovídá pouze za svou část projektu. Dívá se šířeji.
Zamýšlí se nad tím:
- jak změna ovlivní jiné moduly,
- zda bude řešení škálovatelné,
- zda bude nová funkcionalita snadno udržovatelná,
- jaká rizika přináší nasazení,
- zda uživatelé skutečně odnesou přínos.
To je úplně jiný způsob myšlení.
Dobrý senior tvoří další seniory
To je jedna z nejkrásnějších věcí v našem oboru.
Nejlepší programátoři, které jsme potkali, se nikdy nebáli sdílet znalosti. Naopak.
Těšili se, když se někdo v týmu rozvíjel rychleji. Protože silný tým vždy porazí jediného hrdinu.
Více než dvacet let jsme měli možnost sledovat, jak lidé, kteří u nás začínali praxí, získali postavení plnohodnotných členů týmu. Jednu z takových cest jsme popsali v první části této série.
Dnes tato osoba samostatně vede náročné úkoly, navrhuje řešení a podporuje mladší programátory.
Stalo se to přes noc? Samozřejmě že ne. Je to výsledek stovek hodin učení. Desítek Code Review. Nespočtu otázek. Početných chyb. A velké zvědavosti světa.
AI nenahradí dobrého programátora
Téma nemohlo chybět. Mění umělá inteligence náš obor? - Ano. Velmi.
Znamená to, že programátoři přestanou být potřeba? - Naopak.
Mění se charakter práce. Čím dál méně času věnujeme psaní opakujícího se kódu.
Čím dál víc pak na:
- analýze problémů,
- návrhu architektury,
- ověřování řešení,
- komunikaci s klienty,
- přijímání rozhodnutí.
AI je skvělý asistent. Ale odpovědnost za projekt nese stále člověk. A tak to ještě dlouho zůstane.
Co nenapíšeš do CV
CV ukáže:
- programovací jazyky,
- frameworky,
- certifikáty,
- praxi.
Neukáže však věci, které často rozhodují o úspěchu.
Umíš se přiznat k chybě?
Umíš požádat o pomoc?
Respektuješ čas ostatních?
Dodržuješ dohody?
Umíš klidně řešit konflikty?
Bereš odpovědnost za svá rozhodnutí?
Právě tyto vlastnosti způsobují, že tým chce s tebou pracovat.
Kdybychom mohli dát jen jednu radu...
Po více než dvaceti letech vývoje softwaru bychom mohli mluvit o technologiích.
O architektuře. O frameworkech. O umělé inteligenci.
Ale kdybychom ti měli zanechat jen jednu radu, zněla by takto: Nikdy nepřestávej být zvědavý.
Technologie se budou měnit. Programovací jazyky budou vyvíjet. Frameworky budou vznikat a mizet.
Ale zvědavost, pokora, chuť učit se, schopnost klást otázky - to jsou kompetence, které budou vždy potřeba.
Slovníček pojmů
Senior Developer
Zkušený programátor, který nejen vytváří kvalitní kód, ale také navrhuje řešení, přijímá technická rozhodnutí, podporuje tým a nese odpovědnost za realizované projekty.
Architektura softwaru
Způsob navržení aplikace a vztahů mezi jejími částmi, ovlivňující rozvoj, výkon a snadnost údržby systému.
Škálovatelnost
Schopnost systému zvládat rostoucí počet uživatelů, dat nebo procesů bez ztráty výkonu.
Commit
Záznam změn v systému řízení verzí Git, umožňující sledování historie vývoje projektu.
Mentoring
Proces předávání znalostí a zkušeností méně zkušeným členům týmu, podporující jejich profesní růst.
Shrnutí celé série
Pokud jsi četl všechny čtyři části, možná sis všiml, že jsme velmi zřídka psali o konkrétních frameworcích.
Úmyslně.
Protože technologie se mění rychleji než kdy dřív.
To, co je dnes nejpopulárnější, může za pár let být jen kuriozitou.
Způsob myšlení dobrého programátora ale zůstává nezměněn; analýza. Odpovědnost. Komunikace. Týmová práce. Zvědavost.
Právě tyto věci způsobují, že z juniora se stane mid developer a časem senior.
Ve Web24 už více než 20 let vyvíjíme software pro klienty z různých odvětví. Během té doby jsme si ověřili jednu věc. Nejlepší programátory nepoznáš podle toho, kolik programovacích jazyků znají. Poznáš je podle toho, jak řeší problémy, spolupracují s lidmi a jak moc jim záleží na kvalitě toho, co vytvářejí.
Pokud právě začínáš svou cestu v IT, přejeme ti, abys nikdy neztratil zvědavost.
Právě od ní začíná každá dobrá kariéra.



