Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jak vzniká junior.guru: Otevřený „startup“ v je...

Honza Javorek
November 06, 2021

Jak vzniká junior.guru: Otevřený „startup“ v jednom člověku

V jednom člověku jsem v českém prostředí vytvořil otevřený projekt, který (zatím) vydělává 20 tisíc čistého měsíčně. Vše je kompletně na GitHubu, kód je pod MIT, texty pod CC BY-SA. Finanční výsledky mám napsané v patičce webu, zveřejňovat se chystám i návštěvnost. Svůj postup dokumentuji v každotýdenních poznámkách na svém blogu. Chtěl jsem se učit od Indie Hackers, ale na východ od Německa jsem žádné nenašel. Nezbývá tedy, než sám přednášet a ukazovat, že jde něco takového dělat a jak.

https://www.openalt.cz/2021/program_detail.php#event_7

Honza Javorek

November 06, 2021
Tweet

More Decks by Honza Javorek

Other Decks in Business

Transcript

  1. Kdo je Honza Javorek • Karviná, Brno, Praha • FIT

    VUT, FI MUNI • na volné noze 5 let, Mergado 2 roky, na volné noze 2 roky, Apiary 3 roky, Oracle 2,5 roku, junior.guru 2 roky • Python komunita 10 let
  2. Co je junior.guru • Web pro všechny, kteří se chtějí

    učit programovat a případně si pak hledat práci v oboru • Příručka (rozcestník, rady) • Klub • Pracovní nabídky • Moje podnikání na plný úvazek
  3. Jak to vzniklo • Python komunita, PyLadies, práce se začátečníky

    • Táborákové nápady: Job board? Vyrobíme za víkend přes Google Forms... • Příležitost uživit se komunitní prací? Jen vydělat na provoz webíku? • Mnoho měsíců uvažování, sbírání nápadů a názorů • Odchod z Oracle • Kdybych neodešel před covidem, asi by to nikdy nevzniklo?
  4. Vzory • „Lean startup“ - en.wikipedia.org/wiki/Lean_startup • Pieter Levels (nomadlist,

    remoteok), Maciej Cegłowski (pinboard) • Indie Hackers, Open Startup List • MAKE: The Indie Maker Handbook (Levels), Getting Real (Basecamp) • Reconsider (DHH) - m.signalvnoise.com/reconsider/ • Apiary, LoukyKvět :)
  5. Vzory? • EU je speci fi cký trh (GDPR, DPH

    byrokracie, různé jazyky) • ČR je speci fi cký trh (Stripe tu donedávna nebyl, spousta služeb není lokalizovaná, CZK místo EUR nebo USD) • Chybí návody jak něco danit, co a jak řešit :( • Málem jsem byl mezi prvními zákazníky Stripe v Česku • GitHub Sponsors jsem zkoušel mezi prvními • Nedivil bych se, kdybych byl první zákazník Memberful v Česku
  6. Já jsem vzor na OpenAltu dělat nechtěl! Ale co mi

    zbylo. Třeba takhle aspoň někoho inspiruju.
  7. One man show • Po letech práce v týmu jsem

    chtěl být zase chvíli sám • Využít všechno co umím, vč. např. marketingu, ne pouze programovat • Mít plnou kontrolu nad směrem podnikání, nad cílem fi rmy • „Když budu řešit nějaké problémy, aspoň to budou moje problémy” • Mít plnou kontrolu nad svým dnem a počtem meetingů • Soustředit se při práci, lidi si nadělit na oběd a na kafe
  8. Udržitelnost • Vyskočit z kolotoče investic a akvizicí, kde jde

    nakonec vždy jen o peníze • Mít svůj internetový corner shop, kde se za pultem usmívám na reálné lidi • „Dělat svět lepší“ • Mít tak akorát peněz, aby to uživilo moji jednu rodinu • Makat tak akorát, aby mi to dělalo radost, mít fl exibilitu v životě • Mít možnost pracovat odkudkoliv a kdykoliv, dokud dítě nechodí do institucí
  9. Služba jako produkt • Nechci a nemůžu prodávat čas -

    produkt funguje i když onemocním. Produkt škáluje. • V jednom člověku nemůžu nosit pager - technická omezení, žádný runtime • Pasivní příjem je blbost, automatizace je však mocná čarodějka • Nemám rád reklamy a paywally - nebudu je provozovat • Na kusový prodej (např. kniha) je v Česku malý trh, druhý den to bude na Uložto, neumím a nechci to tvořit jak na běžícím páse (Zibura) • Nedělám kompromisy - když to nevyjde, klidně půjdu někam programovat
  10. Kapitál • 'Follow your passion' is wrong:
 Cal Newport speaks

    at World Domination Summit 2012 • Úspory z Apiary a korporátu • 10 let zkušeností: komunita, marketing, frontend, backend, komunikace, produktový vývoj, podnikání na volné noze… • Sociální kapitál
  11. Investorka • S manželkou jsme v tom spolu, zásadní rozhodnutí

    konzultujeme • V prvním roce JG můj čistý příjem vydělal na nájem • V druhém roce JG můj čistý příjem vydělal na nájem :)))) • Každých několik měsíců počítáme rodinné fi nance a vymýšlíme co dál • Dítě (3 měs) si teď užíváme společně, fl exibilita a rodina > peníze
  12. Byznys model • Udělám stránku s nabídkami práce čistě pro

    juniory, je těžké je hledat jinde v záplavě dalších nabídek, fi ltry na existujících portálech jsou na houby • Aby tam chodili lidi, přidám nějaké ty rady, co pořád opakujeme začátečníkům: jak začít, jak získat praxi a pak šup na nabídky • Nabídek pro juniory nebude moc, ale kdybych je posbíral všechny, třeba mě to uživí nebo aspoň zaplatí provoz a údržbu toho projektu
  13. Proč to nefungovalo • Měl jsem si spočítat, kolik těch

    nabídek může reálně být, analyzovat jejich počet na aktuálních job boardech, zhodnotit konkurenci • První rok jsem nechápal kdo je můj klient, vytvářel jsem víc obsahu a dělal marketing pro juniory a vůbec neřešil fi rmy, inzerovat ale měly fi rmy • Cesta od stránky „začni se učit programovat“ ke stránce „procházej nabídky práce“ trvá lidem třeba půl roku nebo roky dva • Covid-19 zbrzdil pracovní trh • Více na honzajavorek.cz/blog/spoustim-klub/
  14. Příručka • Chtěl jsem zvýšit tra ff i c na

    nabídkách práce, tak že napíšu nový obsah přímo pro lidi, co si tu práci hledají • Nějak mi to ujelo a místo krátké nové stránky jsem napsal desítky normostran rad :(( • Řešil jsem jak to u fi nancovat, vydání za paywallem nebo jako knihu jsem zavrhl, zkusil jsem sponzorská loga a dobrovolné příspěvky • Oznámil jsem vydání a pokusil se vytvořit marketingové FOMO, o příručce napsalo několik médií (můj první kontakt s médii)
  15. První velký klient • Validace byznys plánu, je zájem! Známé

    jméno, přitáhne další klienty • Speci fi cké požadavky, musel jsem vyrábět spoustu věcí, které žádný jiný klient nepotřeboval • Uzavřít deal je velká byrokracie a trvá to strašně dlouho • Zaměřil jsem se pak na menší a střední fi rmy, kde je deal hotový za týden • Mám už rok rozjednaný deal s dalším gigantem, ale vlastně jim ani nepíšu
  16. Dobrovolné příspěvky • Inspirace: Fuka, PHPStan, yablko • Experiment, nic

    moc jsem od toho nečekal • Patreon, GitHub Sponsors, účet • pravidelné/jednorázové, zdvojnásobování • Celkem 52.000 Kč za 2020 • Celkem 54.000 Kč za 2021 (listopad) • Upozaďuju na úkor klubu, ale stále velká pomoc (21 % příjmů) • Bez nich by už asi JG neexistovalo?
  17. Média • V ČR nemáme HackerNews nebo ProductHunt • Pokusy

    s tiskovými zprávami • Reálně je potřeba mít zajímavé téma, znát novináře, exkluzivně pro ně něco napsat (nebo mít peníze na PR článek) • Podzim 2020 úspěchy, ale to ještě nebyl klub, návštěvnost vniveč
  18. Aktuální byznys model • Junioři si platí členství v klubu,

    měsíční fee, tzn. buduji MRR • Mají za to mou pozornost a unikátní komunitu se mnou jako zahradníkem • Firmy se také mohou stát členy, mají z toho CSR, D&I talent pool, případně službu pro své studenty/juniory • Narovnání toho, kdo je můj zákazník a komu se zodpovídám, mohu být kritický ke vzdělávacím agenturám nebo neférovým fi rmám • Cílem je stabilní příjem aspoň 30 tis čistého (aktuálně stagnuju na 20 tis) • V zahraničí to frčí (NomadList, Rosie Sherry, mnoho dalších paid communities), ale u nás první? Víte o podobných klubech? (Rozumný investor?)
  19. Sales • Neumím, nebaví, nechci • Nemám problém dělat sales

    cally a komunikovat s klienty • Mám problém chodit jako podomní prodejce a nabízet • Udělal jsem si dlouhou „CRM“ tabulku s fi rmami k oslovení a nikdy žádnou neoslovil • Povedlo se vyřešit pivotem, fi rmy chodí samy ¯\_(ツ)_/¯
  20. Česko vs svět • Doménu .guru jsem vybíral tak, aby

    byla mezinárodně pochopitelná • Když jsem měl byznys model založený na nabídkách práce, uvažoval jsem zda neudělat expanzi do zahraničí • Překlad webu není totéž co jeho úprava na místní podmínky (ani Praha a Bruntál nemají stejný trh, natož Londýn, Atlanta, Dublin, Dillí), musel bych dělat vše dvakrát (EN, CS) • Faktura do zahraničí = plátce DPH, byrokracie navíc, zprvu jsem to chtěl dát zdarma jako průzkum • Úvahy o MVP pro Dublin nebo Londýn, pokukování po Brexitu (DPH) • Nakonec neřeším, pro klub je v ČR trh velký dost na to, aby mě to uživilo • Angličtinu neplánuju, Čeština snižuje začátečníkům bariéru • Slovensko plánuju
  21. Covid-19 • Zabil trh s nabídkami práce zrovna když jsem

    se rozjížděl • JG se dostalo do „koronápadů“ apod. věcí jako „co dělat když se nudíte doma v karanténě” a tím se o něm dovědělo hodně lidí • JG klub je online a lidi tráví víc času online (ale klub by asi fungoval i tak, pro lidi z vesnice, introverty, lidi co nemají večer čas a chuť někam chodit…) • Jen díky klubu mohu být teď v kontaktu s reálnými juniory a nejsem odtržený od jejich problémů • Chtěl jsem pracovat z domova a nadělovat si lidi na oběd, na kafe, na pivo, ale místo toho došlo k mojí izolaci
  22. Otevřený kód • Taky vás vždycky štvalo, že vidíte na

    cizím webu překlep, ale nemůžete poslat PR s opravou? • Od začátku otevřený kód na GitHubu • MIT licence na kód • CC BY-SA licence na texty • Zatím spíš open-sourced než open source, pracuje se na tom • Nikdo mi nic zatím „neukradl“ :))
  23. Technologie • Continuous Delivery: GitHub, CircleCI, žádné feature branches
 (YouTube:

    Dave Farley) • No Runtime, No Pager (statické stránky + build na CI, kde jede backend) • Outsourcing: Google Sheets/Docs/Forms, Memberful, Discord, SendGrid, Mailchimp… • HTML, SCSS, Python, Flask, SQLite, Scrapy, Frozen-Flask, Jinja2, Vercel, vanilla JavaScript, discord.py
  24. Změny v technologiích • SCSS špagety → SCSS BEM →

    SCSS Bootstrap • Vercel → GitHub Pages • SendGrid → Gmail SMTP :)) • MailChimp → (zrušeno) • Flask, Frozen-Flask → MkDocs • HTML, Jinja2 → Markdown, Jinja2 • Google Analytics → Simple Analytics • 1 vanilla JS soubor → 10 vanilla JS souborů → 5 vanilla JS souborů :))
  25. Otevřené příjmy • Nejdřív v článku na blogu, nic se

    nestalo • Levels svoje fi nanční výsledky tweetuje běžně, je to etiketa i u Indie Hackers • Dal jsem do patičky webu (Fio API a Google Sheet) • Transparentnost pro lidi, kteří mě podporují • Důvěryhodnost pro juniory (kdo mě platí?) • Na obrázku stav k 5.11., ale čekám na zaplacení dvou velkých faktur, takže to je reálně kolem 20.000 Kč
  26. Otevřená návštěvnost • Původně GA, přestal jsem tam chodit (pomalé,

    nepřehledné, nerozumím) • Původně vytahování čísel z GA přes API a zobrazení na webu nebo posílání v emailu, pro fi remní klienty • Přecházím na Simple Analytics • Privacy, EU, GDPR, žádné cookies • Přehledné • Veřejný dashboard, podporuje permalinky, které mohu poslat i klientovi (např. před fi ltrované na stránku s inzerátem)
  27. Otevřené poznámky • Vzory: Čaj týdne, David Nogol, Simon Willison

    • Uspořádávám si myšlenky, dostávám zpětnou vazbu • Levels tohle dělá na Twitteru, tam mi to moc nefungovalo • Nemám depku, že je pátek a nic jsem nestihl • Transparentnost pro podporovatele • Marketing jak sviňa
  28. Víc čísel? Víc grafů? • Chtěl bych, nemám zatím čas

    udělat, snad do budoucna • Počet platících individuálních členů, členů kteří přišli přes fi rmy • Samotnému by se mi to hodilo, místo do Google Sheets teď chodím do patičky webu koukat kolik vydělávám (načítá se to rychleji ¯\_(ツ)_/¯ ) • Vývoj v čase, ne pouze aktuální stav
  29. Proč otevřenost? • zpětná vazba, nápady • marketing - jsem

    outsider, lidi sledujou můj příběh a cítí se být jeho součástí, fandí mi jak Trabantům, je to chytlavý • transparentnost a důvěryhodnost toho co dělám směrem k juniorům • mám rád open source, transparentnost, upřímnost, vždy jsem to všude prosazoval a je to v DNA všeho, co jsem se snažil dělat třeba v Python komunitě (viz docs.pyvec.org ) • mám věci zadarmo! třeba CircleCI, logo.junior.guru • můžu časem budovat komunitu i skrze kód, dát někomu spravovat stránku v příručce… Co mají fi rmy z toho, když dělají OSS? Hiring, marketing, komunitní efekt pro jejich produkt. Je to práce a risk navíc, málokdo to umí dobře.
  30. Náplň práce • Mega mě to baví. Dlouhodobě. Tím jsem

    si v začátku jistý nebyl, ale teď jsem přesvědčený, že to dokážu dělat klidně „do důchodu“. • Nemám meetingy, které si sám nedomluvím :) Nemám žádné pravidelné meetingy. • Střídám činnosti. Píšu, propaguju, programuju backend, přednáším, dělám rozhovory, programuju frontend, bavím se s lidmi, radím. Neomrzí se. • Jsem programátor a zároveň řeším problémy konkrétních lidí, nevytvářím pouze něco, co neadresně „škáluje“ (ačkoliv moje řešení škáluje).
  31. Škáluje? • Kdyby komunita začínala být moc velká a já

    bych nestíhal, pro nové členy zdražím. Některé věci by šlo automatizovat. • Kdyby fi rem bylo moc a já bych se jim nestíhal věnovat, zdražím. • Některé složité věci časem ruším nebo zdražuji (newsletter, zasílání statistik mailem, ruční zadávání a kontrolování vložených inzerátů…). • Špatně škálující robot na třídění inzerátů zda jsou juniorní? Vyřeší ML :) • Údržba rozrůstající se příručky? Zapojení více lidí z komunity, třeba v rámci barteru (garanti obsahu).
  32. Pracovní benefity • Mohu pracovat odkudkoliv, celé je to „na

    dálku“. Mohu pracovat kdykoliv, celé je to asynchronní - levels.io/async/ Užívám si mimino! • Když na to nemám čas, celé to funguje dál. Není to bez údržby nebo bez mojí aktivity, ale může chvíli být, pokud je to potřeba. Mohl bych automatizovat víc věcí. • Nemám stravenky ani příspěvky na penzijko :(
  33. Psychika? • Nemám kolegy :( Mám jednoho „symbiotického“ kolegu, Daniela

    Srba z CoreSkill <3 <3 <3 • Stále se učím psychickou pohodu a zvládání stresu z toho, že JG krachne nebo že tomu nedávám dost, nebo že nedělám prioritně ty správné věci • Po přednášce Tomáše Rektora o workoholismu myslím, že jsem guilty as charged :( • Na JG myslím ve sprše, v noci, když se budím, když usínám, když jdu v parku :(
  34. Životní minimalismus • Zaplatí to nájem. Potřebuju víc, ale prostor

    pro růst rozhodně vidím, stačí to nepokazit a užonglovat. Holička říkala, že byznys jí trvalo rozjet 3 roky. • Nemáme auto, dům, byt, jachtu, tzn. neřešíme spoustu problémů, spokojíme se s málem. Jednorázové výdaje jsou OK, pravidelné ne. • Kupujeme si hlavně věci, které FAKT potřebujeme, nebo nám zjednodušují život (ne zesložiťují), tzn. nemáme auto, máme robotický vysavač ¯\_(ツ)_/¯ • Nedávalo mi smysl ve vydýchaných zasedačkách na nekonečných callech vydělávat peníze, které nejsem schopný utrácet. • OSVČ, neplátce DPH. Pokud můžu, za každou cenu se vyhýbám zbytečné byrokracii navíc, i když mě to třeba stojí peníze.
  35. 2021 • Spouštěl jsem klub a budoval jeho základ, bota,

    rozjel přednášky v klubu… • V létě jsem natáčel videa s Engeto Academy (stále nejsou uveřejněná) • Dělal jsem na nové produktové stránce pro klub: junior.guru/club/ (vyšší konverze, lepší vysvětlení produktu, odlišení od „konkurence“) • Překopal jsem příručku, sloučil, zpřehlednil, loga fi rem dal na více stránek (hned si jedna fi rma jedno nově zaplatila) • Snažím se teď o marketing, aby o JG vědělo víc lidí (výsledky uvidíme?)
  36. Výhledy do budoucna • Víc čísel a grafů, abych se

    mohl lépe rozhodovat. Teď mám v číslech binec, tak se rozhoduju intuitivně spíš podle toho, kde cítím aktuální slabiny • Cítím slabinu v marketingu, lidi o JG málo ví a mělo by jich do klubu přijít víc. Firmy taky hezký, asi bych mohl pár i sám oslovit a měl bych víc peněz, ale chtěl jsem jádro byznysu postavené na juniorech • Psaní článků do Heroine - Ženy v IT (barter, boxík s logem u každého článku) • Vydání videí natočených s Engeto Academy • Tahle přednáška :)) • Do konce roku má manželka mateřskou, pak zase spočítáme fi nance
  37. Budoucnost produktu • S produktem, jak je v mé hlavě

    vymyšlený, jsem spokojen a myslím, že má potenciál vydělávat a uživit mě, chtějí/milují to lidi i fi rmy, řeší to problém • Postupnými kroky překopávám web, aby se zahladil otočku při pivotu a víc odpovídal novému směru (nová stránka pro klub, sloučená příručka, nová homepage, nová stránka pro fi rmy…) • Dát lásku stránce s přednáškami • Dát lásku příručce: nové dělení, úvodní rozcestník, nový obsah • Nový produkt - katalog vzdělávacích agentur, kurzů?
  38. Nabídky práce • Významný zdroj návštěvnosti (paradox vzhledem k původnímu

    plánu :D ) • Robot teď neškáluje, přesunout na ML, omezit ruční vkládání nabídek • Postavit se na stranu juniora, naservírovat informace o fi rmách, odkazovat na Atmoskop • Agregovat více zdrojů • Evidovat frekvenci inzerce (vyvozovat růst nebo fl uktuaci?) aj. statistiky • První pracovní server, který bude mít kandidáta na prvním místě ]:-) • Příručka pro fi rmy, jak to dělat správně? Rada od kamaráda: „Neukazuj na ty, co to dělají blbě, ale dávej za vzor ty, co to dělají dobře.“ Inzeráty: 4.4k Příručka: 6.6k