a tale
takže já vás vítám na svůj prezentace to by měl umět dobrý vývojář
menu se petr adámek a pracuju jednak ve společnosti on kredit international na pozici že
vo program koordinátora znamená mám tam na starosti tým juniorských prej ní kteří se tam
učí nový věci je nový technology aby mohli být po zdi nasazení na projektech a
vedle toho ještě přednáším jako externista právě kurzy který se týkají programování v jazyce java
vývoj na platformě že uvažování na tady na fakultě informatiky na masarykově univerzitě
já bych já jsem si pro vás dneska připravil takovou přednášku která se zkusí zamyslet
nad tím co by měl umět dobrý vývojář žádným případě si nemyslím že bych měl
patent na rozum to znamená můžete třeba mít jinej názor nebo musíte s můžete si
myslet něco jinýho ale myslím že by pro vás mohu by mohlo bejt inspirací
pohled na věc pozice spořice člověka který byl mockrát už toho lze si kariéře něco
zažil u zpracoval vývojáře fungoval roli v roli tým lída a prošel řadou pohovoru jak
pozice o pohovor oválného tak pozice povolující ho
takže pokusím se vám něco víc ten můj pohled bude hodně spoof pohledu člověka který
se věnuje těm technologiím kolem tý platformy java Í to znamená zejména když budu mluvit
o těch technologických je tech tak jo pokud to zajímá to nějakou jinou platformu nebo
programujete v jiných jazycích tak tam třeba ta sada těch znalostí může být trošičku jiná
ale doufám že to nebude na škodu
tak
to je to vlastně vývoj softwaru
to si představíte podpojmem když slyšíte vývoj softwaru
masírování klávesnice no
ano
návrh implementace údržba posledně důležitý na to spoustu lidí zapomíná
připadat jako k indové vy víte nové software
zase připadá jako kingy živý nové software
adresy připadá von dobře
aby vlastně když ale nějak jako tvrdej napsal někdo jinej
a kdo z vás toho neměl úplně příjemný pocit
tak takže
když se tak hlavní vám tak předpokládám že většinu věcí která tady zazní nečekejte že
tady přídu nějakejma převratným a myšlenkama nebo zničím to by vládl nějak extrémně nový ale
to jsem se to nějakým způsobem se směrovat nečekejte že tady třídu nějakým nemůžu receptem
že když budete v o půlnoci někde názvy toho vytrhnete tam nějakou kytku a vytvoří
multibody teče že za bude skvělej vývojář
ale zkusme se zamyslet nad tím to si myslím že opravdu důležitýho
je vývoj softwaru kreativní činnost
vytváříte něco novýho
něco co vznikne pokaždý trošku jinak
není to jako dělník u ve fabrice kterej prostě pojede podle za je tech postupu
a každej denně vypadnou úplně ty stejný věci
to znamená dalo by se vidět operativní činnost
když se bavíme operativní činnosti okamžitě nás napadne něco umění
tak dobře tak jako art of unix programming k bible naznačuje že to umění ale
já si podpojmem umění představím umělce který není svázán žádnými konvencemi žádnými pravidly může udělat
téměř cokoli zejména když se díváte dneska na moderní umění tak pokud tomu nerozumíte tak
vám přijde že ten umělec hrozné nějakou barvu na plátno nebo prostě udělá úplně cokoliv
a okamžitě to okamžitě se na to dá nahlížet jako neumění
takže umění a potom klasickým slova smyslu to podle mýho názoru není
můžete změní po nevím jo dejme tomu že už kdyby jsme se bavili o design
jo třeba ale když se třeba budu tak
ale dobře udělanej záchod podle mýho názoru není u měnil je design a design právě
rozdíl mezi design M a umění je v tom že design že design není umění
samozřejmě dyzajnér musí mít nějaký estetický cítění design nervy musí být svým způsobem trošku uměle
ale ten design jako takové vlastně věc kterou já na kterou začínám kterou nekončím jo
design je větru vod začátku směřuju primárním cílem dyzajnu je funkční a dobře udělanej dobře
udělanej výsledek jo to znamená dyzajnér mi a design není že někdy že někdo udělá
nezvednu krabičku a design a nakonec řekne že bude modrá bude na ní bude na
ní taková nějaká samota nebo něco takovýho že design dejme tomu ale mění jako takový
si myslím že to není
to takle věda
je to věda
bude se to na univerzitě můžete toho mít doktora
můžete udělat solidně nějakej research že jo
já si myslím
je to věda
není
on se říká že umět dobře programovat i věda ale věda znamená že
přinášíte něco úplně novýho ano jako vývojáři můžete dělat vědu jako vývojáři můžete vyvyšovat nový
algoritmy nový koncepty a podobně ale tom případě si nemyslím že byste byli roli vývojáře
v tom případě se roli spíš nějakýho výzkumníka nebo v roli
jde odborníka ale ne vývojáře jako takový není vědec
podle mýho podle mýho názoru
je to řemeslo
co dělá řemeslník
řemesla dejme sem tam tomu nějakýho truhláře který vyrábí nějaký nábytek
dělá to má celou řadu zásadu tedy zásad který dodržuje jaký postupy má zvolit aby
ten výsledek nábytek vydržel V jakým způsobem má třeba spojovat jednotlivý díly aby se to
na rozpadlo V jakým způsobem to má ověřit má nějaké na skutečně pracuje podle nějakých
zajetý standardů a postupu ale přitom každý ten kus nábytku který vylomí může být jiný
není to žádná průmyslová velkovýroba není toto jako fi K kde prostě máte padesát nebo
sto spolu každej všechny jsou stejný ale to člověk kterej do toho vnáší určitý prvek
individualismu ale přitom pracuje podle zajetý postupu
to znamená já si myslím že vývoj softwaru je kreativní či no
a je to zároveň řemeslo
dá se na to taky dívat jiným způsobem že já jsem sice říkal že to
spíš řemeslo nevšimneš nějaké nějaká průmyslová fabrika ale svým způsobem něco průmyslu a podstatný je
že ten vývoj softwaru nějaká průmyslová disciplína která je prováděna týmy vysoce odbor vysoce kvalifikovaných
odborníků neboli softwarových inženýrů
o toho vlastně se odpíchnuto píchnu potom
napíchneme když se budeme bavit o to o těch softwarových o tom co by měl
umět N dobrý voják poďme se ještě na Q zamyslet nad tím sou charakteristický dnešní
projekty
dnešní projekty jsou velmi často složitého dosáhla
jo samozřejmě těmi projekty budete jsou samozřejmě jsou formy který vyrobit vyrábí dobový aplikace jo
nebo vyrábí webový stránky kde prostě vezmete redakční systém upravíte měl několik věcí a pak
to dodáte zákazníkovi nechci na takovými projekty ohrnoval nos nechci říkal že sou nějaký někde
sou méněcenný nebo že toto je že prostě dělají míň kvalitní práci ale přece jenom
toto je to je dejme tomu okraj většina softwarového průmyslu nebo většina těch velkých projektů
je dneska o tom že jsou to složitý a rozsáhlý
rozsáhlý systémy to modře to znamená
vo jsou obsahu jo
komplexní funkcionalitu obsahovou celou řadu technologií a co je důležité se musí na ni pracovat
týmy lidí obvykle na velkých projektech nepracuje jeden tým protože upřímně řečeno jeden tým můžem
jeden tým může mít tak zhruba dejme tomu
o do patnáct dvacet lidí už když má tým dvacet lidí tak už je dost
velký of tam začíná být problém auře stejně ten tým musí nějak vnitřně strukturovat nominally
děláte s velký si projekt na kterým pracuju třeba desítky nebo stovky lidí tak už
tam těch týmů musíte mít víc znamená na těch projektech nejenom že se vyvíjí v
týmu ale vinnýho více týmu a ty týmy musí com komunikovat i mezi sebou
ty projekty často sou charakteristický tím že to systémová integrace dneska málokdy vy víte nějaký
systém na zelený louce protože každá firma každý zákazník už má nějaký informační systémy má
nějaký C aplikace a podslovy výsevy musíte integrovat tím touž má to znamená zase je
to další prvek který nám do toho vlažná že nějakou složitost protože musíte řešit nejenom
po tady mysleli vy ale musíte řešit taky nějaký jiný systém musíte řešit to jiné
komponenty které s tím vašim musí spolupracovat co je důležitý u takovýto systému složitých je
nutná nějaká zpětná vazba a komunikace bodě zákazníkem
a nebo alespoň analytiky
ne vždycky je dobrý když ten vývoj a přímo komuniké zákazníkem tomu se dostaneme za
chviličku to znamená ale nějaká komunikace tam je potřebujete upřesňovat o zadání by dneska klasický
metodiky jsou založený na tom že máte kompletní specifikaci ale eště v životě jsem neviděl
specifikaci ve který by bylo opravdu všechno a byly i byly opravdu kvalitní specifikace ale
vždycky tam nějakej decal chybí protože ten až teprv když to vezmete implementovat tak zjistíte
že se vám tam objevila nějaká otázka na kterou analytik zapomněl bych připravoval když dělal
tu analýzu a při provozu specifikace
o to se právě dneska často řeší tím že se používají agilní metodiky jo já
jak do zápis potkal nebo vyzkoušel nějakou agilní metodiku
no už někdy pracoval na nějakém projektu kde se používá scrum
extreme programming
něco jinýho
to konkrétně
a
A Z tak si nemám žádnou zkušenost ale slyšel tohoto hezky
jo volnější scrum jakmile něco volnější scan tak to není scrum to nám to tohoto
to je to je právě to je problém že když někde chcete nasadit scrum tak
zjistíte že spousta firem jako by chtěla mít kam ale nechce to dělat tak jak
to pak metodika scrum popisuje
a nevím jestli jste slyšeli
u nás největším expertem na scrum je panovalo
a ten je na ten vždycky s tohoto ne vždycky sto takový poměrně nervózní a
nevrlý když jo nějaká forma pozor na konzultace a mohli poměrně drahé konzultant že dobré
a pak sem tam snaží vysvětlit že voni chtěj ten scrum ale nechtít udělat tak
jak se to má dělat scrum ale trošičku jinak že voni třeba nemůžu toho zákazníka
zapojí do vývoje samozřejmě ve chvíli kdy nemůžete zapojit zákazníka do vývoje tak nemá smysl
uvažovat o jakým agilním přístupu můžete udělat nějaké svůj vlastní i na os metodiku ale
můj je otázka jestli vůbec máte vy nazývat agilní mimochodem to je jeden problém který
řešíme momentálně i
vo naši společnosti
a o není to rozhodně to není jednoduchý
to znamená pokud se někde dostanete do týmu kde budete opravdu používat plnohodnotný scrum tak
vězte že vám budou ostatní závidět a já taky
každopádně C podstatný až X K tomu dobrý mu softwarové samozřejmě potřeba tým kvalitních lidí
nejsou to jenom vývojáře potřebujete tam celou řadu dalších rolí čím větší projekt tím více
rolí a tím víc lidí no ale my se tady samozřejmě budeme na podívat pohledu
toho vývojáře to znamená budeme se bavit o těch vývojáře
to už se dostáváme teď se dostáváme k tomu nejdůležitějšímu cpeme prezentace a sice k
tomu co je teda důležitý u vývojáře
tak samozřejmě to co vás napadne sou ty technický znalosti a zkušenosti
dobrý vývoj by měl znát pro nějaký ty programovací jazyky nebo vono mnohdy stačí když
na ten jeden a zná ho dobře
ale
do zvána právě jeden programovací jazyk
dost vazná dva programovací jazyky
doznává na s tím zná znamená že se v něm aspoň něco naprogramovali jo ne
něco malýho jo nevím něco to znamená do z vás zná konci programovací jazyky
ale dobře právě si tak
čtyři
pět
šest
sedum
víc než dvacet
nebo udělejme to jinak do na vám že kdo z vás zná javu
céčko
C plus
jo vlastně
bytem
páru
lehátko
assembler
a na skel
pro
brain pak
no byly myslím ještě dlouho jo
je to je to opravdu strašně moc
a já zapomněl jsem tam je tady někdo kdo zná kdo sonar aby
tak určitě jsem zapomněl určitě sem zapomněla celou řadu jazyků ale
samozřejmě čím víc znáte jazyku
ne nic neni neznáme ne není pravda že čím víc znáte jazyků tím líp jo
on L někdy lepší znát jeden dva jazyky znáte pořádně mi zná spoustu jazyku a
žádný pořádný žádný z nich pořádně ale na druhou stranu samozřejmě čím vyznáte jazyků a
čili znáte konceptu tím větší máte přehled a tím spíš ste schopni třeba když se
potom pozici architekta zvolit vhodnou technologie nebo vhodný řešení na daný jazyk
takže když budete potřebovat nastartovat nějakej scénář nějaký ze tak budete vědět že na to
třeba dobrá nějaká lulat jo a nebudete se to složit jo to za ten příběh
dopis asembleru
samozřejmě další důležitou věcí souměr knihovny a technologie jo to znamená ten jazyk sám o
sobě nestačí potřebujete k tomu knihovny a zejména kdy vy víte nějaký which informační systémy
tak těch knihovny potřeba celá řada je potřeba celá řada technologií jo zase záleží to
hodně na tom jaký typy aplikací řešíte netipla formátovacích jazycích ne toho celá řada
obecně je velmi sou hodnotim programovacím jazykům a tím knihovna má technologiím se nebudu týdle
prezentaci moc věnovat jo vezmu to protože žid říkám to je strašně moc a to
je věc kterou určitě sami dobře znáte a není potřeba se kolem toho zastavovat tomu
se budeme účtu věnovat trošičku u toho se zastavíme trošičku víc sou nástroje
nástroje jak už název vyplývá je něco co vám pomáhá řešit nějakej problém že jo
a zase je potřeba znát vhodný nástroje a je potřeba ty nástroje umět používat
víte je riziko toho bych tě když znáte těch nástrojů málo
že ne na je ta ten správný víte co se stane když budete muset držet
kladivo
každý problém bude vypadat jako hřebík
jo
takže s těma nasrané to podobný samozřejmě je sou strašně důležitý nějaký já se omlouvám
já budu říkat podle pořád dokola že něco strašně důležitý jo protože samozřejmě všechno je
to důležitý
ale
ale to se nedá nic dělat důležité sou taky doporučené postupy že jo nějaký beztak
tisíc návrhový vzory a podobně
stejně tak jsou potom potřeba nějaký obecný koncepty obecný znalosti obecný principy
nicméně todle sou všechno technický věci to sou takový věci který věci zadara ajťák nebo
většina ajťák má nějak více či méně balíku
ale další věcí kterou která které sou taky důležitý a kterým bych se chtěl trošičku
věnovat jsou tak zvaný soft skills
takovýmu moderního populární slovo dneska i na větší univerzitou nějaký kurzy na to skills a
podobně někdo po mermomocí chceme protože všude píšu že to důležitý někdo jinej se na
podívá že stovky jo že to je to přece není potřeba nebo že to zbytečný
já si myslím že pravda někde uprostřed každopádně nějaký sociální dovednosti jsou potřeba a sou
důležitý
nevím jestli do tohodlectoho je vhodný řadicí třeba spolehlivost
to znamená schopnost dodržet ani na kvalitu ale vzhledem k tomu že todlecto úzce souvisí
některými opravdu o volní těmi měkkými dovednostmi tak to mám zařazeny tady po touhlenctou u
kategorií dál dále to samozřejmě nějaká schopnost spolupráce prachatým úplně na začátku jsme si říkali
že dneska většina těch velkých projektů je opravdu batika složitých to znamená pracujete na tom
týmu
samozřejmě důležité komunikace a jednání s lidmi protože musíte
bit někteří ajťáci jsou takový spíš volitelně tak a o nerdi tak jako sou situace
kdy prostě je potřeba s někým jedna no a to je důležitý a to často
může znám počet co je
často podceňovaný je schopnost a umění pro na výsledky své práce můžete naprogramovat sebelepší prodat
produkt sebelepší program ale nesměli kde vone budete umět pro data ne budete umět vysvětlit
zákazníkům nebo vašemu nadřízeným u
že opravdu tak dobrý jako je tak samozřejmě vám to nepomůže jo vemte si třeba
tetě no velká velka
velký halo že microsoft před přeneslo tabla jo přišli tabletem
samozřejmě všichni říkají že microsoft kopíruje vo up obchod applu já se přiznám že já
osobně nejsem příznivec ani společnosti microsoft ani společnosti a to
a takže se teď ve velkém hovoří že jako microsoft okopíruje o teplu ale přitom
ve skutečnosti microsoft přišel s prvním tabletem a po koncepcí jaká se dneska používá už
někde já nevím kolik to bylo dva tisíce čtyři nebo
nebo dva tisíce dva jo ale vemte si
přišli tabletem ale neuměli tomu dělat pořádnej marketing takže nic přišel jako ten marketing má
dobrej a mezi náma ta technická kvalita těch produkuje taky poměrně slušná okamžitě se kolem
toho vznikla obrovské high a dneska k skoro každej se mít oblast do vás na
tabla
do vás ho nemá ale chtěl by
a kdo ho nemá životě by to nechtěl
a to
či ano
já se k tomu ještě dostanu já toto dřevo budeme samozřejmě je to pro bla
je to problém
ne
je tady ta otázka byla o tom že žení řada dobrých ajťák nejsou introvertní a
samozřejmě s tou komunikací mají problém já sektor tomu let tomu to je samozřejmě otázka
která se nabízí já se k ní dostanu za chviličku
jo
no a to ještě důležitá věc
extrémně důležitá věc možná jedna z nejdůležitějších ale bývá opomíjena a to je motivace
motivace já tam já ho motivaci se bavit moc nebudou protože já jsem psal o
tom co to tadle přednáška se menuje to by
měl umět dobrý vývoj
a motivace není něco co umí tale motivace něco to máte a o tom abyste
byli dobře motivovaní tak to je hodně o tom jaký podmínky pracovní dostanete
kolik že samozřejmě kolik dostanete plně ale není to jenom o penězích je to samozřejmě
ta vnitřní motivace strašně důležitá a
pokud chcete mít dobrý vývojáře taky dobrý když vaší primární motivací je takovej ten dobrý
pocit dobře odvedený práce
vyhodíme který že to znamená že máte pracovat na pásku to rozhodně ale třeba firmy
jsou hodně opatrných tom jestli přijdete na nějaký pohovor a teďka firma získá dojem že
vaši hlavní motivací sou peníze tak přestože třeba nechcete tolik kolik by vám také klidně
můžete chtít poli že to že by vám to sta formativně dala ale pokud a
firma začne mít pocit že ty peníze sou pro vás hlavně a jedinou motivací tak
ta firma je dost pravděpodobně před váma dá přednost i u kandidátovi
my třeba když vybíráme říkám já sem byl má řadě pohovoru jak pozice toho uchazeče
tak pozice toho člověka který rozhoduje o tom nebo spolurozhoduje tak ve chvíli kdy máte
pocit že ten člověk že ta motivace penězma je strašně pomíjivá protože ve chvíli kdy
dostanete nějakej plat tak si není za chvíli zvyknete a
by byť nechci říkat že ty peníze vůbec nejsou důležitý a že prostě musíte člověka
motivovat že vono častou často když se mluví o tom že peníze nejsou důležitý je
že důležitá jiná motivace je to taky často veslové firma který máme sou přidat
jo ale to je samozřejmě špatně ale na druhou stranu něco pravdy na tom je
že opravdu
nejlepší a nejproduktivnějších vývojáře jsou ti kteří jsou motivovaní tím že chtějí řešit zajímavý problémy
kteří chtějí něco udělat něco vyřešit něčím novým se seznámit něco novýho se naučit to
sou lidi kteří jsou nejžádanější jsou po lidi kteří mívají taky neúspěšnější protože takovej ten
dráhy jako tak teď prostě podle mě zajímá tak potom ve chvíli kdy se do
toho takovou smete tak prostě na tom děláte a nenecháte se ničím vyrušit a podobně
ve chvíli kdy vaši jedinou motivaci jsou peníze tak ty výsledky nikdy nebudou tak dobrý
jako když se to motivace ji na
mimochodem pokud vás ta problematika kolem ty motivace zajímá tak je docela dobrá knížkami nese
popu ono
jo teď mně za teď sem zapomněl jak se to jak se to menu jak
jsem ne ten autor ale když myslím si že moc knížek o motivace tmavém pohon
na true není takže když se podíváte tak se o tom že to něco přečíst
to znamená když si to be dobrý vývojářem tak je ale to není věc kterou
se naučíte to věc kterou mít máte nebo nemáte ale pokud máte tady tudlectu motivaci
pokud vás obalí a děláte poradit tak samozřejmě je to právě to strašně důležitá věta
jednou pro obrovská výhoda oproti vašim kolegům
poďme se protějšku podívat na ty těm technickými jsem se samozřejmě ještě na chvíli vrátím
ale podle se teď podívat na ty na ty věci ne technický
jednou z důležitých věcí nejenom a jistý ale všeobecně je spolehlivou
to znamená schopnost dodržet termín dodržet zadání a dodržet kvalitu
protože to důležitý
to je tak je to důležitý protože na tom závisí úspěch celého týmu
ve chvíli kdy pracujete s týmem a teď s týmu a teďkom týmu máte člověka
který vám slíbí jo do pátku ty validace budou
a voni do pátku nejsou tak samozřejmě ten zbytek týmu s tím pro bla
takže potom samozřejmě
ten tím ten tým nedotkne nesplní třeba termín právě proto že některých těch jo členů
nesplní ten svůj potencují komitne
a zároveň na té schopnosti dodržet ten termín a tu kvalitu záleží i vlastně osobní
úspěch toho daný ho vývojáře
proto samozřejmě i jeho další motivace protože pokud dodržíte termín a dodržíte kvalitu a dodržíte
zadání tak jednak s váma bude spokojený ten nadřízený budou s vámi spokojeni kolegové týmu
dostanete adekvátní odměnu a případně dostanete prémie a hlavně budete mít pocit dobře odvedený práce
určitě to nám určitě to znáte ne když prostě když prostě
něco udělám dobře tak to mám potom takovej dobrej pocit a motivuje mně to k
další
další práci o tom stejně jako já takle
jo to znamená to je to znamená to je hrozně důležitý a ve chvíli kdyby
nejsme schopný tady tydle a ten termín a tu kvalitu a to zadání dodržet nebo
něco s toho tak samozřejmě z toho pramení nejenom že s váma samostatně nespokojený ale
pokud nejste pokud nejste
nějaký slov co
já nevím bit jaká mě napadne víme sečtete senza levom tam používá pojmy smrt a
vohnout
a já teď nevím jako formulovat jinak prostě pokud se člověk který má nějak rozumně
nastavili ty hodnoty tak tam i za sebou nese spokojený pokutu nedodržíte a největší problém
je vtom že to i vám samotný vlastně odebírá motivaci odebírá to vaši spokojenost odebírá
to vaše dobrý rozpoložení a roztáčí se nám spirála že tím spíš nejste schopni potom
podávat dobrý výkony když se vám jednou něco nepovede tak to může být určitej určité
impulsní udělá to určitým způsobem posunout že si řeknete tak mě se to nepovedlo ale
teď se zatnu jo teď prostě se heslo aby to prostě dodělám napravím to dotáhnu
to
když se to stane občas tak to takle zafunguje může to za fungovat jako určitý
určitej pohonu určitá zpětná vazba určete katalyzátor ale když se to stává pravidelně tak potom
dřív nebo později rezignuje té a velice rychle se dostaví syndrom vyhoření a pak o
to určitýho B bodu zlomu už není potom návratu
jakým způsobem na po jakým způsobem se s tím porvat abysme byli schopný dobře do
B spolehlivý a jevy se spolehlivě naším pohledů
tak se samozřejmě zákonem sou dvě věci jednak mít zvládnutý sebe řízení
a tady máme nezmar jo to znamená dobře plánovat časem to že věc která je
samozřejmě to je důležitý ve všech oborech lidský činnosti
a spoustu lidí si myslí že ten tady mezi třeba důležitýho pro manažera který má
tady který schůzky a musí pracovat se spoustou lidí a podobně ale není to pravda
ten tady management je důležitej pro každýho člověka I pro no obyčejní ho datovýho vývojáře
je důležitý aby si uměl dobře rozplánovat práce ten time elementem jenom o to že
si naplánuju kdy co budu dělat ale ten tady menežmentu je taky o tom že
třeba vím čím ztrácím část nebo vím kdy mám win kdo vás někdy mapová zima
nejproduktivnějších žádné
nevím jak vy je sou lidi kteří třeba toho nejvíc udělej večer jo ve chvíli
kdy doušek města jo manželka děti a podobně jo mám kamaráda který už vlastně kdysi
dávno během studií patřil k těmto chodili spát pozdě a ráno stávaly pozdě což byl
trošku problém že potom mnohdy ani nevěděl co to je dopoledne za přednášky a docela
blbě sem cestoval rozvrh no a dnešní době on to má tak že on chodí
spát někdy kolem osmé deváté ráno
a stává někdy vo šest
dospět se odpoledne
takže to ale vono stevena se udělá prostě strašně moc protože má plicního neruší sice
nevím jak sem jak se mu s manželkou podařilo zplodit dvě děti protože se podle
mě
nemaj kdy potka na tom potřebné místě ale funguje to a pak sou lidé kteří
když nastanou brzo takto nejvíc udělaj ráno jo třeba já osobně jsem vždycky byl takový
a rozhodně nepatří mezi ranní ptáčata práce ráno pospím ale mám vyzkoušený že když ráno
se mi podaří stav proto tak dopoledne to udělám strašně moc jakmile do potom na
obě tak po vobědě začnu právě o který se mi mohli kouř učit neudělám takže
vodpoledne si nechávám na to že může vyřizuju maily jo nebo telefony nebo takový ty
věci nebo N si domlouvám konzultace studenta má takový ty věci který nejsou
příliš náročný
každou to znamená ten kajmanech mezi opravdu důležitej a není to jenom o plánování času
je to celkově o celkově o tom jakým způsobem se schopni s tím časem hospodařit
efektivního využívat
znamená to je jedna věc ten tady menežmentu a po sebe řízení další věc která
s tím úzce souvisí je disciplína
jo to je takovýto že když prostě
na tento termín je až za měsíc jo třeba termín odevzdání úlohy nebo projektu do
školy tak proč bych proč bych se dneska nezašel na pivo nebo byl bysme dělal
něco jinýho a potom se objeví potom se objeví ten termín objeví se ten deadline
a vy najednou zjistíte že máte práce tak na čtyři dny a máte na to
zhruba taky čtyři hodiny
takže ta disciplína docela důležitá je to asi možná nejsložitější tady těhletěch bodů je to
asi ta nejsložitější v je ta která stojí nejvíc úsilí a nejvíc nějaký sebe kázně
a sebezapírání
ale samozřejmě ten kajmanech menta disciplína nejsou jediný věci
velmi užitečná věc je to že když dostanete nějaký úkol nebo samozřejmě i když zadáváte
úkol tak je dobrý trvat na tom aby ten po měl tak zvaný s má
zadání do vlastně vyslyšel tu zkratku smát
osm R je zkratka která vychází jsou to počáteční písmena
pěti vlastnosti který by měl mít dobře zadaný úkol S znamená že ten úkol dobře
specifikovaný
to znamená že jasně popsaný co je cílem toho úkolu
jo to znamená není to takový že prostě šelmám řekne řeknete no my bysme tady
potřebovali todle vyřešit a vám řekne takto vyřešte jo ale řekne vám to a neřekne
vám vy vlastně nevíte co máte dělat to znamená to S znamená že ten úkol
dobře specifikovaný ajaxem zadávající tak ten
tak ten simulovaný oba dobře ví co má co je předmětem toho úkolu
další to písmeno M znamená že to měřitelný je tam nějaká metrika je tam nějaká
metrika podle která vy ste schopni jednoduše rozhodnout je ten úkol splněny není ten úkol
splněn když budete mít dva kopáče který mají vykopat víko tak ta metrika je jednoduchá
ten výkop má bejt metr hlubokej dva metry širokej a já nevím deset metrů dlouhej
tak ta metrika jednoduchá vezmete prostě metr měříte a víte splněno nesplněno
jo ve chvíli kdy máte
kdy máte nějaký úkol kde to metriku nemáte jednoznačně danou jo to znamená šéf vám
řekne třeba dejme tomu naprogramujte tady aplikaci která mě věží tady tendle problém jo nebo
která vyřeší ten problém s těma dovolenejma doby něco naprogramujete avon potom přijde a řekne
no a to se mi nelíbí a sem vám říkal že to má bejt hezký
jo třeba tak jako to není to není toto není
tam není žádná metrika jo to znamená vy když ty když ten úkol vyřešíte tak
nevíte si to splnily nebo ne znamená sedum další věc že tam musí být metrikám
musí být měřitelný jestli byl splněný nebo ne třetí věc je to znamená se akceptovatelný
že to úkol který akceptovatelný nebo akceptovaný to znamená že to úkol který akceptujete to
znamená že vy řeknete ano tadle úkolu musí splnit nebo ano tendle úkol splní jo
mám na to část nebo mám na to prostor mám na to znalosti mám na
to podmínky jo to znáte důležitý aby ten úkol byl akceptovaný než vám šest něco
pošle do mejlu a prostě žádná diskuze a žádný prostor pro oznámení zvon vám řekl
že to máte udělal do příštího T nábytek mami máte teď logická dovolenou jo dominate
další že
R znamená že to má být reálný
to znamená že ten unk o musí být ve vašich síla
jo to znamená že vám nikdo nedá za úkol prostě za tři dny naprogramovat na
program kompletní carem po jo nebo prostě vám tady za úkol abyste V ve stanoveném
čase vyřešil nějaké entou udělali algoritmus kterej bude řešit nějaký nějakém stanoveném čase nějaké npúplný
problém a podobně
poslední je poté a poté znamená že musí být jasně stanovený termín to znamená že
víte kdy ten kdo ten úkol zadal doby ten úkol má být splněny
to znamená to sou ty to sou ty to sou ty body s mára
a to znamená každý úkol který je takovýmdle způsobem zadaný by každý měli resetovat na
tom aby veškerý úkoly který dostanete byly zadány tady tímhlectím způsobem
další věc je to říkali je takovej s tím že se že se vo pepíček
na tatínka jako
co je nebo of
tak zapomněl jako přesně ale je tam něco o tom že je tam něco o
tom že dítě se ptá svého tatínka jaký by měl být prán jímuš
a že správně buď by měl být to čestný
a rozumí a to znamená dočasným už vždycky dobrý to slíbí
a rozumím už nikdy nic neslibuju
jo to znamená todleto je todleto je přesně taky věc neříkám někdy něco slibovat že
jo když tý vaší partnerce nic myslí víte tak
tak vona si vás nevezme jo nebo
vám
ano ne po neposkytne jiné věci
každopádně
každopádně důležitý ale vím když něco slíbíte abys aby to bylo splnitelný jo to znamená
je to hlavně důležitý proti tý nadšení znáte to přijde za váma zákazník nebo váš
nadřízený nebo polekat nějakým zajímavým problémem a vám se to začíná hrozně líbí začnete bejt
nadšený rozmete vymejšlet jak by se to dalo ještě vylepšit jo zejména když jedna tak
zejména když takle pošlete nezkušený ho vývojáře na jednání zákazníkem tak zákazníci jednoduché redakcí systém
jo za určitou cenu a přijde tam programátora ten mu řekne je to jsou pro
to by mohlo umět ještě podle zákazník samozřejmě na všechno týdne že jo nula nemůže
potom samozřejmě zjistíte že toto ste na slibovali že není vůbec reálný dodat mzdu a
už vůbec ne v daném termínu a zadanou cenu
s tím souvisí další věc je potřeba se naučit provádět rány odhady to znamená ne
přeceňovat se ani se nepodceňoval
s tím podceňováním zas až tak často problémy bývá ale to přeceňování je docela problém
protože často když vidíte nějaký problém tak vzhledem k tomu že se vysoce kvalifikovaní a
máte ty znalosti a zkušenosti tak víte že tendle typ problému je v podstatě jednoduchý
a že by neměl být pro kdyby to otázka pár hodin jenomže mnohdy vzhledem k
tomu že jsou to složitý věci tak na první pohled si neuvědomíte že jsou tam
nějaký komplikace nějaký složitosti nějaký zákoutí do problém který je řešitelný během deseti minut se
může protáhnout na několik hodin ve chvíli kdy zjistíte že se zapomněli na jeden drobný
aspoň že tam třeba potřebujete nějaký vstupní data který nemáte k dispozici a který jsou
nějaký datový struktuře která je momentálně nedostupná a kvůli to musíte překopat celej celou architekturu
program to se mně stalo zrovna včera
a kvůli tomu sem šoupat asi o tři hodiny později sem plánovat že sem chtěl
udělat triviální refaktoring a zjistil jsem a doplnit jednu funkci a zjistil jsem že ten
triviálně faktor budem C podstatě komplexnějším že tam potřebu nějakou hodnotu kterou tam byly potřebuju
prostě nemám dispozice že na to je potřeba dávat pozor obecně a odhady platnosti to
jedna z nejsložitějších věcí o data branže toho softwarového inženýrství
a to je taky důležitý ve chvíli i když podle všechno dodržíte může se stát
že narazíte na problém který jsme nečekali pak je strašně důležitý
o buď vobčas řešit to znamená neříkat o vyřeším potom ale víte jaké zásada když
máte když máte před sebou nese problém který z nich byste si měli vybrat jako
první
nejsložitější ten nejsložitější nebo ten kterýho se nejvíc bojíte ono se nakonec může ukázat buď
že se o sice bojíte leží ve skutečnosti jednoduchý což vás povzbudí a na motivuje
vás to a bude opravdu složitý a je tam nějaká komplikace tak na to přijdete
včas a budete mít víc větší časovej prostor na jeho řešení a když nebo budete
mít nějaké prostoje tak ten pak můžete vyplnit i mamí složitej má okolo bohužel lidská
přirozenost je taková že naopak ty nejtěžším kulisy necháváte nakonec jo a
a to je samozřejmě špatně tak znamená je potřeba ten problém řešit část a pokud
nejste schopni řešit tak o něm včas informovat zaškolení týmu nebo nadřízené jo protože ten
nadřízený potom V ten nadřízený počítá s tím že za ten že tendle že tam
postihne to za dvě na dvě za dvě hodiny a pak někdy za ním přijdete
za dva dny a zjistíte on zjistí že se dva dny dělali na tomdle tak
pak máte problém vo mám to neuzná nebo to budete muset naprosto tak účes asi
a podobně a vony nespokojenej abyste nespokojený přestože třeba opravdu to byl úkol který nebyl
ve vašich síla
bývalý ve petr někde sem pracoval před tím tam se měl jednookou které bylo hrozně
šikovné ale hrozně úzkost levej a když narazil na problém tak to považoval za svoje
osobní selhání a nikomu o tom neřekl a měl pořád problémy s projektovým manažerem a
protože mu dlouho trvalo když pochopil že když přijde zatím manažerem nebo zatím tým lidem
nebo za svým kolegou a řekne mu hele sorry já opravdu
já opravdu tady tomudle nerozumí nebo tady s tím zatím si nevím rady takže on
bude hledat řešení a ne a nevniká nebo prostě nebude mu nadává nelezl úplně nebo
blbe tak vlastně pak takto funguje naštěstí na to potom ve chvíli kdy ho málem
vyhodili
tak sme si sedli o ten liniový manažer ten projektový manažer byl sem u toho
já to byl můj kamarád a já jsem taky určitou pozici menežmentu našeho jsme si
vysvětlili a pak to začalo tak pěkně fungovat máte taky důležitý čas řešit problém nebo
o něm aspoň informovat že podle nějakej pro bla a to je taky důležitý je
zaměřit se na ty důležitý věci neztrácet čas na pod různost tak jo to znamená
ne neplýtvat tím časem na mise který nejsou podstatně lze měřit opravdu na to důležitý
do vás já nevím jak se na tom vy ale já když sem začínal vyvíjet
tak se měl začínal jako programovat tak se měl spoustu stylech nápadu kolik kilik aplikací
napíšu a to třeba potřeba každej tejden sem začal program ottovu aplikace nebo je dvakrát
do měsíce
mám doma celou řadu aplikací ve kterejch nám akorát hotový hlavní menu a třeba vo
jo a funkcionality ani čárku
tak samozřejmě jako spoustu věcí jsem se na tom naučil myslím si že jsem jeden
nejvyšších expertu na evou boxy česku
ale samozřejmě otázka jestli nebo to důležitý nebo ne
čili o podle co sou nějaký typy nějaký rádi který je dobrý na ně myslet
a pak najednou zjistíte že dodržet termín
a kvalitu že není tak složité úkoly by se mohlo na první pohled zdát neříkám
že to jednoduchý že to nestojí nějaký úsilí ale je to zvládnutelný pro bla
další věc o kterém sme se tady o který sme se tady zmiňovali a komunikace
jednání s lidmi
jak tady mám tady právě tu poznámku to že jsem se to na to co
nejvíc diplomaticky že u některých špičkových I P odborníků nepatří schopnost komunikovat a jednotlivými těch
silným stránkám
ve své kariéře sem se potkal celou řadu poměrně extrémních případu tady tohodlectoho
to sou lidi kteří jsou opravdu špičkový
ve smyslu opravdu kvalitní odborníci ale nemůžete je nechat jedna ze zákazníka
jednak někteří z nich
ne vždycky dodržujou treskou
ivan a musím říct že i že i
snad jedině bankách na ten deskou to úrovně hákliví ale i ve firmách kde na
ten dres code hodně hrajou tak jsou lidi kteří jsou natolik snad natolik kvalitní a
natolik dobrý a ta firma v nich vidí ten přínos že u ní určitou vínku
deskou udělá samozřejmě takovýho člověka poslední někde do nějaký místnosti která je co nejdál o
koridoru kde se pohybuju zákazníci nebo obchodní partneři
a případně takovýmdle lidem se z radosti spolu moc jestli a podobný věci
ale
ale pokud ten člověk má něco nabídnout jinýho tak to není problém jo to znamená
já se k tomu ještě vrátím na chviličku na dalším slajdu by se budeme bavit
obecně o týmech a podobně ale
bohužel ne všechny lidi takle můžete uklidní uklidit to znamená je dobrý pokuď i vývojáře
jsou schopni s těmi lidmi nějak komunikovat a jednat protože to je věc kterou děláte
denodenně
jak když si to tak vezmu tak
i když dobře já nejsem typicky vývoj a ale když sem byl na vývojářský pozici
tak sem zjistil že prostě třeba třicet čtyrycet procent času moc a někdy i víc
je o tom že ne že programujete ale že s někým komunikujete potřebujete osvětlit něco
zadání potřebujete něco
potřebujete něco vyřešit že vám chybí nějaký zdroje potřebujete něco integrujete
třeba v rámci firmy potřebujete k něčemu nerozumíte potřebujete si potřebujete aby vám to někdo
vysvětlil potřebujete aby vám někdo poskytl nějakou konzultace potřebujete aby vám někdo poskytnu nějakou zpětnou
vazbu o to znamená komunikujete jak s kolegy v rámci týmu i mimo tým musíte
komunikovat nadřízený jo a zrovna s tím nadřízeným je dobrý když jako to trošku když
to prvků mějte jo ne každýmu se poštěstí mít nadřízenýho kterýho má omotaný vokolo prostu
ale tím spíše potom dobrý když umíte se tomu nadřízený mu říct o toto potřebujete
nebo umíte za ním tříd a umíte s ním jednat na rovinu nebo umí tomu
umí tomu prostě říct že tak tady je problém a nebo tady to potřebu tady
to a to někdy musíte komunikovat zákazníkem to nebývá pravidlo zejména u větších projektů je
mezi váma zákazníkem analytik nicméně pokud máte to štěstí a máte tam nějakou agilní metodiku
tak je potom dobrý když toho zákazníka máte přímo v tom týmu a komunikujete přímo
s ním protože to je ten člověk který vám poskytne nejvíc informací o ty problémový
doméně
dále musíte komunikovat partnerskými organizacemi musíte komunikovat dodavateli těch systému a podobně
se důležitý je že musíte také spolupracovat týmu
tady je potřeba si uvědomit že tým je nějaká skupina lidí která pracuje společně na
dosažení nějakýho společnýho cíle a právě ten tým je složený z různých lidí z různými
vlastnostmi čili přínosem pro ten týmu může být i člověk určitou slabinou pokud je to
kompenzovaný nějakou jinou přidanou hodnotou této na k těm o čem jsme se bavili pokud
budete mít týmu jednoho nebo dva introvert i ale tím je ti lidé budou opravdu
špičkoví odborníci tak to není problém ten zbytek týmu se musí naučit jakým způsobem s
nimi komunikovat a bude to fungovat ale nemůžete mít tím složený jenom ze samých introvert
jo to znamená na druhou stranu todle i prostor pro vás pokud někdo z vás
třeba nejsem úplně špičkoví programátoři ale máte dobrý třeba jiný dovednosti taky by můžete pro
ten tým být přínosem sice nebudete řešiteli složitější problémy ale budete vlastně v tom týmu
řeší budete ten tým doplňovat nějakým jiným vhodným způsobem tato věc této souvislosti je dobrý
pokud si tu práci týmu vyzkoušíte na školním projektu na projektu s kamarády a podobně
je dobrý si z mapovací znalosti schopnosti a dovednosti silný slabý stránky identifikovat a na
základě toho se zamyslet jakou roli v tom týmu byste mohli mít jo podle samozřejmě
primární úkol pro toho člověka který ten tým sestavuje ale vy když dopředu bude eště
třeba v než se budeme ukázat nějakou práci budete podle vědět tak tím spíš se
budete hlásit na pozici kde vyniknout vaše silný nebo slabý stránky
samozřejmě extrémně důležitý je prodat mě prodat výsledky své práce marketing je důležitý bys apple
je to v důležitý u přijímacích a hodnotících pohovorů když jedná se zákazníkem nadřízeným a
podobně ono se říká že dobrá práce by se měla prodat sama ale často je
potřeba tomu trošičku pomoci
a je pravda že přehnaná skromnost tady není na místě ale samozřejmě na druhou stranu
musíte umět musíte místo proda jo to znamená jako jsou lidi kteří prodají i když
vůbec nic nemají a pokud v zejména obchodní odděleních některých sem sou na todle která
mě dobří ale samozřejmě i když něco máte taky dobrý to umět prodat je dobrý
rozvíjet V prezentační dovednosti nějakým způsobem to trénovat důležitá je samozřejmě dobrá příroda příprava na
druhou stranu je potřeba ne zveličovat svoji práci ani si ne přivlastňovací nějaké přínosy jiný
jo to se velice rychle obrátí proti vám na samozřejmě dobrý když svoje znalosti máte
čím prokázat nějakou certifikaci nějakými školeními a podobně zejména certifikace pro metry to sou takový
ty certifikace o ibm ty od microsoftu nebo oprátku jsou docela levný ta certifikace stojí
odspodu od i o toho jednoho sta dolarů tři stovek jo to znamená toto řádově
jednotky tisíc přitom touto certifikát vektoru majolku hodnotu znamená pokud chcete zvýšit hodnotu na trhu
práce není vůbec špatný se podívat tady na tydlety certifikát ve chvíli věku potřeba nějaký
školení takže to horším že ty školení tou sou desítky tisíc ale ty certifikace se
dají zaplatit i poměrně skromným rozpočtem
to bych jazyků nás a technologií já to tady mám na tom slajdu nějakej příklad
jak je potřeba na té platformě dělala enterprise edition ale samozřejmě na různých platformách to
bývá různý to znamená nebudu se tím zabývat nějak moc dopodrobna jo podívám se spíš
na ty nástroje
mezi nás mezi nástroje který potřebujete na každym projektu jsou jednak systémy pro správu verzí
to můžu mít klasický vědním stromem pro mě dneska už strašně zastaralý otce celé eska
je to s navržen
no a nebo samozřejmě distribuovaný tam jejich to zase celá řada
nejznámější asi git který se použít který používá třeba rather nebo se používá pro vývoj
linuxový o jádra ale poměrně dalším po frekventovaným nástrojem který se používá ve firmě má
snímat merkuria
obecně že to že ty distribuovaný primo ty jsou nástroje sou jsou o oblíbený oblíbenějšího
modernější ve většině firem že jsem se pohyboval nebo který se většinou používá ten zavržen
protože ta firma má ráda pod kontrolou celej ten strom těch zdrojáku a ten distribuovaný
vývoj moc ne voni to znamená ve většině ten se potkáte s tím taberny
pak to samozřejmě důležitý nějaký nástroje na sestavování projektů jo proud jednoduchých nástrojů typu mac
nebo budeš o výskytu až potom po komplexních systémů pro zprávu projektu jako je třeba
maven
mejm N rovná se někdy potom jiném
a do vás nemá hrách vlivem
a kdo zálohovaní lze nástroje kterýmu výrazně usnadňuje práci
většinou lidi který potkají maven poprvý tak měl jsou takový rozpačití ale na druhou stranu
ve chvíli kdy se kdy se s ním s kamarádíte a o že zejména když
se s ním potkáte poprvý tak se tak je to často teprve v době kdy
se třeba ještě nepracovali na tak velkém projektu abyste ocenili přínos takovýho nástroje ale musím
říct že třeba já se dneska vývoj bez menu nedovedu představit vyžaduje jo že skutečně
to nástroj který výrazně usnadní ten vývoj zejména si pokud lipov týmu a zejména pokud
se tam proces různejma vezem a podobně na maven nedám dopustit
samozřejmě důležitý jsou potom nástroje typu zvyšují taky tak některý firmy mívají nějaký svoje proprietární
řešení nicméně nejfrekventovanější variantou která se dneska používá ve většině podporu ve kterém je čaj
na
podobně jako pro spolupráci rozdělení znalosti se používá ho systém konzulem samozřejmě zde T další
věc kterou téměř vždycky musíte znát jako vývojářem microsoft office nebo alespoň open office protože
většina dokumentu která vám přijde o panely typu nebo zákazníka budou ve wordu nebo v
něčem podobny nebo tak celou takže pokud ten se zdali naprogramování protože nechcete nikdy nic
vonásek celém tak to budete mít životě docela těžký
samozřejmě důležitý jsou potom vývojový nástroje nějaký debuggery profilery a podobně
co je ale důležitý kontech nástrojů že umět je dobře ovládat že když umíte dobře
ovládat N nástroje tak vám to šetří spoustu času aby ten čas potom můžete věnovat
na řešení toho vlastního
problém
jo poslední věc která je důležitá sou potom nějaké doporučené postupy týká se to konvencí
nějakých best access east nějakých návrhových vzorů nebo případně anti vzoru důležitý je umět testovat
a znáte principy polem testování přičemž znalost a uplatňování tady těhletěch věcí hrozně důležitá protože
tím že znáte uplatňuje se tady tydle postupy takto vede udržovatelný kódu to znamená call
který se dobře opravuje upravuje udržuje optimalizuje fakturuje dobře se do něj doplňuje nová funkcionalita
a podobně a hlavně je to de facto nutný k tomu abyste mohli ten kód
sdílet v rámci týmu a v rámci toho týmu na tom kódu spolupracoval podle věc
která byla podceňovaná a můžu vám ví že pokud pracujete na projektu kde se podle
důsledně nedodržuje tak to není vůbec žádná příjemná zkušenost
jinak v tomdle tenhle souvislosti bych taky a
to je tam zkopírovaný ze špatnýho slajdu poslední věcí kterou je taky potřeba znát o
nějaký obecný principia koncepty to znamená měli byste něco vědět o architekturách počítačů o principech
operačních systémů o principech počítačových sítí o konceptech on o algoritmech pomát matematika je strašně
důležitá musím viděli jsem studoval tak mi přišlo většina věci kterou jsme se učili teoretický
informace nebo matematice tak sem si říkal že to sou věci na to akorát aby
nás potrápily že to praxi v životě nevyužiju a byl jsem překvapen jak brzo sem
tady tydlety znalosti využil protože to že se ve škole naučíte nějaké program maciaszek nebo
nějakou technologie to sou věci který za deset let budou úplně jinak ale ta teoretická
informatika pase tak rychle nemění a sou to principy který se uplatní pořád může vás
ulici že se od na o podle to můžete
opravdu opřít ve škole mě studenti často říkají že mají rádi moje předměty protože já
tam musím udělat vo to programování že to je to prakticky toto v životě využijou
I vždycky říkám abyste se nedivili tomato pak zjistíte že ta matematika pro vás mnohem
důležitější byste si mysleli mimo jiný protože mám přináší schopnost řešit abstraktní problémy
obecně ta znalostem principu a konceptu je velmi důležitá protože vy to sice můžete obejít
tím že použijete metodou pokus omyl ale
ta metoda někde efektivní nástrojem ale rozhodně by neměla být vaším hlavním o hlavní metodou
tak čili
to bylo to bylo o tom o mém pohledu na toho co by měl umět
a znát dobrý voják soubor samozřejmě jednak ty technický znalosti a jednak nějaký sociální a
komunikační dovednosti a dal bych vám snad jednu radu že by bylo dobrý se mapovací
schopnosti a dovednosti a nějakým způsobem si naplánovat vzdělávání a svoji kariéru aby se vám
nestalo toto některým vašim kolegům že strávíte pět a to nějaký pozici a pak zjistíte
že chcete dělat něco úplně jinýho že těch pět let pohledu vaší kariéry bylo ztraceným
časem
tak to jedné strany všechno pokud máte někdo nějaký dotaz
pokud ne tak budu ještě chvíli na našem spánku bunkr editu děkuju vám za pozornost
a přeji vám příjemný zbytek dne