Nejlepší ve svém oboru jsou ti, kteří si uvědomují, že je stále co se učit. Zde je šest kroků, jak se letos stát lepším programátorem.
Kódování je vyvíjející se disciplína. To k němu často lidi přitahuje – kromě možnosti spolupracovat s největšími společnostmi na světě – ale také to znamená, že se lidé v oboru musí neustále dívat dopředu.
Nestačí zvládnout nejžádanější jazyky. Pokud chcete ve své kariéře postoupit, musíte začít přemýšlet o tom, jak se stát všestranně lepším programátorem, a těchto šest kroků je dobrým začátkem (pokud to mohu říci za sebe).
Používejte Feynmanovu techniku
Feynmanova technika je mentální model pojmenovaný po nositeli Nobelovy ceny za fyziku Richardu Feynmanovi.
V podstatě spočívá v tom, že identifikujete mezery ve svých znalostech tak, že si představíte, že byste museli učit nějaký koncept ve třídě pomocí jednoduchého jazyka a analogií (přesně v duchu tohoto subredditu).
Když zjistíte mezery, vraťte se ke knihám nebo jakémukoli jinému zdroji znalostí, na který spoléháte, a naučte se aspekty, které jsou vám méně známé.
Poté už jen opláchněte a opakujte, a najednou jste mnohem jistější při provádění kódu, protože máte silnější jádro jeho pochopení.
Můžete přispívat na fóra, jako je Stack Overflow, abyste také použili Feynmanovu techniku. Odpovídáním na otázky a prohlížením odpovědí ostatních si prohloubíte porozumění tomu, co děláte.
Zlepšete své měkké dovednosti
Měkké dovednosti se mohou zdát být naprostým protikladem programování (což je někdy hlavním bodem jeho přitažlivosti), ale pro váš profesní rozvoj jsou nezbytné.
Jestliže dokážete přístupně komunikovat s klienty i nadřízenými a také příjemně a poutavě prezentovat sebe a své myšlenky, zjistíte, že mnoho aspektů vašeho profesního života je najednou snazších.
Pokud se obáváte, že vám měkké dovednosti chybí, naštěstí se je lze naučit.
„Nebojte se věci rozbíjet“
Tato rada pochází od Mikea Lewise, jednoho z mnoha vývojářů a odborníků na programování, kteří přispěli do vynikající knihy Kevlina Henneyho 97 věcí, které by měl znát každý programátor.
„Každý, kdo má zkušenosti z oboru, nepochybně pracoval na projektu, kde byla kódová základna přinejlepším nejistá,“ vysvětluje Lewis.
„Kdykoli se přidává modul, cílem programátora je měnit co nejméně a při každém vydání zadržet dech.
„Důvodem, proč je provádění změn tak nervózní, je nemoc systému. Potřebuje lékaře, jinak se jeho stav bude jen zhoršovat.“
Představa, že při přesunech něco rozbijete, se může zdát úzkostná – žádný profesionál nechce skončit tak, že něco zhorší, natož programátor – ale pokud jste ochotni něco rozbít, budete mít nakonec celkově lepší kód a následně se stanete lepším kodérem.
Napište kód třikrát
Psaní kódu se přirovnává k psaní románu a stejně jako při psaní románu byste nikdy neměli svůj první návrh vydávat za hotový produkt.
Pokud dokončíte psaní kódu poprvé, jistě bude fungovat, ale bude fungovat dobře? Možná bude funkční, ale bude elegantní? Pokud usilujete o eleganci (což byste měli), zkuste kód napsat třikrát.
Přemýšlejte o tom, že napoprvé píšete kód jako o ověření konceptu, napodruhé jako o tom, že ho zprovozníte, a napotřetí jako o tom, že ho zprovozníte správně.
Napište obecně hodně kódu
„Cvičit, cvičit, cvičit“ není výrok, který by se týkal jen světa programování, a to z dobrého důvodu. Kódování je dovednost jako každá jiná, a tak nejlepší způsob, jak se profesionálně zdokonalit jako programátor, je psát hodně kódu.
K vystavení svých projektů můžete použít GitHub a pak si nechat od ostatních vývojářů zkritizovat svou práci a poradit, jak k věcem přistupovat jinak.
Poté sestavte své nejlepší projekty do působivého portfolia, které bude mít velký přínos pro budování vašeho profilu.
Můžete se zúčastnit hackathonů nebo se zapojit do mentorského programu párového programování, abyste zdokonalili své dovednosti.
Zvažte přispívání do open-source komunit jako způsob, jak si vybudovat kontakty v rámci svého oboru i získat přehled o způsobech, jakými lidé přistupují k problémům, které se liší od těch vašich.
Provádějte jednotkové testování
Jednotkové testování může často vyvolávat strach a hrůzu v srdcích vývojářů, ale jeho použití při návrhu kódu může zajistit, že každá součást vaší práce bude fungovat přesně tak, jak jste zamýšleli.
Jak upozorňuje Steve Sanderson, programátoři by neměli přistupovat k testování jednotek jako ke způsobu hledání chyb; to, že komponenty fungují nezávisle, ještě neznamená, že jsou kompatibilní.
Testování jednotek je klíčovou součástí návrhu řízeného testy. Celý proces je díky němu o něco časově náročnější, což může přilévat olej do ohně, pokud už panikaříte kvůli rychle se blížícímu termínu, ale konečným výsledkem je kvalitnější kód, který prokazuje vaši pozornost k detailům.