Urychlovače vývojářova profesního růstu

572 views
454 views

Published on

Přednáška z DevFest 2012

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
572
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Urychlovače vývojářova profesního růstu

  1. 1. Urychlovače vývojářovaprofesního růstuRobert Dreslerwww.robertdresler.cz@rdresler
  2. 2. Jak hodnotíme dobrého vývojáře? Příjemný, kamarádský a charakterní člověk Píše přehledný a čitelný kód Vyřeší rychle kaţdý problém Má programovací jazyk / technologii v malíčku, vţdy umí poradit Jeho aplikace vykazuje minimum chyb Týmový hráč Je vysoce produktivní Jeho odchod můţe firmu významně ohrozit
  3. 3. Produktivita vývojářůVynikající vývojářPrůměrný vývojářŠpatnývývojář Produktivita 0 >
  4. 4. Povahové vlastnosti podle McConnella Zvědavost Kreativita Skromnost Syrová inteligence * Zkušenosti Duševní upřímnost Kuráţ Neústupnost Lenost Disciplína
  5. 5. Skromnost
  6. 6. Buďme skromní „Nejlepšími programátory jsou lidé, kteří si uvědomili, jak malé jsou jejich mozky. Jsou skromní.“ „Špatným programátorům brání jejich ega v tom, aby se stali dobrými.“ „Čím skromnější jste, tím rychleji se budete zlepšovat.“ Edsger Dijkstra, Skromný programátor
  7. 7. Mějme sloţitost pod kontrolou > Sloţitost aplikace Mentální kapacita
  8. 8. Sloţitý = špatný Sloţitý = špatný, náchylný k chybám, s nízkou vnitřní kvalitou
  9. 9. Techniky zvládání sloţitosti Odstupňovaný návrh Abstrakce Zapouzdření implementace Dědičnost Udrţování volných vazeb Návrhové vzory Testy řízený návrh (TDD) Čistý kód (Clean Code) …
  10. 10. Odstupňovaný návrh Zdroj: Code Complete, McConnell
  11. 11. Abstrakce Je schopnost věnovat se určité koncepci při současném ignorování části detailů Na úrovni rozhraní k metodám, třídám, balíčkům
  12. 12. Zapouzdření implementace Začíná tam, kde abstrakce ukrývá detaily Jeden ze základních principů OOP Známe CO, ale nevíme JAK Minimalizuje dosaţitelnost tříd a jejich členů Programování proti rozhraní
  13. 13. Dědění Abstrakci určuje bázová třída Příliš hluboká hierarchie sloţitost zvyšuje
  14. 14. Udrţování volných vazeb Vazby = sloţitost => minimalizovat Malý počet přímých, viditelných a flexibilních vztahů = volná vazba Snadné propojení a odpojení Pozor na sémantické vazby
  15. 15. Návrhové vzory Hotová konvenční zobecnění (abstrakce) Heuristická hodnota v naznačení návrhových alternativ Zefektivnění komunikace o návrhu
  16. 16. Čistý kód Principy čistého kódu (clean code) Krátké metody, významové názvy, málo argumentů, … Kódovací styly a standardy Konvence pojmenování Minimalizace doby na pochopení významu Rychlejší ladění
  17. 17. Připusťme si omylnost Potlačení ega, spolupráce s kolegy Revize, inspekce, testy Extrémní programování Zpětná vazba
  18. 18. Zvědavost
  19. 19. Buďme zvědaví Časté změny technických informací, specifikací, technologií Vysoce konkurenční trh Jsou Indové a Číňané zvědavější? Nezájem = programátorský „domov důchodců“
  20. 20. Brusme pilu Praktikování x přemýšlení o řemesle Diskuze, sebepoznávání, studium Názory jiných lidí Jedna nová zkušenost z kaţdé aktivity Zdokonalování ovládání nástrojů Sledujme zajímavé informační zdroje, Twitter * Cizí kód, úspěšné projekty Přílišné broušení = prokrastinace
  21. 21. Experimentujme Efektivní studijní metoda programování Krátké testovací programy, izolované problémy, rysy programovacího jazyka / technologie Prototypy jsou levnější Zpětná vazba Poučení z chyb
  22. 22. Praktikujme Code-kata Code Retreat Párové programování Hackathon
  23. 23. Sdruţujme se s ostatními odborníky Znalosti a schopnosti jedinců se v týmu velmi rychle zlepšují Sdílení znalostí Vývojářská setkání, konference, networking, firemní workshopy
  24. 24. Duševní upřímnost
  25. 25. Přiznejme chybu „Jakýkoli hlupák může obhajovat své chyby – a většina z nich to také dělá.“ – Dale Carnegie Nepřiznání chyby = ztráta kreditu Přiznejme se rychle, rozhodně a poučme se Obvykle se jedná o naši chybu
  26. 26. Nebuďme falešní experti Nepředstírejme, ţe rozumíme určité oblasti, pokud to není pravda Přiznejme si skutečný stav znalostí Pozor na narcismus Naslouchejme druhým a učme se od nich
  27. 27. Informujme pravdivě o aktuálním stavu Přiznejme skutečný stav a postup projektu Manaţer je na informacích od programátorů závislý Paretovo pravidlo 80/20
  28. 28. Rozumíme svému kódu? V kódu, kterému autor nerozumí, se často skrývají bugy Pouţijme refaktorizační a zjednodušující techniky
  29. 29. Lenivost
  30. 30. Buďme „leniví“ Vytvářejme nástroje a pomůcky, které za nás vykonají nepříjemnou práci - „Dlouhodobá lenost“ Klávesové zkratky, makra Code snippety, šablony, generování kódu Automatizace spouštění buildů, testů, generování reportů
  31. 31. Komunikační dovednosti
  32. 32. Zlepšujme komunikační dovednosti Programátoři jsou obvykle introverti Vyjádřit názor, mlčet, naslouchat Stručnost a jednoznačnost Progres: Obhájení názoru před kolegou, v týmu, ve fóru, na blogu, na veřejné přednášce
  33. 33. Další tipy
  34. 34. Zlepšujme angličtinu Lingua franca vývojářů software Číst, psát, mluvit Větší profesní moţnosti, mezinárodní týmy Globální trh „Anglicky raději špatně neţ vůbec“ od @adent Programovací jazyky se lokalizovat nebudou :) Pozor na anglicko-českou polévku v kódu
  35. 35. Nepřeceňujme zkušenosti Zkušenosti nejsou vţdy zásadní Dřívější návyky se mohou stát handicapem 10 let zkušeností nebo 10 x 1 rok zkušeností?
  36. 36. Braňme se vyrušování Kratší soustředěný blok práce je efektivnější neţ dlouhý přerušovaný Vyhýbejme se paralelismu činností Pomůcky: RescueTime, Pomodoro, sluchátka, růţová desetiminutovka
  37. 37. Osobní management Time management Stanovování priorit podle důleţitosti Návyky efektivního chování (Covey)
  38. 38. Pečujte o své zdraví Sezení = likvidace těla, zátěţ zad, srdce, … Sport, pravidelný pohyb, sex Zdravé jídlo Smích, neberme se moc váţně Resetovačky hlavy, koníčky
  39. 39. Ţivot ≠ Práce
  40. 40. Ceník odpovědí Typ dotazu Cena odpovědiS odpovědí typu Ano / Ne ZdarmaS krátkou odpovědí 5 KčS dlouhou odpovědí 10 KčNa který neznám odpověď 100 Kč

×