SlideShare a Scribd company logo
1 of 31
www.marbes.cz




                                        Profesionální programátor
                                        = nedostatkové zboží
komplexní řešení informačních systémů




                                        Autor: Petr Jůza

                                        Datum: 13.11.2012


                                        MARBES CONSULTING s.r.o.
                                        Tel.: 378 121 500
                                        Fax.: 378 121 501
                                        Brojova 16, 326 00 Plzeň
www.marbes.cz



Představení – Marbes
 Společnost Marbes consulting s.r.o. je česká konzultační
  a vývojová společnost působící v oblasti informačních
  technologií jako systémový integrátor a dodavatel
  ucelených SW řešení.
 Založena v roce 1997
 cca 150 zaměstnanců
 Zákazníci
      magistráty a městské úřady
      krajské úřady
      ministerstva
      obchodní společnosti a firmy poskytující služby
 Hlavní sídlo v Plzni, pobočka v Praze a Brně
 www.marbes.cz
www.marbes.cz



Představení – Marbes
• klient-server aplikace

• server:
   – Java, Spring framework, Hibernate, Apache
     CXF, …
   – PHP

• aplikační server – Apache Tomcat
www.marbes.cz



Představení – Marbes
• klient:
   – Win32 aplikace (Delphi)
   – web: Vaadin, .Net

• databáze: MS SQL, Oracle

• integrace - MuleESB
www.marbes.cz




Zajišťovat kvalitu aplikace až ve fázi testování je
 jako začít vychovávat dítě těsně před 18-tým
  rokem. Hodně bugů a release s rizikem. 
www.marbes.cz



Představení – Ing. Petr Jůza
•   Team leader, architekt, programátor, analytik, ...
•   Nyní pracuji na volné noze
•   Vývoj Java aplikací přes 10 let
•   Zaměřuji se na „lightweight“ a integrační řešení

• SpringSource Certified Professional

• Blog: http://javicka.blogspot.cz
• Twitter: @pjuza
• LinkedIn: http://www.linkedin.com/in/petrjuza
www.marbes.cz




Kód, který je pochopitelný a čitelný, ale nefunguje,
                  můžete spravit.
Kód, který funguje, ale je nepochopitelný, se může
           rozbít a neuděláte s ním nic.
www.marbes.cz



Profesionální programátor


             kodér



        programátor
www.marbes.cz




Nenápadným zabijákem IT projektů je špatná
                komunikace.
 Není nad osobní jednání na všech úrovních
           projektové hierarchie.
www.marbes.cz



Vlastnosti kodéra
• orientace na technologie a samotný kód

• nebaví ho řešit zadání

• komunikace je zbytečné zdržování

• často chybí znalosti vyvíjené oblasti

• orientován na množství kódu
www.marbes.cz




Když saháte do existujícího kódu, pokaždé něco
      vylepšete: javadoc, test, čitelnost.
   Je to jediný způsob, jak mít dlouhodobě
               udržovatelný kód.
www.marbes.cz



Vlastnosti programátora
• kvalitní „kodér“, který přemýšlí a komunikuje

• schopnost analýzy

• stále se ptá a hledá nejlepší řešení

• soft-skills

• snaha o zlepšování se - motivace
www.marbes.cz




Nejcennější vlastnosti vývojáře dle S.McConnella:
pokora, skromnost, zvědavost, duševní upřímnost,
     kreativita, disciplína a osvícená lenost.
www.marbes.cz



Vlastnosti programátora
www.marbes.cz




Kódování zabere ⅙ času, design ⅓ a testy ½ (z toho
 ¼ jedn. komponenty a ¼ integrační test.).Náklady
              na údržbu jsou 40%.
www.marbes.cz



Proč je dobré být programátorem
• chci umět více, dělat lépe

• vyšší přidaná hodnota = lepší postavení

• agilní přístupy – směr ke společné zodpovědnosti
  a programování

• člověk nemůže kódovat celý život
www.marbes.cz




   Dokonalá znalost všech požadavků na nově
              vyvíjený software je iluze.
Smiřte se s tím a nebudete ve stresu při postupném
                    upřesňování.
www.marbes.cz



Vývoj je týmová hra
• špatný/dobrý výsledek ovlivňuje celý tým

• nutnost vzájemného respektu

• nutnost vzájemné pomoci

• nutnost dodržování „pravidel hry“
www.marbes.cz




 Documentation is like sex, when it's good it's
awesome and even when it's pretty bad it's still
            better than nothing.
www.marbes.cz



Buďme efektivní
• kvalitní kód, komentáře, stejná podoba kódu, ...

• refaktoring

• testy

• naučme se efektivně používat IDE

• lépe komunikujme a předávejme informace
www.marbes.cz




Pokud jde kód špatně otestovat, je špatně
               navržený.
www.marbes.cz



Kvalitní kód
• kvalitní API

• dokumentace

• dodržování konvencí

• čitelnost

• testovatelnost
www.marbes.cz




Refactoring kódu je jako úklid kuchyně po večeři.
Pokud se nedělá, hromadí se binec, dochází čisté
    nádobí a časem si člověk už ani neuvaří.
www.marbes.cz



Rady pro začátek
• teoretické znalosti jsou potřeba
   – je nutné je ale umět aplikovat

• učte se, inspirujte se

• mějte vývojové zásady a držte se jich

• programovací jazyk není nejdůležitější
www.marbes.cz




Kdybych byl aplikační bug, tak se schovám do
  metody s vysokou cyklomatickou složitostí,
smrdícím kódem a s napraseným názvoslovím.
www.marbes.cz



Rady pro začátek
• buďte programátorsky upřímní

• technologický dluh vs. overengineering
www.marbes.cz




Čím vyšší složitost kódu, tím hustější mlha, ve které
            se schovají aplikační bugy.
www.marbes.cz



Závěr



buďte programátory 
www.marbes.cz




 Budovat aplikaci s vysokou vnitřní kvalitou je jako
ukládat peníze na spořící účet s výhodným úrokem.
        S postupem času se výnosy násobí.
www.marbes.cz




 Jakákoli konvence pojmenování je obvykle lepší
než žádná konvence. Zlepšuje pochopení kódu a
soustředění na problém, omezuje množení názvů.
komplexní řešení informačních systémů



                                        Děkuji za pozornost
                                                              www.marbes.cz

More Related Content

Viewers also liked

Blood typing.
Blood typing.Blood typing.
Blood typing.vv7782bn
 
New era social media 101
New era social media 101New era social media 101
New era social media 101Urban Brain
 
Are you going to fight or flee
Are you going to fight or fleeAre you going to fight or flee
Are you going to fight or fleevv7782bn
 
Hormones the perfect storm
Hormones the perfect stormHormones the perfect storm
Hormones the perfect stormvv7782bn
 
Nervous system artfact
Nervous system artfactNervous system artfact
Nervous system artfactvv7782bn
 

Viewers also liked (8)

Blood typing.
Blood typing.Blood typing.
Blood typing.
 
New era social media 101
New era social media 101New era social media 101
New era social media 101
 
Are you going to fight or flee
Are you going to fight or fleeAre you going to fight or flee
Are you going to fight or flee
 
Ekg.exp.3
Ekg.exp.3Ekg.exp.3
Ekg.exp.3
 
Hormones the perfect storm
Hormones the perfect stormHormones the perfect storm
Hormones the perfect storm
 
Nervous system artfact
Nervous system artfactNervous system artfact
Nervous system artfact
 
Endometriosis
Endometriosis Endometriosis
Endometriosis
 
Trastornos hipertensivos del embarazo
Trastornos hipertensivos del embarazoTrastornos hipertensivos del embarazo
Trastornos hipertensivos del embarazo
 

Similar to Marbes profesionalni programator_zcu

Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web?
Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web? Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web?
Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web? Jan Barbořík
 
Jak se stát skvělým programátorem
Jak se stát skvělým programátoremJak se stát skvělým programátorem
Jak se stát skvělým programátoremMiroslav Bajtoš
 
Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...
Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...
Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...H1.cz
 
Struktura a obsah internetové prezentace
Struktura a obsah internetové prezentaceStruktura a obsah internetové prezentace
Struktura a obsah internetové prezentaceStanislav Vasko
 
V nouzi poznáš copywritera - Internet Marketing 2013
V nouzi poznáš copywritera - Internet Marketing 2013V nouzi poznáš copywritera - Internet Marketing 2013
V nouzi poznáš copywritera - Internet Marketing 2013Copywriter.cz
 
Jan Ambrož - V nouzi poznáš copywritera
Jan Ambrož - V nouzi poznáš copywriteraJan Ambrož - V nouzi poznáš copywritera
Jan Ambrož - V nouzi poznáš copywriteraJsmeMarketing
 
Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...
Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...
Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...Sherpas
 
Syntactic Sugar - Zimní škola UNIPRANET
Syntactic Sugar - Zimní škola UNIPRANETSyntactic Sugar - Zimní škola UNIPRANET
Syntactic Sugar - Zimní škola UNIPRANETTomáš Holub
 
Rizika použití WordPressu
Rizika použití WordPressuRizika použití WordPressu
Rizika použití WordPressuSUPERKODERS
 
BrandBook společnosti AspectWorks
BrandBook společnosti AspectWorksBrandBook společnosti AspectWorks
BrandBook společnosti AspectWorksBrandBakers
 
Urychlovače vývojářova profesního růstu
Urychlovače vývojářova profesního růstuUrychlovače vývojářova profesního růstu
Urychlovače vývojářova profesního růsturdresler
 
Protože design není dekorace
Protože design není dekoraceProtože design není dekorace
Protože design není dekoraceJan Brašna
 
Internetový Marketing - Poradenství Optimalizátoři.cz
Internetový Marketing - Poradenství Optimalizátoři.czInternetový Marketing - Poradenství Optimalizátoři.cz
Internetový Marketing - Poradenství Optimalizátoři.czOptimalizátoři.cz s.r.o.
 
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?Copywriter.cz
 
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?Sherpas
 
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...Taste
 

Similar to Marbes profesionalni programator_zcu (20)

Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web?
Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web? Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web?
Jan Barbořík - Tvoříme fotografický web ve wordpressu aneb jak na funkční web?
 
Jak se stát skvělým programátorem
Jak se stát skvělým programátoremJak se stát skvělým programátorem
Jak se stát skvělým programátorem
 
Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...
Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...
Poslední středa: Online-marketing-friendy web. Jak na to? (Martin Henych, AW-...
 
Struktura a obsah internetové prezentace
Struktura a obsah internetové prezentaceStruktura a obsah internetové prezentace
Struktura a obsah internetové prezentace
 
V nouzi poznáš copywritera - Internet Marketing 2013
V nouzi poznáš copywritera - Internet Marketing 2013V nouzi poznáš copywritera - Internet Marketing 2013
V nouzi poznáš copywritera - Internet Marketing 2013
 
Jan Ambrož - V nouzi poznáš copywritera
Jan Ambrož - V nouzi poznáš copywriteraJan Ambrož - V nouzi poznáš copywritera
Jan Ambrož - V nouzi poznáš copywritera
 
Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...
Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...
Ochutnávka studie WebTop100: Srovnání kvality českých webů a dalších digitáln...
 
Syntactic Sugar - Zimní škola UNIPRANET
Syntactic Sugar - Zimní škola UNIPRANETSyntactic Sugar - Zimní škola UNIPRANET
Syntactic Sugar - Zimní škola UNIPRANET
 
Co znamená SEO dnes
Co znamená SEO dnesCo znamená SEO dnes
Co znamená SEO dnes
 
Rizika použití WordPressu
Rizika použití WordPressuRizika použití WordPressu
Rizika použití WordPressu
 
BrandBook společnosti AspectWorks
BrandBook společnosti AspectWorksBrandBook společnosti AspectWorks
BrandBook společnosti AspectWorks
 
TNPW2-2014-01
TNPW2-2014-01TNPW2-2014-01
TNPW2-2014-01
 
Urychlovače vývojářova profesního růstu
Urychlovače vývojářova profesního růstuUrychlovače vývojářova profesního růstu
Urychlovače vývojářova profesního růstu
 
TNPW2-2016-01
TNPW2-2016-01TNPW2-2016-01
TNPW2-2016-01
 
Protože design není dekorace
Protože design není dekoraceProtože design není dekorace
Protože design není dekorace
 
Internetový Marketing - Poradenství Optimalizátoři.cz
Internetový Marketing - Poradenství Optimalizátoři.czInternetový Marketing - Poradenství Optimalizátoři.cz
Internetový Marketing - Poradenství Optimalizátoři.cz
 
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
 
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
Kdo je copywriter, co umí, kolik stojí a jak zapadá do vaší content strategy?
 
Jak na úspěšný (digitální) projekt?
Jak na úspěšný (digitální) projekt?Jak na úspěšný (digitální) projekt?
Jak na úspěšný (digitální) projekt?
 
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
 

Marbes profesionalni programator_zcu

Editor's Notes

  1. bylojižhodněřečeno o tom, jakpsátkód, jakkomentovat, jakétechnologiepoužívatatd.proč je důležitébýtdobrýmprogramátorem – motivace z pohledujednotlivce aceléhotýmu
  2. zmínit referenceFSPLDHL printingdatovéschránkyNPU
  3. http://javicka.blogspot.cz/2009/10/programatori-vs-koderi.html
  4. kodérnenínicšpatného, jen je to nižšíprogramátorskýstupeňjásámjsembylkodér
  5. vývojneníjen o schopnostiněconakódovatuvědoměnísi, žečlověkčasemvícenabízízkušenostinežtechnickédetatilníznalosti
  6. lepší postavenívíce penězlepší pracovní podmínky – práce z domova, já si hlavně určuji co chciIndie produkuje každý rok 1 000 000 programátorůčlověk dokáže obsáhnout 2 technologie za život
  7. respekt – programátor vs. analytikvzájemná pomocpředávat si informace v jasné podoběkomentovat kódpsát dokumentacipravidla hrykonvence kódovánístruktura projektů
  8. efektivita – v co nejkratšídobětohoudělat co nejvícenesmímezapomínatnaudržovatelnostkomunikacespolečnýkódcode review lepšínástrojepravidla pro přenosinformací
  9. Kvalitní APIsplňovalopotřebyuživateledobrátestovatelnostflexibilní pro dalšírozvoj – vypořádání se s předešlýmiverzemicílemprogramátora je psátčitelnýkódmnoholidemchybízkušenosti z různýchprojektů a prostředí
  10. pravidlanestačí je jenznát, ale umět I aplikovatpatterny - Zvažujejejichkontext a předpokladyzekterýchvycházejí.inspiraceopen source projekty – Springkonferenceúplnějinétechnologie a jazykyzásady – spoustufirem a projektůvásmůžesemlet – držte se svýchpřesvědčení
  11. reálnáinformace o stavuprojektuodhadychybanenínicšpatnýho, nebojte se k nípřiznatTechnologickýdluh je metaforapopisujícísituaci, kdyvědoměčinevědoměudělátétechnickérozhodnutí, kteréfunguje v krátkodobémhorizontu, ale z hlediskadlouhodobéhovámmůžezpůsobitproblémy.Overengineering je případkdy pro určitíproblémzvolímepřílišsložitéřešení.záležínaoblasti – design vs. vývojdělejtevěcitakjednodušejak to jde, ale ne jednodušeji.