Námět na tento článek jsem získala v rozhovoru s Honzou Javorkem, seniorním Python vývojářem a tvůrcem projektu junior.guru pro začínající programátory. Jako junior oceňuji podporující komunitu jak začátečníků, tak zkušených vývojářů. Honza se mi zmínil, že se začátečníci často neodváží do open-source projektů zapojit kvůli strachu z nedostatku zkušeností. Cílem mého článku je podpořit ostatní začátečníky nebo juniory a zbavit je obav, které je potřeba v začátcích překonávat :)
Open source znamená software s otevřeným a veřejně dostupným zdrojovým kódem. Do jeho vývoje se tedy můžete aktivně zapojit jako dobrovolník, ať už jako programátor, nebo například projektový manažer, tester a podobně.
Má cesta k dobrovolnictví
Když jsem se začínala učit programovat, původně jsem neuvažovala, že bych se aktivně zapojila do veřejného projektu – popravdě jsem o této možnosti příliš nevěděla. První rok jsem věnovala spíše vlastním menším projektům, kurzům, workshopům a hledání své první juniorní pozice, kde bych se mohla posouvat. Když se ohlédnu zpět, myslím, že přispívat do open-source projektů by byla výborná škola – v kombinaci se všemi kurzy a mými vlastními projekty.
Má premiéra s open-source projektem přišla zhruba po roce, kdy jsem jednou na LinkedIn v hlavním feedu narazila na zmínku o inkubátoru veřejně prospěšných a neziskových projektů Česko.Digital. Z příspěvku jsem zjistila, že hledají dobrovolníky na některé již fungující projekty.
Jak se zapojit
Velmi mě zaujala celá myšlenka Česko.Digital, přečetla jsem si více o jejich poslání a začala jsem pátrat po tom, kde se přihlásit a jak začít. Na výpisu otevřených dobrovolnických pozic často hledají pomoc z různých oborů, nejen z IT. Díky tomu jsem narazila na skvělou komunitu velmi zapálených lidí, odborníků, kteří mají zájem na zlepšování a digitalizaci Česka.
Na začátek doporučuji se také připojit na jejich Slack pro přehled informací o práci na projektech, představit se a nabídnout své dovednosti. Tímto způsobem mě pak také později oslovili tvůrci dalších neziskových projektů, zda mám čas pomoci i jim.
Ačkoliv jsem junior, na projektu mě uvítali s otevřenou náručí, pozitivní energií a nabídli mi průběžně již několikrát možnost, jak pomoci. Práce je tu dostatek.
Jak začít
Když potřebuji do začátku informace k workflow a poznat specifika práce s Gitem na daném projektu, bývá přímo v adresáři projektu návod nebo soubor zvaný README.md. V tomto souboru bývají stručné instrukce k nastavení projektu a lokálnímu spuštění. Pokud tady potřebné informace nenajdu, mohu se zeptat ve slackovém kanálu projektu.
Na GitHubu u daného projektu také zpravidla bývá záložka zvaná Issues, kde najdu právě otevřené úkoly k řešení. Z názvu nebo štítků jde odhadnout, zda se jedná o úpravy na frontendu, backendu, v databázi nebo designu projektu. Také lze někdy pomocí štítků zjistit, zda jde o „good first issue“, tedy o úkol pro juniora a vhodný způsob, jak si práci na projektu vyzkoušet.
Pokud štítky chybí a název problému není úplně vypovídající, podívám se na podrobnější popis úkolu, což mi něco napoví o obtížnosti řešení. Pokud ani tak nemám jistotu, mohu se zeptat přímo pod daným issue v komentáři a požádat o dodatečné informace.
Jakmile jsem se již aktivně zapojila, vyslala jsem na GitHub s projektem svůj první pull request a následně se má úprava objevila v produkci. Vnímala jsem to jako velmi motivující pocit z dobře odvedené práce. Pomoc veřejně prospěšnému projektu má přidanou hodnotu vědomí, že posouvám své dovednosti a znalosti na další úroveň a sbírám cenné zkušenosti z opravdového týmového vývoje na větším projektu, který má reálný dopad a pomáhá zlepšit konkrétní oblast v naší zemi. Mohu si zároveň vyzkoušet pro mě nové technologie a rozšířit si obzory. To vše splnilo má očekávání a zbavilo mě obav z neznámého.
Do jakých dalších projektů se lze zapojit
Po zkušenosti s Česko.Digital jsem si ze zvědavosti zkusila najít další projekt pro srovnání. Bylo to víceméně podobné s drobnými rozdíly ve workflow, ale jinak to opět splnilo má očekávání.
V průběhu práce na dalších projektech jsem si všimla, že si vlastníci projektů velmi cení kohokoliv, kdo umí psát dokumentaci k projektu. Někdy je to možná víc žádoucí než samotný vývoj, pokud již projekt funguje a pouze se udržuje. Osobně to vnímám jako další úroveň, kam se lze na open-source projektech postupně dostat a pomáhat dokumentovat.
Není potřeba se omezovat jen na české projekty. Na GitHubu nebo skrze Google lze najít projekty z celého světa a bývá zvykem, že je většina psána v angličtině, která je často i na komerčních projektech velmi využívaná, stejně jako v dokumentaci kteréhokoliv jazyka nebo nástroje, který jsem se učila.
Zde je na závěr pár příkladů, které mohu osobně doporučit:
- Česko.Digital nabízí mnoho projektů, kde lze narazit na technologie jako React, Angular, Wordpress apod.
- DjangoGirls, kde lze pomoci s překladem tutoriálů do českého jazyka pro českou komunitu.
- Demagog, který se zabývá odhalováním nepravdivých výroků našich politiků, psaný například v Ruby.
- Dále také PyLadies, kde je možné si procvičit práci s Pythonem ve Flasku.
- Pak také například CodeSandbox psané ve Vue.js nebo Find a Mentor psané pomocí JS v Reactu.
Na závěr chci povzbudit všechny, kteří ještě stále váhají, aby se porozhlédli po projektu, který jim bude něčím blízký, a ideálně bude využívat technologie, které jim pomohou se zlepšit a posunout dál.