Proč se učí techniky vývoje software?

absolvent_fiit

Proč se učí techniky vývoje software?
« kdy: 26. 06. 2017, 08:42:05 »
Na skole sa uci X metodik vyvoja softveru od vodopadu az po agilny vyvoj. Pridete do firmy a ani jedno z toho sa neuplatnuje. Ja osobne som mal zial taku smolu, ze som este nebol vo firme, kde by sa islo podla nejakych metodik vyvoja softveru.

Jedna firma, kde som robil a este dalsi 3 ludia, si pisala na inzeratoch, ze pracuje agilne. Pri 4 ludoch je to nemozne a nerealizovatelne. Neviem ci sa tam robil vobec vodopad. Detto dalsie 2 firmy, ziaden postup, mam pocit, ze sa to nepriblizovalo ani k vodopadu. Skor by som to prirovnal k chaosu.

To su tie firmy na tom tak zle, alebo to nevedia? Predsa tam pracuju ludia, ktori maju tiez ukoncene IT vzdelanie a metodikami vyvoja SW si presli. Clovek je zvyknuty na vselico u slovenskych firiem, hlavne ked 90% z nich je napichnutych  na eurofondy a pracuje sa stylom - nejak sa to spravi. A to chce este nasa vlada eurofondy na preskolenie absolventov inych VS z dovodu nedostatku IT ludi. To potom bude ako vyzerat, ked ani teraz vzdelani IT ludia nevedia fungovat a vychadzat z toho, co sa naucili na skole?
« Poslední změna: 26. 06. 2017, 10:43:43 od Petr Krčmář »


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #1 kdy: 26. 06. 2017, 08:57:48 »
Na skole sa uci X metodik vyvoja softveru od vodopadu az po agilny vyvoj. Pridete do firmy a ani jedno z toho sa neuplatnuje. Ja osobne som mal zial taku smolu, ze som este nebol vo firme, kde by sa islo podla nejakych metodik vyvoja softveru. Jedna firma, kde som robil a este dalsi 3 ludia, si pisala na inzeratoch, ze pracuje agilne. Pri 4 ludoch je to nemozne a nerealizovatelne. Neviem ci sa tam robil vobec vodopad. Detto dalsie 2 firmy, ziaden postup, mam pocit, ze sa to nepriblizovalo ani k vodopadu. Skor by som to prirovnal k chaosu. To su tie firmy na tom tak zle, alebo to nevedia? Predsa tam pracuju ludia, ktori maju tiez ukoncene IT vzdelanie a metodikami vyvoja SW si presli. Clovek je zvyknuty na vselico u slovenskych firiem, hlavne ked 90% z nich je napichnutych  na eurofondy a pracuje sa stylom - nejak sa to spravi. A to chce este nasa vlada eurofondy na preskolenie absolventov inych VS z dovodu nedostatku IT ludi. To potom bude ako vyzerat, ked ani teraz vzdelani IT ludia nevedia fungovat a vychadzat z toho, co sa naucili na skole?
Pro začátek doporučuji přečíst si, co o softwarovém inženýrství píše Knuth, to kdyby si snad někdo myslel, že různé “techniky vývoje softwaru” něčemu užitečnému slouží. Jinak obecně ta otázka samozřejmě zodpovědět nejde, někde prostě SW bastlí chaoticky a špagetově, což je dáno (ne)kvalitou tamních vývojářů. Na VŠ (aspoň na MFF) tyto “techniky” učí většinou balíci, kdežto elita (na MFF Ulita) se tomu směje a věnuje se (přednáší) skutečné computer science jako například tvorbě překladačů.

absolvent_fiit

Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #2 kdy: 26. 06. 2017, 09:07:37 »
Citace
což je dáno (ne)kvalitou tamních vývojářů
moze sa stat, ze pride kvalitny vyvojar do takehoto timu/firmy a co s tym narobi, ked tam proste nemaju zauzivany postup vyvoja? Na pohovore sa to nemusi dozvediet, alebo ho mozu zavadzat. Neviem si predstavit, ako by fungovali firmy ako Microsoft, RedHat, Oracle, Apple, Google a ine, keby fungovali takymto stylom

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #3 kdy: 26. 06. 2017, 09:11:00 »
Citace
což je dáno (ne)kvalitou tamních vývojářů
moze sa stat, ze pride kvalitny vyvojar do takehoto timu/firmy a co s tym narobi, ked tam proste nemaju zauzivany postup vyvoja? Na pohovore sa to nemusi dozvediet, alebo ho mozu zavadzat. Neviem si predstavit, ako by fungovali firmy ako Microsoft, RedHat, Oracle, Apple, Google a ine, keby fungovali takymto stylom
Kvalitní vývojář se tam buď může snažit udělat pořádek, nebo jít jinam. Můj osobní pocit je, že většina českých firem se snaží šetřit až příliš, podle čehož pak vypadají lidi, co tam píší kód. Na Slovensku to asi nebude moc jinak.

gll

Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #4 kdy: 26. 06. 2017, 09:21:15 »
Je vůbec možné provozovat agile a vodopád současně? Se softwarem navrhovaným SW architekty metodou vodopádu mám jen tu nejhorší zkušenost. Většina open source vzniká živelně a je nesrovnatelně kvalitnější než korporátní sračky.


Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #5 kdy: 26. 06. 2017, 09:32:41 »
moze sa stat, ze pride kvalitny vyvojar do takehoto timu/firmy a co s tym narobi
pravdepodobne rychle utece za lepsim.

Jinak ja nastoupil do firmy ktera si hodne zaklada na agilnim pristupu k projektum a sel jsem tam prave proto - a svete div se ono to funguje. U nas projektak neni nadavka, ale clovek se kterym perfektne spolupracujeme, resi co potrebujeme, neresi kdyz vse funguje. Asi je to tim, ze ta firma hleda áčkové hrace. Ty vypadas jako becko nebo spis cecko tak proto delas v tech horsich firmach.
Děkuji za možnost editace příspěvku.

absolvent_fiit

Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #6 kdy: 26. 06. 2017, 09:49:32 »
to_je_jedno:
dik, za analyzu a zhodnotenie, do akej triedy patrim :)

Ja som nevravel, ze robit agilne a sucasne vodopad. Jedna firma si pisala, ze robi agilne, ale mal som pocit, ze nerobia ani vodopad, nie to este nejaky agilny vyvoj.
Neviem ci sa da nieco zmenit, ked pridete do firmy, kde uz maju zauzivany nejaky postup. Liezli by ste im do kapusty. Radsej zmenit pracu, co ale nemusi znamenat, ze pridete za lepsim, na Slovensku to nie je take lahke.

pekand

Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #7 kdy: 26. 06. 2017, 09:57:38 »
Každá metodológia je iným slovom povedané birokracia. Birokracia ti neulachčuje vývoj ale všetko predlžuje. Ak počet ludí stúpne nad 400 tak sa to neda riadiť niak inak ako pomocou birokracie. Samozrejme že nepotrebuješ žiadnu metodológiu keď všetci ludia sú v jednej miestnosti. Problém nastane až keď počet ludí stúpne. Keď to porovnávaš z garážovou firmou tak sa tomu môžeš čudovať, ale keď si skúsiš robiť v nejakej korporácii tak pochopíš. Vo velkých firmách nevadí že sa zmeny robia pomaly pretože impaktujú velké množstvo ludí. Napríklad nechceš v banke aby sa zákazníkovy každý týžden prerobil celí program hlavne keď tých zákazníkov je povedzme 500000. Zmeny sú pomalé a musi abyť dobre premyslené. Všetko keď začneš robiť vo velkom tak sa ti vynoria problémi o ktorích si ani netušil.

Lopata

Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #8 kdy: 26. 06. 2017, 10:10:25 »
... kdežto elita (na MFF Ulita) se tomu směje a věnuje se (přednáší) skutečné computer science jako například tvorbě překladačů.
Jestli tohle není ten důvod, proč potom selhávají v běžných firmách při vývoji ve větším týmu...

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #9 kdy: 26. 06. 2017, 10:15:20 »
... kdežto elita (na MFF Ulita) se tomu směje a věnuje se (přednáší) skutečné computer science jako například tvorbě překladačů.
Jestli tohle není ten důvod, proč potom selhávají v běžných firmách při vývoji ve větším týmu...
Toho jsem si nijak nevšiml, ovšem už několik let nevím, co se na Ulitě děje.

mon

Re:Proč se učí techniky vývoje software?
« Odpověď #10 kdy: 27. 06. 2017, 21:03:25 »
Kazda rozumna firma ma daky proces vyvoja a metodika je nato aby sa upravila podla potrieb firmy a jej procesov, preto nie je mozne najst firmu kde robia scrum presne podla zadania (ak ano tak si im to vypomsti). Navyse ak ma firma ISO tak ma vacsinou ten proces aj dakde napisany. Birokracia je len taka aku si ju zavedie firma. Nemusis robit kazdy jeden deliverac z Rup alebo OpenUp, nemusis mat nastenku zo scrumu... vsetko o tom ako pouzit metodiku tak aby sedela firme.
Metodika funguje aj na projekte kde je jeden vyvojar a jeden manazeris a jeden productowner.
Ak firma nema aspon ako tak definovany proces, tak je to dlhodobo neudrzatelne.
Na skole ti ukazali ake su odlisne sposoby vyvoja aby si bol pripraveny ale to neznamena ze najdes to iste vsade kam prijdes.

Kit

Re:Proč se učí techniky vývoje software?
« Odpověď #11 kdy: 27. 06. 2017, 21:34:19 »
Metodika funguje aj na projekte kde je jeden vyvojar a jeden manazeris a jeden productowner.

Potvrzuji. Dokud jsem měl svého PM, tak byla naše produktivita dost vysoká.

Lopata

Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #12 kdy: 27. 06. 2017, 23:36:47 »
... kdežto elita (na MFF Ulita) se tomu směje a věnuje se (přednáší) skutečné computer science jako například tvorbě překladačů.
Jestli tohle není ten důvod, proč potom selhávají v běžných firmách při vývoji ve větším týmu...
Toho jsem si nijak nevšiml, ovšem už několik let nevím, co se na Ulitě děje.

Mám namysli spíše takové ty akademické pracovníky a doktorandy, co již mají dost překladačů a rozhodnou se přejít do komerční sféry. Aby si do životopisu mohli zapsat alespoň minimální praxi, začnou u nějaké průměrné lopaťácké firmy, která nabírá kde koho. Tam dostanou nějaký úkol, na měsíc se zavřou do kanceláře a nikdo o nich neví, pak z nich vypadne něco, co třeba i kolikrát pěkně funguje.

No a když už jsou po praxi dávno v tahu a časem přijde na to, že by se do jejich výtvorů mělo přidat něco nového, tak se zjistí, že code style je natolik "osobitý", že tomu kódu nikdo nerozumí, klíčová místa jsou zapsána "write-only" stylem, dokumentace je buď žádná, nebo k ničemu, a nakonec se to celé beztak musí přepsat, protože všechny ty použité podivné antipatterny jsou protkané špagetami, které vedou na obskurní knihovny, které stejně nikdo normální nepoužívá... dobře, trochu přeháním, jen chci naznačit, že teoretické znalosti nejsou vše a SW vývoj má i svou "sociální" stránku, kterou je nutné ovládat.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Naco sa ucia techniky vyvoja softveru?
« Odpověď #13 kdy: 28. 06. 2017, 00:23:03 »
... kdežto elita (na MFF Ulita) se tomu směje a věnuje se (přednáší) skutečné computer science jako například tvorbě překladačů.
Jestli tohle není ten důvod, proč potom selhávají v běžných firmách při vývoji ve větším týmu...
Toho jsem si nijak nevšiml, ovšem už několik let nevím, co se na Ulitě děje.

Mám namysli spíše takové ty akademické pracovníky a doktorandy, co již mají dost překladačů a rozhodnou se přejít do komerční sféry. Aby si do životopisu mohli zapsat alespoň minimální praxi, začnou u nějaké průměrné lopaťácké firmy, která nabírá kde koho. Tam dostanou nějaký úkol, na měsíc se zavřou do kanceláře a nikdo o nich neví, pak z nich vypadne něco, co třeba i kolikrát pěkně funguje.

No a když už jsou po praxi dávno v tahu a časem přijde na to, že by se do jejich výtvorů mělo přidat něco nového, tak se zjistí, že code style je natolik "osobitý", že tomu kódu nikdo nerozumí, klíčová místa jsou zapsána "write-only" stylem, dokumentace je buď žádná, nebo k ničemu, a nakonec se to celé beztak musí přepsat, protože všechny ty použité podivné antipatterny jsou protkané špagetami, které vedou na obskurní knihovny, které stejně nikdo normální nepoužívá... dobře, trochu přeháním, jen chci naznačit, že teoretické znalosti nejsou vše a SW vývoj má i svou "sociální" stránku, kterou je nutné ovládat.
Jo, taky už jsem různé šílenosti přepisoval. Psaní kódu chce prostě disciplínu, a když na člověka někdo tlačí, ať dělá rychle nebo ještě jiné věci, tak se někde šidit musí. BTW nejčitelnější kód píšou ekonomové a fyzici, protože neznají žádné vychytávky, takže píší přímo a k věci bez různých obezliček.