Nemakej v korporátu a přidej se k nám!

5 tipů pro začínající programátory

27.02.2023

Řešení velkých úkolů

Můžeme dostat rozsáhlý, komplexní úkol, někdy i za použití technologie, se kterou ještě neumíme pohodlně pracovat. Když stojíme před takovou výzvou, může být těžké vůbec vědět, kde začít.

Prvním krokem může být tzv. brain dumping - sepsání čehokoli, co s naším úkolem souvisí, beze snahy tyto informace nějak organizovat či filtrovat - cílem je je hlavně dostat z hlavy, čímž se nám uvolní mentální kapacita a budeme se moci lépe soustředit na samotné řešení úkolu místo držení informací o něm. Toto sepsání můžeme udělat v různých formách, např. formou klasického todo listu, volným psaním textu, vizuálními poznámkami, nebo můžeme použít techniku myšlenkových map. Myšlenkové mapy nám umožní informace přehledně strukturovat, představit si hierarchii a části úkolu, na kterém pracujeme, a vizualizovat si vazby mezi nimi. Můžeme si je vytvořit ručně na papír, nebo digitálně pomocí aplikace - např. webová aplikace Coggle.

Dalším krokem může být organizace sepsaných informací a vytvoření několika prvních podúkolů. Při sepisování podúkolů jich může stačit jen několik prvních - není potřeba rozepsat úplně celý projekt, což může být často zahlcující a časem se tyto podúkoly stejně pravděpodobně změní.

Může pomoci i konzultovat úkol s kolegou, nebo i s několika, díky čemuž hlouběji pochopíme souvislosti projektu a uvidíme projekt z různých úhlů pohledu.

Konzultace s kolegy

Při programování je důležité se dostat do soustředěného stavu, k čemuž často potřebujeme být sami. Nedílnou součástí programování jsou ale i konverzace s kolegy.

Zeptání se seniornějšího kolegy na něco, s čím si nevíme rady, by nemělo být vnímáno jako známka slabosti - naopak to značí odvahu a moudrost - je lepší se poradit, než trávit zbytečně moc času hledáním řešení problému, se kterým si nevíme rady.

Konverzace s kolegy nás může dovést i k lepšímu řešení a udělat si spojení, na která bychom sami nepřišli. Může se hodit si takové konverzace naplánovat a dělat je pravidelně.

Jako bonus nám tyto konverzace mohou přinést i osobní radost, prohloubit vztahy a pocit významu, když si vzájemně pomáháme řešit úkoly.

Tyto konverzace často probíhají v kanceláři u kávy. Trávit čas během pracovní doby konverzacemi u kávy se může zvenčí zdát neproduktivním a může vypadat jako prokrastinace, ale my považujeme i tyto konverzace za plnohodnotnou část pracovní náplně.

Procvičovací úkoly

Může být lákavé trávit čas sledováním video tutoriálů na youtube a čtením článků, obzvlášť proto, že dnes je dostupné velké množství kvalitních zdrojů, odkud se lze učit. Sledování youtube tutoriálů může být dobrým prvním krokem, který děláme, když se učíme něco nového. Je ale důležité u tohoto kroku nezůstat a vyzkoušet si vysvětlované téma na praktickém úkolu. Vytvoření řešení cvičení např. v codepenu pro nás má výhodu nejen v tom, že téma lépe pochopíme a vytvoříme si spojení, která by nám pouze pasivním sledováním unikla, ale také v něm vidíme příležitost být kreativní - vymýšlet různá řešení, experimentovat a hrát si i s vizuální stránkou vytvořeného cvičení. To vše nám pak pomůže si téma lépe zapamatovat a pochopit.

Příklady zdrojů procvičovacích úkolů:

See the Pen Another Datepicker by Aaron Iker (@aaroniker) on CodePen.

Iterativní vývoj a chybování

Obecný pohled na chybování bývá často negativní - někdy jsme už od dětství vedeni k tomu, abychom dělali vše správně hned na první pokus, a pokud uděláme chybu, jsme za ni potrestáni a nemusíme mít ani příležitost ji napravit. To pak může vést k perfekcionismu a snaze dělat vše hned na první pokus dokonale, a k vysokým očekáváním na svou vlastní práci.

V programování tento způsob práce často nefunguje - snaha dělat věci dokonale hned napoprvé nás může tak zablokovat, že je pro nás těžké vůbec začít. Funguje mnohem lépe na sebe neklást takové nároky a přijmout, že první verze kódu nikdy nebude dokonalá, a vždy se k ní budeme chtít vrátit a předělat ji. Iterativní vývoj vede k lepším výsledkům - umožní nám nejen jednodušší začátek řešení úkolu, ale také kvalitnější výstup. Díky tomu, že se k úkolu opakovaně vracíme, můžeme zlepšovat náš kód z různých úhlů pohledu, jako např. udělat náš kód efektivnějším, přehlednějším, nebo jednodušším.

Přijmout svou první verzí kódu může být náročnější, pokud víme, že náš kód uvidí někdo další, obzvlášť náš nadřízený. I v takovém případě ale stojí za to se odvážit kódovat iterativně - časem se i naše první verze kódu zlepší.

Vyhledávání řešení na internetu

U programování je časté, že si vyhledáváme řešení specifických problémů, které řešíme v kódu. Tento způsob práce je něco, na co si často musíme zvyknout. Naše podvědomí nám může dávat najevo, že bychom si věci tak často vyhledávat neměli, že bychom je měli znát a pamatovat si je. Obzvlášť v těch případech, kdy už něco vyhledáváme poněkolikáté.

Vyhledávání řešení na internetu je ale velkou součástí programování a nemáme se u něj vůbec za co stydět. Hlavní by mělo být, jestli daný úkol zvládneme vyřešit, bez ohledu na to, jakým způsobem. Stejně tak není pro programování klíčové mít dobrou paměť - důležitější je ovládat specifický způsob přemýšlení, který při programování používáme, a obojí se nám s praxí zlepší.

Součástí vyhledávání řešení problému může být i využití ChatGPT - chatbota, který mimo jiné umí i napsat počítačové programy. Může se hodit hlavně pro inspiraci možných řešení, nebo nabídnutí různých úhlů pohledu na řešení daného úkolu. Řešení vytvořena pomocí ChatGPT ale často mají nedostatky a může trvat delší dobu, než nám vytvoří kvalitní kód. I tak ale může být příjemným zpestředním práce a zdrojem inspirace.

Za Webnode Jana Urbanková