Description
Výhody kurzu u Goodea
- Školitel s mnohaletými zkušenostmi z praxe
Moderní techniky, trendy a nástroje
Konkrétní návody a doporučení pro vaši praxi
Nejbližší termíny
Praha | na vyžádání |
online | na vyžádání |
Ať už vás k vývoji softwaru dovedla jakákoliv cesta, postupně zjistíte, že pokud se chcete v kariéře vývojáře posunout dále, musíte toto řemeslo neustále rozvíjet. Cestou k úspěchu je především porozumět svojí práci, pochopit očekávání ostatních a připravit správný plán jak pro návrh softwaru, tak pro svůj kariérní rozvoj.
V průběhu školení vás provedeme jednotlivými fázemi vývojového cyklu z pohledu vývojáře a podrobně se zaměříme i na roli vývojáře v celém ekosystému projektového života. Zaměříme se na aktuální trendy, techniky a nástroje a to z pohledu architektury celého řešení, tak z pohledu jednotlivých technologických prvků. Demaskujeme jednotlivé “buzzwords”, abyste dokázali správně posoudit, zda vám slibně vypadající technologie a postupy opravdu pomůžou. Zaměříme se mimo jiné na agilní přístupy ve vývoji softwaru, použití kontejnerů, integraci pomocí API, použití NoSQL databází, využití cloudových řešení a mnoho dalších aktuálních témat. Projdeme si také časem ověřené postupy pro řešení problémů při vývoji softwaru.
Školení obsahuje nejen sadu příkladů z konkrétních softwarových projektů, ale je náhledem i na to, jak si postupně vybudovat úspěšnou kariéru vývojáře a věnovat se práci, která vás bude opravdu bavit.
Cílová skupina
Požadované znalosti
Základní orientace v IT
Obsah kurzu
Role vývojáře v životním cyklu vývoje softwaru
- IT vývoj v rámci organizace
- Celkový kontext softwarového vývoje
- Další role ve vývoji softwaru
- “Reality check”
- You Can’t Write Perfect Software
- There Are No Final Decisions
- There’s no silver bullet
Vývoj software jako řemeslo – potřeba praxe a neustálého vzdělávání
- Investice do vzdělání
- Vlastní značka
- Budování portfolia nástrojů
Přístup k práci
- Porozumění business zadání
- Zodpovědnost / ownership
- Good-enough software / Value for money
- Kladení správných otázek pro rozšíření obzorů
Agilní vs. vodopádový (waterfall) přístup
- specifika jednotlivých přístupů
Fáze softwarového vývoje
- Odhad pracnosti a nákladů
- Jak bezpečně odhadnout čas a náklady na vývoj
- Design
- SOLID principy
- DRY (do not repeat your self) princip
- Orthogonality
- Decopuling
- Návrhové vzory
- Build
- Defenzivní programování
- Don’t live with broken window
- Crash early
- Refactoring
- Unit testy
- Logování
- Komentáře / Dokumentace
- Automatizace
- Repozitář zdrojových kódů a artefaktů
- Continuous Integration / Continous Deployment
- Test & Debug
- Automatizované testování
- Reportování problémů, řešení konkrétních problémů, replikovatelnost chyb, nástroje
- FireBug – debug FE aplikácí
- Prohledávání logů
- Sledování síťového provozu
- Sledování databáze
- Produkční podpora
- Troubleshooting
- Potvrzování předpokladů
- Zpracování indicií
- Korelace s jinými událostmi
- Refactoring kódu a/nebo celého návrhu
- Verifikace podmínek (přenosové pásmo, počet paralelních uživatelů, uživatelský HW apod.)
- Troubleshooting
Typická stavba aplikace
- Frontend
- Business logika
- Perzistentní vrstva
- Evoluce
- Monolitické aplikace
- Dvojvrstvé aplikace
- Třívrstvé aplikace
- Single page aplikace
- Microservices
Integrace jako součást vývojového cyklu
- Evoluce
- file transfer
- point-to-point
- ESB
- SOA
- Cloud
- Integrační scénáře, vzory a protokoly
- TOGAF
- ITIL
- Prince2 / PMBook
Technologie
- Skriptovací jazyky
- Unix – awk, grep
- Groovy, Kotlin
- Databáze
- SQL vs NoSQL
- Trade-offs (ACID vs. CAP)
- Příklady NoSQL (dokumentové, grafové, key-value, column)
- Cloud based řešení – např. Firebase
- Virtualizace, kontejnery, cloud řešení
Školitelé
Kurz na míru
Nevyhovují Vám termíny, rozsah nebo obsah kurzu? Máte zájem o uzavřený kurz jen pro Vaši skupinu v našich nebo vlastních prostorách? Připravíme pro Vás kurz na míru.