Zobrazují se příspěvky se štítkemzamyšlení. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemzamyšlení. Zobrazit všechny příspěvky

středa 28. srpna 2019

Když programátor založí a řídí firmu


Jako malý jsem chtěl být popelářem. Ani ne tak proto, že bych měl nějaký zvláštní vztah k odpadkům, ale hrozně se mi líbilo, jak popelář stojí na zadním stupátku a frajersky se drží jen jednou rukou.

Většina našich dětských snů a představ o budoucím povolání působí dost komicky. Romantická vize toho, že jsme ninjové, rytíři v těžké zbroji, princezny (tohle mě, pravda, minulo) či astronauti, je spojena s tím, že všichni chceme být výjimeční a něčím zajímaví. Těžko byste našli dítě, které by vám řeklo, že chce být manažerem v korporaci a celý den odepisovat na maily či kontrolovat excelovské tabulky, a to bez ohledu na to, jak tučné by bylo jeho konto.

Čím jsme starší, tím více se naše představy o budoucím povolání a životě mění. Začneme uvažovat více racionálně. Najednou víme, že být ninjou je sice stále cool, ale vzhledem k míře uplatnění ninjů v České republice se jím nejspíš nestaneme. Navíc do našich životů vstoupí další aspekt, a tím jsou peníze. Peníze, které znamenají úspěch, štěstí, svobodu a pohodu. 

Nebo ne?

Věřím, že přesně v této chvíli nastává onen zlom, který začne lidi rozdělovat na ty úspěšné a na věčné snílky, kteří svou představu nejspíše nikdy nenaplní.

Teď byste možná čekali, že pokračování bude o tom, že ti úspěšní vlastní firmy a ti méně úspěšní jsou jen zaměstnanci, kteří pro ony majitele pracují. Ale to je právě to omezující myšlení a pokřivený náhled na svět. Úspěch nerovná se nutně tučné konto či vysoké postavení. Úspěchem je prostě to, že prožijeme život tak, jak skutečně chceme. Ono se i tím astronautem totiž můžete klidně stát, bez ohledu na to, že zrovna žijete v zemi, která nemá vesmírný program…

Přesně s tímhle myšlením jsem se pustil do podnikání i já. Primárně jsem za tím totiž nikdy neviděl peníze, ale úspěch v podobě svobody rozhodování. 

Když si nadšený programátor a volnomyšlenkář, který je rád, že vůbec něco dostudoval, založí firmu, může to skončit pěkným průserem. Vždyť znalosti z ekonomie jsem měl přeci jen mizivé, cashflow pro mě bylo cizí slovo a úspěšné byznysmeny jsem znal jen z novinových článků. Ani ten společenský oblek na PR fotku dodnes nemám! To nedává smysl. Možná by bylo jistější být tím ninjou…

Jenže záleží opravdu na tom, že nemám onen oblek? Že si každý den nečtu byznys noviny, životopis Steva Jobse jsem dočetl do první kapitoly a nescházím se jen s úspěšnými podnikateli?

Nezáleží…

Jde jen o naše vlastní odhodlání a smysluplné cíle. Větu, že něco nejde, si vyhodíte ze slovníku a začnete věřit vlastní intuici. To, co děláte, děláte správně.

Měl jsem to obrovské štěstí, že jsem potkal lidi, kteří mi dali důvěru. Ať už v podobě prvních kolegů, nebo obchodních partnerů, kteří věřili, že to, co říkám je pravda. Dalším obrovským štěstím je pro mě má sestra, která se do podnikání pustila se mnou a dalo by se říci, že fakticky řídí naši firmu  

Před pár dny jsme oslavili dvouleté výročí. Od začátku, kdy náš tým čítal 5 lidí, jsme se rozrostli na společnost, která má 22 kolegů, a já jsem na nás neskutečně pyšný.

Za tu dobu jsem se z ajťáka transformoval více do role vedoucího a naučil se spoustu nových věcí. Dnes i o té ekonomii už něco vím. Zároveň jsem si ověřil, že bez ohledu na to, co vám říkají ostatní, že je správné, záleží opravdu jen na tom, jak to vidíte vy. Příkladem může být třeba to, že stále fungujeme jako jedna velká rodina, která pro svou činnost nepotřebuje excelovské tabulky ani mail nebo slzu jednorožce k získání home office. 

Důležitým aspektem úspěchu je také nebát se selhat. Za ty 2 roky jsem udělal několik špatných rozhodnutí, za které jsem zaplatil. Ať už v podobě financí, nebo třeba dočasné ztráty kontroly. Jenže to k tomu patří a je to tak správně. Pouze ze špatných rozhodnutí se totiž člověk může poučit.

Postupem času jsme se stali stabilním ekonomickým subjektem, který má zdroje a možnosti dělat nové a velké věci. Není to ani tak díky mně, jako zejména díky mým kolegům, kteří mají obrovské odhodlání a know-how. Zjednodušeně víme, že Node.js, GraphQL, React či Kubernetes jsou technologie, které mají budoucnost a zároveň je zábava s nimi dělat  

Jako programátor si stále raději prolezu repozitář na GitHubu, než abych si četl noviny E15. Není to proto, že bych byl ignorant, jen věřím tomu, že abych byl schopen efektivně řídit firmu, musím perfektně umět a znát obor, ve kterém podnikáme.

Asi nikdy se nedostanu do fáze, že bych si na LinkedIn dal byznys fotku v kravatě a tvářil se jako vizionář. Zároveň ale svým obchodním partnerům chci nadále dokazovat, že to, co říkám, je pravda a že svému oboru rozumím. Ve finále je totiž mnohem důležitější si zachovat tvář než jen vytvářet pozlátko, které je uvnitř zkažené či prázdné.

Pokud jste i vy, tak jako já, ajťáci, programátoři, nebojte se výzev tohoto světa. Ono totiž ve výsledku více záleží na vaší intuici než na tom, koho znáte, jaké máte auto, oblek či jak moc máte vyšperkovaný profil na sociálních sítích.

Zachovat si vlastní přirozenost, touhu a také čest je nesmírně důležité. Stejně jako bych se nikdy nezaprodal korupci, tak bych nikdy nedělal věci, kterými bych ubližoval ostatním, jen abych si naplnil vlastní cíle. V tom je totiž ten úspěch, že zůstaneme svobodní. A to i díky tomu, že se doma na sebe můžeme podívat do zrcadla a říci: “Zůstal jsem svůj a jsem na sebe hrdý”.

neděle 26. listopadu 2017

Potřebují firmy mobilní aplikace?

V poslední době se častěji setkávám s tím, že se zvyšuje poptávka po psaní nativních mobilních aplikací. Tato potřeba je často inicializována společnostmi, které potřebují své pole působnosti rozšiřovat na mobilní platformě.

Na tom by asi nebylo nic neobvyklého, kdyby ovšem ona potřeba nebyla často způsobena neznalostí současného stavu a toho, co je a není dnes možné.

Před tím, než se dostaneme k technickému řešení, pojďme se podívat na současný stav. Stav z pohledu obyčejného uživatele...

Když si vzpomenu na dobu před 20 lety, tak si s úsměvem vzpomínam na to, jak jsem každý program, který jsem ve svém počítači měl, zkoumal do morku kostí. Důvod proč tomu tak bylo, byl jednoduchý. Neexistovalo příliš mnoho alternativ. Potřebovali jste správce souborů? Byl zde Norton Commander. Chtěli jste si zahrát střílečku? Pustili jste si Doom.

Ta doba byla jednodušší a složitější zároveň. Složitá byla z toho důvodu, že neexistoval internet (alespoň pro běžné uživatele) a jakékoli informace se často předávaly ústní formou.

Jednodušší byla ve výběru. Je psychologicky dokázáno, že čím víc variant máme, tím je menší pravděpodobnost, že si nakonec vybereme. Důvodem je to, že onen výběr na nás v konečném důsledku působí tak složitě, že onu volbu raději odložíme "na později".

Pokud tuto dobu srovnáme s tou dnešní, tak zjistíme, že uživatelé se chovají úplně jinak, než kdysi. Jsme zahlceni aplikacemi. Jsme zahlceni volbami. Chcete aplikaci na poznámky? Pusťte si Google Play a stáhněte si aplikaci na poznámky. Ale teď kterou, že? Kolik jich dnes máme? Deset? Dvacet? Možná tisíc. Volba se stala tím nejsložitějším, co řešíme. Dnes a denně.

A teď si představte, že do této džungle chcete vstoupit jako firma, která nabízí mobilní verzi vaší webové aplikace. Ať už jste společnost, která nabízí prodej šroubků, oken, či firma, která poskytuje různé služby.

Drtivá většina firem se ihned pustí do mobilního vývoje. Ať už pomocí svých zaměstnanců, nebo pomocí subdodavatele. Výsledkem je často aplikace, která stála milióny a její dopad je žalostný. Z povinnosti si jí stáhli zaměstnanci a pak pár kamarádů kolem.

Problém výběru je spojen i s překážkami, které musíme podstoupit. Abyste použili aplikaci na poznámky, jste nuceni pustit Google Play, aplikaci dohledat a poté nainstalovat. A to už někdy bývá tak složitá varianta, že jí uživatelé nepodstoupí.

Pokud se podíváme na chování uživatelů, tak zjistíme, že každý z nás je schopen ovládat a používat pouze omezený počet aplikací. Ať už se jedná o poznámky či vyhledání MHD spojů. Do toho se míchá další překážka.

Většina firem si totiž myslí, že na to, aby nějak upoutala pozornost, musí být unikátní. V případě loga a základních barev daného "brandu" je vše v pořádku. Ale v případě vizualizace a chování samotné aplikace tomu tak již není.

Pokud se opět vrátíme ke statistikám, tak zjistíme, že uživatelé často vyhledávají takový druh aplikací, které jsou podobné těm předešlým. Je fajn, že společnost pro nás připravila svůj unikátní UI frontend, ale nám se nechce učit jejich způsob ovládání.

Díky všem těm profesionálům, jako jsou UX designéři, máme na konci aplikaci, která je často unikátní. Unikátní ale natolik, že jí nakonec umí ovládat jen tester a programátor. Důvodem není to, že by tito lidé špatně odvedli svou práci, ale to, že po určité době trpí profesní slepotou.

Výsledkem našeho snažení je, že máme webovou aplikaci, mobilní aplikaci a tisíce hodin, které ještě před námi stojí, abychom svou práci dokončili.

A zde bych se zastavil....

Skutečně firmy potřebují nativní mobilní aplikace a unikátní vzhled?

Odpověď je samozřejmě, že NE.

Pokud jste si přečetli předchozí odstavce, mohli jste sami najít základní problémy, které se s tím spojují.

Rozdělme si je do dvou částí:

Nativní aplikace:
  • Nativní aplikace jsou drahé na vývoj
  • Nativní aplikaci je často nutné psát duplicitně (Android, iOS)
  • Nativní aplikace se složitě aktualizuje
  • Nativní aplikace se složitě testuje
  • Nativní aplikaci musí uživatel najít a nainstalovat
Uživatelské rozhraní:
  • Pokud je příliš unikátní, uživatelé mu nerozumí a nebudou se ho chtít učit
  • Musí se dobře adaptovat na daném zařízení (responsivní design)
  • Je náročné ho napsat tak, aby bylo co nejvíce identické na mobilu a webu
S těmito problémy se setkává velká většina firem. Ať už existence mobilní a webové verze slouží ke snížení požadavků na helpdesk, či řeší zvýšení prodejů jednotlivých produktů a nebo se snaží poskytnout novou službu. Vždy řeší, jak nejlépe najít kontakt se zákazníkem a ten si udržet. I když nejsem marketingový specialista, tak jsem specialista v IT s dlouholetou praxí tvorby frontendových aplikací.

A jakožto IT specialista Vám můžu garantovat, že pokud vytvoříte unikátní mobilní aplikaci, tak to budete mít velice těžké, i když budete poskytovat sebelepší produkt. Důvodem bude jen a pouze lenost nás uživatelů, protože se nebudeme chtít učit, jak se Vaše aplikace ovládá. Netoužíme po tom si jí instalovat z Google Play a nechat si zabírat dalších X desítek megabajtů (sakra, už takhle máme málo místa). A už vůbec netoužíme po tom, abychom si jí aktualizovali každý týden.

Jak z toho ven?

Odpovědí je Progressive Web Application a Material Design.

PWA aneb Progressive Web Application

PWA je termín, který před pár lety použil Google. Toto označení je použito pro webové aplikace, které používají modernější webové technologie.

Ve výsledku nejde o nic převratného z pohledu technologie. Jde pouze o to, že Google na Android zařízeních je schopen identifikovat takovouto aplikaci.

Abyste si to představili v praxi, tak je to tak, že v prohlížeči narazíte na webovou stránku, která je identifikována jako PWA. Webový prohlížeč Vám poté nabídne možnost tuto aplikaci přidat na plochu. Poté, co toto potvrdíte, máte možnost onu webovou aplikaci používat tak, že se tváří jako nativní.

Součástí této specifikace je něco, čemu se říká "service workers", který Vám umožňuje, aby Vaše aplikace šla používat i v offline režimu.

A v tom je asi největší rozdíl oproti klasické webové stránce. Onen offline režim je totiž naprosto potřebná vlastnost k tomu, aby takováto aplikace šla reálně používat.

Zeptejte se svým programátorů, zda vědí co je PWA a zda skutečně musíte dnes psát nativní aplikace. Často se totiž objevuje argument typu: potřebujeme geolokaci, potřebujeme notifikace. Všechno a mohem více již PWA aplikace totiž umí.

Otázkou není, zda je již na PWA čas. Otázkou spíše je, kdy touto cestou půjdete vy. Tedy tam, kde to technicky dává smysl.

Material Design

Pokud jsme mluvili o unikatním brandu jako hlavním požadavku marketingových specialistů, tak je dobré se zeptat, co to vlastně znamená. Pokud by totiž, do tohoto brandu, někdo, kromě loga a barev, míchal i věci jako jsou například formulářové prvky, menu, apod, tak vězte, že je to špatně.

Na toto si stačí udělat jeden lehký příklad. Spustťe si na Androidu Google Play. Umíte ho ovládat? Pustťe si na Androidu Gmail. Umíte ho ovládat? Pustťe si ....

Finále totiž je, že dnes máme možnost napsat aplikaci tak, aby použila stejné chování, stejné prvky a tím docílit toho, že naší aplikaci budou uživatelé schopni ovládat, aniž bychom museli provádět složité adaptace a školení.

Google to totiž udělal za nás. Dal nám Material Design a tím pádem i způsob, jak uživatelsky navrhnout naší aplikaci.

Unikátní cesta je cesta do neznáma... A pokud nejste Facebook, tak věřte, že cesta do pekla.

Material Design vychází z jednoduché myšlenky, která říká, že musíme klást větší důraz na dotyková zařízení. Současně s tím ale mít možnost použít toto rozvržení i ve webové aplikaci. Jinými slovy. Díky PWA máte aplikaci pouze jednu. Jednou je použita na webu a jednou v mobilu.

Abyste pochopili, proč je třeba formulářový prvek zbytečné navrhovat, podívejte se na výchozí chování v Material Design. Textové pole má svůj popisek, ve chvíli, kdy kliknete do tohoto pole, se popisek posune nahoru a vy stále vidíte, jaké pole vyplňujete. I když drobnost, tak si uvědomte, že šetřit místo je důležitý aspekt, každé správné mobilní aplikace.

Závěr

I když jsme často nuceni použít nesmyslné požadavky byznysu, někdy je dobré se zpět zeptat svých IT specialistů na to, zda se nevymýšlí kolo. Zda skutečně potřebujeme nativní mobilní aplikace a zda skutečně musíme navrhovat unikátní design, abychom se odlišili od zbytku světa.

Já mám v tomto ohledu jasno. Budu za PWA a Material Design bojovat všude, kde to jen půjde. A to ne z důvodu toho, že by v tom byl jen technický pohled, ale také z důvodu toho, že je to cesta, která může společnostem skutečně pomoci...

čtvrtek 27. dubna 2017

Jak by se firmy neměly chovat k programátorům?

Každý, kdo pracuje v IT oboru, se jistě již setkal s různými „geniálními nápady“, od kterých si firma slibovala zlepšení produktivity či snížení nákladů. Ať už je to zavedení agilních principů, striktní kontrola práce či zavedení nové a skvělé metodiky, o které si „šéf“ přečetl včera na internetu. Jsou z toho skutečně tak nadšení i samotní vývojáři? A bude nový nápad fungovat?

K napsání tohoto článku mě navedly různé programátorské diskuze, kde si lidé stěžovali na firmu, kde pracují.
Příklady, které zde uvedu, jsou z reálné praxe. Ať už jsem je zažil jako řadový programátor, či jako šéf týmu.

I když je poptávka po programátorech tak vysoká, že Vás headhunteři nahánějí i ve chvílích, kdy o to opravdu nestojíte, tak i přes to je mnoho lidí, kteří se bojí opustit svoje současné zaměstnání.

Čeho se nejčastěji bojíme? Je to samozřejmě nejistota, kterou si často omlouváme větami jako: „Tady mám své pohodlí, co když to jinde mít nebudu?“ nebo „I když mě to v práci štve a nebaví, tak mě alespoň nechávají na pokoji“. Jenže jak dlouho toto člověk může skutečně vydržet? Jednou ten den přijde, kdy si člověk řekne: „A dost.“.

Takže čím "pomáhají" firmy k tomu, aby nás do takové fáze dostali?

Příklad 1: Šachové figurky

Setkal jsem se s firmou, která postoj ke svým programátorům měla následující: „Franta půjde dělat systém ABC a Pepa půjde do týmu k Honzovi“. Současně s tím se ale nikdo neptal těch lidí, zda o to stojí. Zda je nová pozice bude bavit. Zda Franta skutečně chce dělat na systému ABC a zda Pepa vidí Honzu jako dobrého šéfa. A ve chvíli, kdy vznikly první problémy s odchodem zaměstnanců, tak to šéfové připočítávali naprosto nesmyslným předpokladům, jako je například plat. Raději se ptejte svých lidí, zda chtějí být přesunuty tak, jak jste si zaevidovali v excelu.

Příklad 2: Agilní metodiky nás zachrání

Mnoho firem je dnes obětí toho, že se nechaly nalákat na to, že SCRUM vyřeší všechny jejich problémy s dodávkami či kvalitou.
Pracoval jsem v několika společnostech, kde se pod pojmem SCRUM mínilo: „Máme standup a k tomu pevný termín a scope.“ Takže jedeme ve SCRUMu a očekáváme lepší zítřky. Finále je, že se nezmění naprosto nic. To je jako kdybyste našroubovali na Formuli 1 kolo od traktoru. Bude to skutečně lepší?
Věřte, že nám programátorům nepřináší naprosto nic Vaše vize, o kterých už dopředu víme, že nebudou fungovat. Klidně přiznejte, že jedeme čistý „waterfall“ a raději tomu přizpůsobte zbytek. Není to žádná ostuda, když firma jede v čistém vodopádu. Ostuda spíš je, když se to firma stydí přiznat. Pokud Vám business nedovolí mít volný termín či scope, nehrajte si na SCRUM. Programátorům se uleví.

Příklad 3: Striktní kontrola

Mnoho lidí se domnívá, že čím víc budu kontrolovat své podřízené, tím budou pracovat efektivněji. Je to ten největší omyl, se kterým se můžete setkat.
Vzpomínám si na své první zaměstnaní jako programátora. Dostal jsem se do firmy, která měla pravidlo, že musím každý den odevzdávat worklog, který měl být co nejdetailnější. Tedy nejlépe každou hodinu sepisovat, co jsem skutečně udělal.
Jakožto junior, který neměl ani tušení, jak to chodí, tak jsem se snažil poctivě vyplňovat každou hodinu. Přesně podle skutečnosti. Výsledkem bylo to, že jsem dostal vynadáno, jak to, že mi chybí 1 hodina a odpracoval jsem jen 7 hodin, místo nařízených osmi.
Poté jsem pochopil, co dělám špatně. Málo v tom worklogu lžu. Od té chvíle jsem si začal vymýšlet a psát tam vše, co mě jen napadlo, i když to nebyla pravda. Výsledek se dostavil. Byl jsem pochválen. Tabulka byla vyplněna a já měl tedy splněno.
Co z toho vyplývá? Jestli chcete, aby Vám programátoři nelhali, přestaňte je buzerovat něčím, co sami ani nečtete. Zajímá Vás jen konečný součet hodin, že? OK! Pracoval jsem 8 hodin na systému ABC.
V pozdějších dobách jsem se dostal do jiné firmy jako šéf týmu. Dostal jsem za úkol, že všichni mí podřízení musí vyplňovat worklog, který později budu prezentovat. Díky mému poučení z dřívějších dob, jsem zaujal jasný postoj. Vyplňme jen to nutné minimum, víc stejně nikoho nezajímá. Vás to nebude obtěžovat, nebudete muset lhát a mě přidělávat starosti. Stejně tím, že řekneme, kolik času jsme nad danou činností strávili, nijak nezrychlíme naše pracovní nasazení. Nicméně může to pomoci k pozdějšímu návrhu pracností, což může být výhoda i pro nás.

Příklad 4: Franta je nejlepší vývojář, takže bude šéf

Toto platí obecně. To, že je někdo nejlepší ve svém oboru, ještě neznamená, že bude dobrým šéfem.
Za svůj profesní život jsem prošel desítkami pohovorů. Vzpomínám si, že jsem zažil pohovor s budoucím šéfem, který mě zkoušel z různých příkladů. Už od první chvíle mi bylo jasné, že práci nepřijmu, nicméně jsem si řekl, že to alespoň zkusím dokončit. Důvodem byl fakt, že samotný „budoucí šéf“ byl kretén už od pohledu. Arogantní, který se snažil mi dát najevo, že on má pravdu a já jsem jen blb, co tomu nerozumí. Pohovor skončil tak, že jsme se spíše pohádali o tom, kdo má pravdu a já domů odcházel s pocitem naprosté vyčerpanosti. Při představě, že tenhle kretén bude můj šéf, se mi dělalo mdlo. Nabídku jsem tenkrát sice dostal, ale s upřímným poděkováním jsem odmítl.
Je velice těžké najít schopné šéfy týmů a je ještě těžší najít takové, kteří mají i odborné znalosti na to, aby byli schopni porozumět samotným programátorům. Ale než mít odborníka, raději mít šéfa, který na to má skutečně talent. Stejně jako každý nemá buňky na to, dělat programátora, tak ne každý může být manažer. Pokud nemám na výber, je lepší mít kouče než mentora. 



Pokračování příště….

Když programátor založí a řídí firmu

Jako malý jsem chtěl být popelářem. Ani ne tak proto, že bych měl nějaký zvláštní vztah k odpadkům, ale hrozně se mi líbilo, jak...