Jak získat první práci vývojáře: praktický průvodce

Základní rozdíl spočívá v modelu dat. Relační databáze vyžadují pevné schéma – předem definujete tabulky, sloupce a vztahy. NoSQL databáze pracují s flexibilnějšími strukturami, jako jsou dokumenty, klíče a hodnoty, grafy nebo sloupce. To znamená, že můžete ukládat data bez předchozí definice struktury a měnit ji za běhu. To je užitečné zejména v projektech, kde se požadavky na data rychle vyvíjejí, nebo kde jednotlivé záznamy mají různý tvar.<br> <br> <br> <br> Velkou roli hraje i to, jak komunikujete. Místo frází „jsem rychlý učitel" přineste konkrétní příklad. Například: „V květnu jsem se naučil React a za měsíc jsem vytvořil dashboard pro sportovní tým." Tím ukážete, že se nebojíte nových výzev. Také se připravte na otázku, proč chcete pracovat právě u nich. Projděte si jejich web a produkty, ale vyhněte se kopírování jejich marketingových sloganů. Raději řekněte, co vás na jejich technologiích zajímá.<br> <br> <br> <br> Typickým případem, kdy zvolit NoSQL, je ukládání uživatelských profilů, produktů v e-shopu nebo obsahu pro analytické nástroje. Představte si, že máte v aplikaci položky, které mají různé atributy – jeden produkt má barvu a velikost, jiný jen hmotnost. V relační databázi byste museli vytvářet mnoho prázdných sloupců nebo propojovat pomocné tabulky. V dokumentové NoSQL databázi jednoduše uložíte každý produkt jako JSON dokument s libovolnými klíči.<br> <br> <br> <br> Psaní smysluplných commit zpráv je dovednost, která se vyplácí především při zpětné dohledatelnosti změn. Když se kód po měsících vrátíte, nebo když ho prochází jiný člen týmu, kvalitní zpráva ušetří hodiny zmatků. Nejde o žádnou vědu – stačí dodržet pár zásad, které vám i ostatním usnadní orientaci v historii projektu.<br> <br> <br> <br> Když se řekne databáze, většina vývojářů si představí tabulky, řádky a SQL dotazy. Relační databáze jsou osvědčeným standardem, ale ne pro každý projekt jsou tou nejlepší volbou. NoSQL databáze nabízí jiný způsob ukládání dat, který může být v některých případech výrazně efektivnější. Než se ale pustíte do jejich implementace, je důležité pochopit, kdy dávají smysl a kdy naopak přinesou více problémů než užitku.<br> <br> <br> <br> Příprava na pohovor: co se skutečně ptají Na pohovoru se vás nebudou ptát na definice z učebnice, ale na konkrétní situace. Typická otázka zní: „Popište, jak byste navrhli aplikaci pro správu úkolů." Ukažte, že umíte přemýšlet v souvislostech – rozdělte problém na menší části, zmiňte databázi, API a uživatelské rozhraní. Když nevíte přesnou odpověď, řekněte, jak byste postupovali, abyste ji našli. Nikdy neříkejte „nevím" bez dalšího vysvětlení.<br> <br> <br> <br> <span style="font-weight: bolder;">Nejdůležitější je mít</span> funkční portfolio. Místo pěti rozpracovaných projektů raději tři hotové, které běží, mají čistý kód a jsou zdokumentované. Publikujte je na veřejném repozitáři a připojte krátký popis, jakou jste řešili výzvu a co jste se naučili. Personalisti i techničtí lídři si všímají toho, jestli umíte dotáhnout práci do konce. Chyba je posílat životopis bez odkazů nebo s odkazy na nefunkční stránky.<br> <br> <br> <br> První kroky: commit, add a časté chyby Po git init je čas na první uložení. Nejdříve musíte soubory „přidat", což uděláte příkazem git add . (tečka znamená všechny soubory). Tím se soubory přesunou do takzvaného „staging area". Poté je uložíte pomocí git commit -m "popis změny". Zde se vyvarujte dvou klasických chyb: zapomenout na -m, což spustí nechtěný textový editor, a psát nesmyslné popisy typu „oprava". Popisujte, co jste změnili a proč, ať se do toho za měsíc zorientujete.<br> <br> <br> <br> Základem je popsat, co a proč jste změnili, ne jak. Místo „oprava bugu" napište „oprava pádu při načítání prázdného seznamu". Místo „úprava stylů" zkuste „sjednocení rozestupů v hlavičce pro mobilní zobrazení". Důležité je, aby příjemce zprávy pochopil kontext, aniž by musel otevírat samotný diff. K tomu pomáhá i uvedení čísla ticketu nebo úkolu, pokud jej používáte – ale vždy doplňte i slovní popis, ne jen číslo.<br> <br> <br> <br> Při práci s NoSQL se vyvarujte dvěma častým chybám. První je použití NoSQL jen proto, že je „moderní", bez jasného důvodu. Druhým problémem je nedostatečné navržení datového modelu. V NoSQL se často doporučuje ukládat data tak, jak je budete číst (denormalizace). To znamená, že pokud potřebujete zobrazit objednávku s položkami, uložíte je společně v jednom dokumentu, místo abyste je rozdělovali do více tabulek. To vede k výkonnostnímu zisku, ale musíte pečlivě zvážit, jak se data mění, abyste se vyhnuli nekonzistencím.<br> <br> <br> <br> Kdy NoSQL nepoužívat a jaké chyby se vyvarovat Naopak, pokud potřebujete provádět složité transakce, kde je nutné zajistit, aby se buď provedly všechny operace, nebo žádná, zůstaňte u relační databáze. Typickým příkladem je bankovní převod – odeslání peněz a připsání na účet musí proběhnout atomicky. Většina NoSQL systémů podporuje transakce jen omezeně, nebo jen na úrovni jednoho záznamu. Dalším případem, kdy se NoSQL nehodí, jsou dotazy nad více tabulkami, které vyžadují časté spojování (JOIN). I když některé NoSQL databáze tento problém řeší, výkonnostně a vývojově je to složitější než v SQL.