Nedávno jsem se zamýšlel na svou třicítkou a nad tím, jak naložím s následujícími deseti lety. Narazil jsem na článek Being A Deloper After 40. Neodolal jsem tedy pokušení a (s laskavým svolením autora) jsem ho přeložil do češtiny. Při překladu na mě dýchla nostalgie, jelikož dost věcí z toho pamatuju. Sice jsem byl v době, kdy autor nastupoval do práce, ještě dítě školou povinné, ale stejně. Navíc mi přijde, že se v mnoha věcech shodne s článkem Úvod do profese.

(Jde o přednášku z App Builders ve Švýcarsku ze dne 25. dubna 2016. Slidy jsou k dispozici na SpeakerDeck a na konci článku.)

Ahoj všichni, je mi 42 let, jsem programátor samouk a tohle je můj příběh.

Před několika týdny jsem narazil na tento tweet, který mě přinutil přemýšlet o mé kariéře a tyto myšlenky mě přivedly zpět do doby, kdy to pro mě všechno začalo.

Začal jsem kariéru jako softwarový vývojář v pondělí 6. října 1997 přesně v deset hodin dopoledne, někde ve městě Olivos, na sever od Buenos Aires, v Argentině. Ten moment byla Unixová epocha 876142800. Nedávno jsem oslavil své 24. narozeniny.

Svět v roce 1997

Svět byl tenkrát trochu jiný.

Webové stránky neměly varování ohledně cookies. Budoucnost webu byly portály jako Excite.com. Můj oblíbeným vyhledávačem byla AltaVista. Můj email byl kos*****@sc2a.unige.ch, což znamená, že moje první osobní stránky byly na adrese http://sc2a.unige.ch/~kosmacze. Stále jsme truchlili pro princeznu Lady Dianu. Steve Jobs se zhostil role CEO a přesvědčil Microsoft, aby nalili 150 miliónů dolarů do Apple Computer. Digital Equipment Corporation se soudili s Dell. Ostatky Che Guevary byly převezeny zpět na Kubu. Začala čtvrtá série Přátel. Gianni Versace byl zavražděn před svým domem. Zemřeli Matka Tereza, Roy Lichtenstein a Jeanne Calmet (vůbec nejstarší člověk na světě). Lidé na svých PlayStation hráli Final Fantasy 7 jako šílení. BBC 2 začalo vysílat Teletutubbies. James Cameron se chystal uvést Titanic. The Verve vydali svůj hit Bitter Sweet Symphony a museli zaplatit většinu autorských poplatků Rolling Stones.

Excite v roce 1997, díky the Internet Archive

Chytré telefony vypadaly jako Nokia 9000 Communicator; měly paměť 8 MB, procesor 24 MHz i386 a běžel tam operační systém GEOS.

Chytré hodinky vypadaly jako CASIO G-SHOCK DW-9100BJ. Ne moc aplikací, ale výdrž baterie byla mnohem větší.

IBM Deep Blue poprvé porazil v šachu Garryho Kasparova.

Hacker známý jako _eci zveřejnil kód v C, exploit nazvaný WinNuke, pro Windows 3.1, 95 a NT, útok denial-of-service na TCP port 139 (NetBIOS) způsobující Blue Screen of Death.

1997 je rovněž rokem, kdy se narodili Malala Yousafzai, Chloë Grace Moretz a Kylie Jenner.

V roce 1997 se odehrává mnoho filmových příběhů, jmenujme některé: Útěk z New Yorku, Predátor II, Podivuhodný případ Benjamina Buttona, Harry Potter a Princ dvojí krve, Kmotr III a podle Terminátor 2: Den zúčtování, si Skynet uvědomil sám sebe 29. srpna 1997 ve 2:14 ráno. To se sice nestalo, ale 15. září toho roku byla zaregistrována doména google.com

Zbývaly dva roky do Y2K a média tím začala strašit lidi.

Moje první práce vývojáře

Moje první práce spočívala ve psaní ASP stránek v rozličných editorech (Microsoft FrontPage, HotMeTaL Pro a EditPlus), zajišťování kompatibility mezi prohlížeči Netscape Navigator a Internet Explorer 4. Dále psaní uložených procedur v SQL Server 6.5 pohánějících komerční web v japonštině, ruštině a španělštině, přičemž software stack nepodporoval UTF-8.

Výsledek tohoto snažení běžel na serveru Pentium II, hostovaném někde v USA, s ohromujícím 2 GB pevným diskem a úžasnými 256 MB operační paměti. Byl to jediný server s Windows NT 4, SQL Server 6.5 a IIS, obsluhující kolem deseti tisíc návštěvníků denně.

Můj první profesionální programovací jazyk byl mutant nazývaný VBScript. A samozřejmě trocha JavaScriptu na klientské straně, pokropený mnoha „if Netscape udělej tohle, else udělej tamto“, protože tenkrát jsem neměl ponětí, jak použít JavaScript pořádně.

Zajímavé, je rok 2016 a sotva začínáme rozumět tomu, jak udělat cokoliv v JavaScriptu.

O unit testech jsem neslyšel. Agilní manifest ještě nebyl napsán. Continuous integration byl sen. XML nebylo ani buzzword. Naše QA strategie se skládala z restartování serveru jednou týdně, protože jinak by náhodně padal. Vyvinuli jsme svou vlastní COM+ komponentu ve Visual J++ na parsování JPEG souborů nahraných na server. Jakmile se začaly objevovat soubory JPEG 2000, naše komponenta se rozbila.

Nepoužívali jsme verzovací systém. Dokonce ani CVS, RCS nebo, bože chraň, SourceSafe. Subversion ještě ani neexistovalo. Naše skóre v Joel Testu bylo mínus 25.

6776 dní

V uplynulých 6776 dnech jsem si ráno dával kafe a psal kód pomocí věcí jménem VBScript, JavaScript, Linux, SQL, HTML, Makefiles, Node.js, CSS, XML, .NET, YAML, Podfiles, JSON, Markdown, PHP, Windows, Doxygen, C#, Visual Basic, Visual Basic.NET, Java, Socket.io, Ruby, unit testy, Python, shell skripty, C++, Objective-C, batch files a nakonec Swift.

Za 6776 dní se událo hodně věcí. Nejdůležitější je, že jsem se oženil. Odešel jsem ze 6 zaměstnání a byl dvakrát vyhozen. Začal jsem a skončil svůj vlastní byznys. Dokončil jsem svoje magisterské studium. Vydal jsem několik open source projektů, přičemž jeden z nich mi zajistil článek na Ars Technica od samotné Erica Sadun. Měl jsem reklamu ve švýcarské a bolívijské televizi. Viděl jsem naživo přednášku od Billa Gatese a Steva Jobse v Seattlu a San Franciscu. Přednášel jsem a spoluorganizoval konference na čtyřech kontinentech. Napsal jsem a vydal dvě knihy. Dvakrát jsem vyhořel (ne v domě, já sám). Stalo se dost dalších skvělých i hrozných věcí.

Často jsem uvažoval, že profesi úplně opustím, ale kód mě vždycky nějak po chvíli zavolal zpět. Mám rád psaní aplikací, systémů a software. Abych se vyvaroval vyhoření, musel jsem si vyvinout strategii.

V této přednášce vám předám svoje tajemství, takže také můžete dosáhnou nádherného věku 40 let jako zkušený programátor a chtít v této profesi pokračovat.

Rady pro mladé

Několik tipů jak dosáhnout úžasné čtyřicítky jako šťastný softwarový vývojář.

1. Zapomeňte na trendy

První rada, kterou vám můžu dát, je: nevěnujte pozornost trendům. Každý rok vznikne nový programovací jazyk, framework, knihovna, vzor, architektura nebo paradigma, které vyvolají bouři v blogosféře. Lidé z toho šílí. Mluví se o tom na konferencích. Jsou psány knihy. Gartner hype křivka roste a padá. Konzultanti účtují horentní sumy za trénink, instalaci nebo jiné zkurvení života lidí v průmyslu. Proces bude podporovat tuto hrůzu a přiměje vás cítit se provinile, pokud tomu nevěnujete pozornost.

1997 to byla CORBA & RUP.

2000 to byl SOAP & XML.

2003 to bylo Model Driven Architecture a Software Factories.

2006 to byl Semantic Web a OLPC.

2009 to byla Augmented Reality.

2012 to byly Big Data.

2015… Virtuální realita? Boti?

Nedělejte si starosti o trendy. Starejte se o svoje, pokračujte v učení se toho, co jste se učili a jděte dál. Věnujte tomu pozornost pouze tehdy, když máte opravdový zájem nebo pokud máte dojem, že by to pro vás mohlo být přínosné ve střednědobém či dlouhodobém horizontu.

Důvod pro to leží ve skutečnosti, že, jak už Římané v minulosti říkali, Nil nove sul sole. Většinu toho, co vidíte a učíte se v computer science, už tady je po desetiletí. Tento fakt je záměrně skryt v hromadě marketingu, knih, blogů a otázkách na Stack Overflow. Každá nová architektura je jen předělávkou myšlenky, která tu je po desetiletí.

2. Vyberte si svou galaxii moudře

V našem oboru každá technologie generuje to, čemu já říkám „galaxie“. Tyto galaxie zahrnují hvězdy, ale také černé díry, meteory padající v noci, mnoho planet a jen drobný zlomek jich hostí nějaký život. Také hodně kosmického prachu a temné hmoty.

Příklady galaxií jsou třeba .NET, Cocoa, Node.js, PHP, Emacs, SAP atd. Každá zahrnuje zvěstovatele, vývojáře, blogery, podcasty, konference, knihy, tréninkové kurzy, konzultantské služby a problémy. Každá galaxie je postavena na předpokladu, že její technologie je odpovědí na všechny problémy. Každá galaxie je tedy postavena na špatném předpokladu.

Vývojáři z těchto odlišných galaxií ztělesňují přístup, který přivedl tuto technologii k životu. Jsou věrní myšlenkám, budou nadšeně nosit trička a kázat ostatním o důvodech své volby.

Termín „galaxie“ používám, abych se vyhnul poněkud vhodnějšímu ale kontroverznějšímu termínu „náboženství“, což by možná tento fenomén popsalo lépe.

Osobně jsem strávil první deset let své kariéry v galaxii Microsoft a následujících devět let v galaxii Apple.

Odvážím se říct, že jeden z největších důvodů, proč jsem změnil galaxie, byl Steve Ballmer. Unavoval mě přístup lidí z galaxie Microsoft k open source software.

Na druhou stranu musím říct, že galaxie Apple je nádherné místo plné umělců, muzikantů a spisovatelů, kteří shodou okolností také píší software.

Navštívil jsem konference v galaxii Microsoft jako Barcelona TechEd 2003 nebo různé Tech Talks v Buenos Aires, Ženevě nebo Londýně. Dokonce jsem přednášel na Microsoft DevDays 2006 v Ženevě. Obecně přístup programátorů v galaxii Microsoft není přátelský, naopak je „korporátní“ a svázán tajemstvím, NDA a těžkopádnými IT procesy.

Galaxie Apple pro mě byla v roce 2006 přesným opakem. Byla plná muzikantů, umělců a malířů; psali software, aby podpořili svou vášeň a aby mohli vášnivě psát software. Tím to bylo jiné a dodnes si tuto galaxii, ve které jsme a která nás všechny svedla dohromady, nesmírně užívám.

Pak vyšel iPhone a zbytek je historie.

Moje doporučení tedy je: vyberte si svou galaxii moudře, užijte si ji tak moc či málo, jak chcete, ale mějte svůj teleskop namířený k jiným galaxiím a buďte připraveni učinit hyperskok na jiná místa, pokud to bude potřeba.

3. Studujte historii software

Což mě přivádí k dalšímu bodu: studujte, jak přišla vaše oblíbená technologie na svět. Máte rádi C#? Víte, kdo ho vytvořil? Jak vznikl .NET projekt? Kdo byl hlavním architektem? Jaké byly omezení projektu a proč se jazyk vyvinul v to, čím je dnes?

Uplatněte stejný přístup k libovolnému jazyku či CPU architektuře, které máte rádi nebo milujete: Python, Ruby, Java, jakýkoliv programovací jazyk; studujte jejich původ, jak přišly na svět. Stejně s operačními systémy, síťovými technologiemi, hardware, cokoliv. Jděte a učte se jak lidé přicházeli s nápady, jak dlouho trvalo, než vyrostly a dospěly. Protože dobrý software vyžaduje deset let.

Příběhy kolem zrození našeho odvětví jsou fascinující a ukáží vám dvě věci. Za prvé, všechno je předělávka. Za druhé, mohli byste předělávat další velkou věc. Ne, škrtnout: vytvoříte další velkou věc.

Abych vám pomohl se tam dostat, připravil jsem (velmi subjektivní) výběr historických knih, které mám rád a doporučuji:

Naučíte se rovněž ocenit hodnotu věcí, které obstály ve zkoušce času: Lisp, TeX, Unix, bash, C, Cocoa, Emacs, Vim, Python, ARM, GNU make, man pages. To jsou některé příklady dlouhotrvajících a užitečných věcí, které oslavujeme, s láskou opatrujeme a ze kterých se můžeme učit.

4. Nepřestávejte se učit

Učte se. Cokoliv. Chcete se naučit Fortran? Jděte do toho. Přijde vám Erlang zajímavý? Výborně. Myslíte si, že COBOL může být další velkou věcí ve vaší kariéře? Úžasné. Potřebujte znát víc Functional Reactive programování? Potěšení je na mé straně. Design? Samozřejmě. UX? Nutnost. Poezie? Měli byste.

Mnoho běžných konceptů je v Computer Science již desítky let, takže stojí za to učit se staré programovací jazyky a frameworky, dokonce i „tajuplné“. Předně oceníte stávající stav odvětví (nebo zatratíte, to záleží). V neposlední řadě se naučíte, jak stávající nástroje používat efektivněji, protože porozumíte jejich původu a odkazu.

Tip 1: naučte se alespoň jeden nový programovací jazyk každý rok. To jsem nevymyslel já, ale kniha Pragratic Programmer. A funguje to.

Jeden programovací jazyk každý rok. Jednoduché, co? Jděte dál než typický Hello, World a vytvořte něco užitečného. Obvykle napíšu jednoduchou kalkulačku v každé nové technologii, kterou se učím. To mi pomůže naučit se syntaxi, seznámit se s API nebo IDE atd.

Tip 2: čtěte alespoň 6 knih za rok. Výše jsem ukázal povinnou četbu, která by vám měla vystačit na první rok. Tady je seznam na další rok:

(Dobrá, to je sedm knih)

Šest knih za rok vypadá hodně, ale znamená to pouze jednu za dva měsíce. A většina knih, které jsem uváděl, nejsou dlouhé. Navíc jsou skvěle napsané, zábavné a rozšíří vám rozhled.

Podívejte se na to takhle. Je-li vám dvacet, tak ve třiceti budete mít přečtených přes 60 knih a přes 120 až vám bude tolik kolik mně. A hráli jste si alespoň s dvaceti různými programovacími jazyky. Na okamžik se nad tím zamyslete.

Některé z těch dvanácti knih, které jsem vybral, byly napsány v sedmdesátých letech, jiné v osmdesátých, některé v devadesátých a většina za posledních deset let. Zastupují nejlepší psaní, na které jsem v našem oboru narazil.

Ale pouze nečtěte, dělejte si poznámky. Pište do nich. Čtete je často znovu. Borges říkával, že větší potěšení než čtení knihy, je čtení jí znovu. Knihy, které máte opravdu rádi, si prosím kupujte v papírové podobě. Věřte mi. Elektronické knihy se přeceňují. Nic neporazí skutečnou věc.

Vězte, že samozřejmě jak budete stárnout, prudce klesne počet věcí, které vyhodnotíte jako nové a/nebo důležité. Připravte se na to. Je v pořádku tiše zaplakat, až si to uvědomíte.

5. Učte

Jakmile se něco naučíte, učte. Je to velmi důležité.

To neznamená, že byste měli založit třídu a pozvat lidi, aby poslouchali vaše historky (ačkoliv by bylo úžasné, kdybyste to udělali). Může to znamenat, že smysluplně zodpovíte otázky na Stack Overflow; že napište knihu; že budete natáčet podcast o vaší oblíbené technologii; že si povedete blog; budete psát na Medium; že vyrazíte na jiný kontinent a založíte školu programování, kde budou používat Raspberry Pi; nebo že pomůžete mladšímu programátorovi tak, že se stanete jeho mentorem (to ovšem nedělejte dřív, než vám bude 30)

Učení vás udělá pokornějším, protože vám bolestivě ukáže, jak omezené vaše znalosti jsou. Učit někoho je nejlepší způsob, jak se sám něco naučit. Pouze testováním vašich znalostí vůči jiným se naučíte pořádně. Budete si víc vážit ostatních vývojářů a jiných technologií; každý jazyk, nezáleží jak pokořený nebo tajuplný, má svoje místo v Tao programování a jenom skrze učení je možné ho pocítit.

Skrze učení můžete opravdu měnit svět. V roce 2012 jsem obdržel e-mail od ženy, která navštívila jedno z mých školení. Pracovala jako Adobe Flash vývojářka. Pamatujete ActionScript a tak? No, ne že by se to nedalo čekat, ale po 12 letech práce na volné noze jako Flash vývojářka se najednou ocitla bez práce. Sama. S dítětem na krku. Napsala mi, že navštívila moje školení, že se jí líbilo a že se naučila něco užitečného. A že si potom našla práci jako mobile web developer. Napsala mi, aby mi řekla: „Děkuji vám!“

Nemůžu tvrdit, že jsem změnil svět, ale možná jsem ho trošku posunul v něco lepšího (alespoň doufám). Tahle myšlenka učinila každou moji přednášku hodnotnější a smysluplnější.

6. Pracoviště stojí za starou bačkoru

Neočekávejte, že vám softwarové korporace nabídnou nějaký kariérní růst. Možná v USA, ale v Evropě jsem to neviděl. To znamená, že jsme sami zodpovědní za svůj kariérní úspěch. Nikdo vám neřekne: „Ehm, no, příští rok by z tebe mohl být tým lídr, pak manažer, pak CTO…“

Vůbec ne. Je to právě naopak. Ve skutečnosti jste poměrně drahý dělník u pásu a nehledě na to, co vám řeknou, váš manažer by vaše úkoly velmi rád outsourcoval.

Neberte práci jen kvůli penězům. Softwarové firmy se staly dílnami s drsnými pracovními podmínkami, kde se očekává, že si ospravedlníte absurdně vysoké mzdy tak, že budete pracovat přesčas a splňovat nereálná očekávání. Alespoň ve Švýcarsku neexistují odbory, které by vám pomohly, pokud se věci zvrtnou. Tedy ony tam odbory jsou, ale ve skutečnosti se o vás nezajímají, dokud se věc neobjeví v médiích.

O co horší, na většině pracovišť vás budou obtěžovat. Částečně proto, že jste žena, člen LGBT nebo příslušník etnické menšiny. Viděl jsem vývojáře, kterým vyhrožovali, že jim neprodlouží pracovní víza, pokud nebudou pracovat rychleji. Byl jsem svědkem obtěžování kolegů, žen a gayů.

Některé části našeho oboru jsou nechutné a nemusíte být v Silicon Valley, abyste to zažili. Nepotřebujete Medium, abyste o tom četli. Můžete to zažít právě tady ve Švýcarsku. Mnoho bank má otřesné pracoviště. Finanční instituce chtějí, abyste chrlili kód 15 hodin denně, ačkoliv švýcarské pracovní právo takové jednání výslovně zakazuje. Farmaceutické firmy po vás budou chtít, abyste psali kód, který bude podvádět s výsledky testů a pomůže jím obejít předpisy. Startupy chtějí vaši kůži, pracovat 18 hodin denně a nic za to, jen žvásty jako „protože máte stock options“ nebo „protože jsme všichni týmoví hráči“

Nezáleží, že jste Zach Holman a ve svém životopise tvrdíte, že jste napsali Github doslova od začátku: vyhodí vás z toho nejprťavějšího důvodu.

Nezáleží, že aplikace přináší firmě víc jak polovinu provozu a zisku; API team vámi bude pohrdat a k vašim nápadům bude přistupovat nedbale.

Dvakrát jsem byl požádán, abych pracoval zadarmo. A to známými lidmi v oboru, někteří mají i svoji stránku na Wikipedii. To je prostě děsivé. Nebudu je jmenovat, ale zabrání každému juniorovi, aby se k ním přiblížil, protože lidé bez etiky si nezaslouží ničí mozek.

Kdykoliv vám HR manažer řekne: „Musíš udělat tohle (dosaďte cokoliv špatného), protože tě platíme,“ pamatujte si, že mu máte odpovědět: „Platíte mě, ale já vám na oplátku dávám svůj mozek a odmítám provést tento rozkaz.“

Nakonec vás dají do open space, na což jsou z nějakého důvodu hrdí. Open space je rakovina. Jedná se bezpochyby o nejhorší rozvržení kanceláří, které bylo kdy vynalezeno. Navíc nejméně vhodné pro softwarový vývoj či jakoukoliv jinou duševní práci podobného typu.

Pamatujte: skutečnost, že něčemu rozumíte, neznamená, že s tím musíte souhlasit. Neuposlechněte autoritu. Řekněte: “Běž se vycpat, nebudu dělat, co mi říkáš,” a změňte práci. Tam venku jsou úžasná pracovní místa; není jich moc, ale existují. Měl jsem to štěstí v některých z nich pracovat. Nenechte špatnou práci, aby zabila váš entuziasmus. To za to nestojí. Odmítně a jděte dál.

Nebo ještě lépe, staňte se nezávislým.

7. Znejte svou cenu

Možná jste slyšeli o mýtu „10x softwarový inženýr“, že? No, věc se má tak: není to mýtus, ale nefunguje to tím způsobem, jak myslíte.

Nicméně funguje to z pohledu zaměstnavatele: „10x softwarový inženýr“ generuje hodnotu 10 krát tolik, co mu platí. To znamená, že dostanete 100 tisíc švýcarských franků za rok, ale vytváříte hodnotu přes milión franků. Jasně, oni dostanou na konci roku bonusy, protože, víme, kapitalismus. Znejte svou cenu. Přečtěte si Karla Marxe a Thomase Pikettyho. Dost řečeno.

Pořád se pohybujte; buďte jako žralok, který nepřestává plavat, protože vaše schopnosti jsou neskutečně cenné. Mluvte o svém platu, říkejte to nahlas, blogujte o tom, aby vaši kolegové věděli, jakou cenu má jejich práce. Firmy vás budou chtít umlčet, protože ženy dostávají 70 % toho co muži. Promluvte! Napište blog! Tweetněte! Vydělávám 135 tisíc švýcarských franků za rok. To je můj plat. Co ty? A ty? Čím víc o tom budeme mluvit, tím méně bude nerovnosti. Kdokoliv s mými zkušenostmi by měl dostat stejné peníze nehledě na rasu, pohlaví, věk nebo komu fandí ve fotbale. Konec příběhu. Ale není tomu tak. Není.

8. Pošlete výtah dolů

Jste-li bílý muž, uvědomte si, že jste od narození měli veškeré výhody jen díky tomu, že jste se tak narodili. Je vaší zodpovědností změnit odvětví a jeho předsudky k větší inkluzi.

Je vaší povinností poslat výtah dolů.

Dělejte ve svém životě vědomá rozhodnutí. Buďte si vědomi svých činů a jejich následků. Nestyďte se změnit názor. Řekněte: „Promiň“, když je třeba. Naslouchejte. Nemachrujte. Zachovejte si integritu a sebeúctu.

Nekritizujte nebo si nedělejte legraci z technických voleb svých kolegů. Měli k k rozhodnutí své vlastní důvody, které musíte respektovat. Buďte připraveni kdykoliv během učení změnit názor. Jednoho dne můžete mít rádi Windows, příště třeba Android. Já třeba poslední dobou mám zrovna rád některé části Android. A je to v pořádku.

9. LLVM

Všichni blázní kolem Swift, ale já věnuju větší pozornost LLVM.

Domnívám se, že LLVM je nejdůležitější softwarový projekt současnosti, měřeno dlouhodobým dopadem. Objective-C blocks, Rust & Swift (dva nejvíce milované silně typované a kompilované jazyky podle průzkumu StackOverflow 2016), Dropbox Pyston, Clang Static Analyser, ARC, Google Souper, Emscripten, LLVMSharp, Microsoft LLILC, Rubymotion, cheerp, watchOS apps, Android NDK, Metal, všechno stvořeno nebo poháněno LLVM. Existují kompilátory, které používají LLVM jako backend téměř pro všechny současné důležité jazyky. .NET CLR s tím bude případně spolupracovat a Mono už ho používá. Facebook se pokusil integrovat LLVM s HHVM a WebKit nedávno přešel z LLVM na nový B3 JIT JavaScript kompilátor.

LVVM jde napříč platformami, CPU architekturami, jazyky, kompilátory. Kontrolován mnoho očima. Volný jako gratis, volný jako pták.

Naučte se o LLVM všechno, co můžete. Je to galaxie, kde se teď dějí opravdové inovace. Je to základ na dalších 20 let.

10. Následuj svůj instinkt

Měl jsem pocit, že .NET bude velká věc, když jsem viděl jeho představení v červnu 2000. Měl jsem pocit, že iPhone bude velká věc, když jsem viděl jeho představení v roce 2007.

V obou případech se mi lidé doslova vysmáli. V obou případech jsem následoval svůj instinkt a uhodl, že to bude fungovat dobře.

Následuj svůj instinkt a možná taky budeš mít štěstí.

11. API je král

Skvělé API umožňuje skvělé aplikace. Stojí-li API za starou bačkoru, tak i aplikace za nic nestojí a ani nezáleží, jak úžasný má design.

Pamatujte, že robustní je lepší než ukecaný a že klienti by měli být hloupí; tlačte co nejvíc logiky do API.

Nevymýšlejte vlastní bezpečnostní protokoly.

Naučte se pár serverových technologií a ať je jedna z toho Node.

Nechte stranou REST a osvojte si Socket.io, ZeroMQ, RabbitMQ, Erlang, XMPP; prozkoumejte reálný čas jako další krok vývoje aplikací. Reálný čas není jen pro chatovací aplikace. Odstraňte navždy aktivní čekání.

Jo a začněte nad těmi API stavět boty.

12. Bojujte s komplexitou

Jednodušší je lepší. Vždycky. Myslete na KISS princip. A nemyslím jen na úrovni UI ale až do té nejhlubší vrstvy vašeho kódu.

Refaktorování, unit testy, kód review a pull requesty; všechny tyto nástroje jsou vám k dispozici, abyste se ujistili, že doručíte co nejjednodušší architekturu, která funguje. Tak se staví pružné systémy na dlouhou dobu.

Závěr

Nejdůležitější věcí k zapamatování je, že na vašem věku nezáleží.

Jeden z mých synů mi řekl: „Neuvěřitelné, tati. Matematici dělají svou nejlepší práci kolem čtyřicítky. A tobě je přes osmdesát. Je nemožné, abys teď dostal dobrý nápad.“

Pokud jste stále bdělí a mentálně čilí a je vám přes osmdesát, tak máte výhodu, že jste žili dloho a hodně toho viděli, takže máte rozhled. Je mi 86 a posledních několik let se mi tohle honilo hlavou. Nové myšlenky přicházejí a vy tu a tam nějakou vyzobnete. Čas uzrál do podoby, ve které nemohl být před pěti nebo deseti lety.

Michael Atiyah, matematik, držitel ocenění Fields Medal a Abel Prize, citace z článku ve Wired.

Dokud vám srdce bude říkat, abyste dál programovali a tvořili nové věci, budete navždy mladí.

V roce 2035, ode dneška přesně za 19 let, bude někdo přednášet na softwarové konferenci jako je tato a začne nějak podobně:

„Ahoj, je mi 42 let a tohle je můj příběh.“

Doufejme že jeden z vás bude přednášet, jinak to bude robot s umělou inteligencí. Začnete s několika překvapivými fakty o roce 2016, jako například, že šlo o rok, kdy zemřeli David Bowie, Umberto Eco, Gato Barbieri a Johan Cruyff nebo že SQL Server byl dostupný na Linuxu, Google AlphaGo porazil šampiona v Go, v ten samý den unikly Panama Papers a databáze tureckých občanů. Nebo že Google poprvé zauvažoval o použití Swift pro Android. Nebo že šlo o poslední rok, kdy si lidé užívali zbytečné věci, které se říkalo soukromí. < Budeme tři roky od Year 2038 Problem a lidé ohledně toho budou nervozní.

Samozřejmě že nevím, co se stane za 19 let, ale můžu říct tři věci, které se určite stanou:

  1. Někdo se na Stack Overflow zeptá, jak filtrovat e-mailovou adresu pomocí regulárního výrazu.
  2. Někdo vydá nový JavaScriptový framework.
  3. Někdo postaví nějakou úžasnou věc na LLVM.

A možná si budete pamatovat tuto přednášku s úsměvem na rtech.

Děkuji vám mnohokrát za pozornost.

Související