Jak zajistit API pomocí JWT tokenů
Jak napsat životopis, který si přečtou Životopis pro IT se liší od běžných profesí. Nezačínejte motivačním dopisem o vaší lásce k technologiím – personalisté to čtou každý den. Místo toho hned na začátek uveďte, jaké technologie ovládáte a na jaké úrovni. Rozdělte je na „aktivně používám" a „mám základní přehled". Nikdy nepřehánějte, protože pohovor obvykle zahrnuje praktický úkol, kde se vaše skutečné znalosti prověří. Do životopisu také zahrňte odkazy na vaše projekty, ale pouze na ty, které jsou veřejně přístupné a fungují.
Při práci na více feature větvích také vždy synchronizujte svůj lokální repozitář s originem, ale ne jen jednou na začátku. Průběžně si stahujte změny z mainu a rebasujte svou větev. Můžete si nastavit automatický fetch, ale raději si na to udělejte zvyk. Klíčem je, aby vaše větev nebyla nikdy příliš vzdálená od mainu. Pokud na ní pracujete déle než týden, zvažte, zda nemá smysl rozdělit ji na menší části, které lze dílčím způsobem začlenit.
Nakonec si uvědomte, že první práce vývojáře není o tom, že budete hned psát složité systémy. Bude to spousta učení, opravování chyb a čtení cizího kódu. Nebojte se požádat o zpětnou vazbu po každém pohovoru, ať už dopadl jakkoli. Využijte i možnost práce na zkoušku nebo stáže – i když je placená hůře, získané zkušenosti a kontakty vám otevřou dveře k lepším příležitostem. Trpělivost a soustavná práce se vyplatí, za pár měsíců si budete připadat jako jinde.
Většina začínajících vývojářů řeší stejný paradox: firmy chtějí zkušenosti, ale odkud je vzít, když vás nikdo nechce zaměstnat? Řešení neleží v neustálém posílání životopisů, ale v cíleném budování dovedností, které jsou na trhu žádané. Než začnete rozesílat přihlášky, zjistěte si, jaké technologie se ve vašem regionu skutečně používají. Projděte si inzeráty na pozice juniorů a všimněte si, které jazyky a frameworky se opakují. Tento průzkum vám ušetří měsíce učení něčeho, co nikdo nehledá.
Na pohovoru se připravte na to, že budete vysvětlovat své projekty. Neříkejte jen, že jste je vytvořili – popište, jakou architekturu jste zvolili, s jakými problémy jste se setkali a jak jste je vyřešili. Očekávejte také otázky na základní algoritmy a datové struktury, třeba na třídění pole nebo složitost operací. Pokud něco nevíte, přiznejte to a vysvětlete, jak byste postupovali při hledání odpovědi – schopnost učit se je u juniorů důležitější než znalosti zpaměti.
Když začnete psát první unit test, nejčastější chybou je snaha pokrýt najednou příliš mnoho logiky. Test by měl ověřovat přesně jednu věc – jednu funkci, jednu metodu, jeden scénář. Než začnete, otevřete si kód, který chcete testovat, a napište si na papír tři základní věci: co funkce přijímá, co vrací a jaké má vedlejší efekty. Pokud funkce komunikuje s databází, soubory nebo sítí, test se výrazně zkomplikuje – proto je lepší začít u čistých funkcí, které jen zpracují vstup a vrátí výstup.
Doporučuji také pravidelně porovnávat odhady se skutečností. Po dokončení úkolu si zapište, kolik času reálně zabral, a toto číslo porovnejte s odhadem. Po pár projektech získáte vlastní historická data, která vám umožní kalibrovat budoucí odhady. Pokud máte tendenci podhodnocovat, zvyšte odhad o koeficient (např. 1,5). Tento koeficient si ale musíte odvodit sami – je unikátní pro každý tým a typ práce.
Nakonec nezapomeňte, že odhad je vždy pravděpodobnostní, ne jistota. Dobrý odhad by měl být rozložen na optimistickou, realistickou a pesimistickou variantu. Pro plánování projektu používejte realistickou až pesimistickou. Optimistická hodnota je vhodná jen pro motivační účely, ne pro slibování termínů. Pokud se odhady často liší o více než 30 %, zaměřte se na zlepšení rozkladu úkolů a sběr dat – to je cesta k trvalejší přesnosti.
Pro udržení čisté historie je klíčové pravidelně rebase proti hlavní větvi, ne merge. Rebase přepíše historii tak, že vaše commity navazují na aktuální stav mainu, což usnadňuje pozdější začlenění. Při rebase ale pozor na konflikty – řešte je hned, neodkládejte. Pokud konflikty vznikají opakovaně ve stejných souborech, je to signál, že byste měli komunikovat s kolegy, kdo na čem pracuje, a případně si rozdělit soubory, aby se předešlo zbytečným srážkám.
Prakticky implementujte middleware, který token zpracuje. Ten by měl vyjmout token z hlavičky Authorization ve formátu Bearer, ověřit ho a připojit informace o uživateli k požadavku. Vždy řešte chyby pomocí HTTP status kódů – 401 pro neplatný token, 403 pro nedostatečná práva. Vyhněte se logování celých tokenů, stačí logovat ID uživatele a čas platnosti.