Hlavní menu

Nástroje

BakalarskeStudium / ZnalostiDovednostiVyvojar

View (print) - Edit page | Recent changes - Page history

Updated 05 September 2006, 13:50 by Herout

BakalarskeStudium.ZnalostiDovednostiVyvojar History

Hide minor edits - Show changes to output

05 September 2006, 13:50 by Herout -
Added line 34:
* *programování ve vláknech* (stává se čím dál častěji běžnou potřebou) [Kerio]
Changed lines 40-41 from:
to:
* znalost více platforem -- buď je Windowsák nebo Linuxář ale chybí mix [Kerio]
Added line 49:
* .NET
05 September 2006, 13:48 by Herout -
Added lines 23-24:
* *komunikační dovednosti* - umí položit smysluplnou otázku, nekývá, že rozumí, když nerozumí
** důvod: komunikace se zákazníkem, s kolegy, se šéfem
05 September 2006, 13:46 by Herout -
Added lines 3-4:
* musí umět programovací jazyk, stačí jeden, ale skutečně pořádně
** důvody: další jazyk se v případě potřeby naučí poměrně snadno
22 August 2006, 15:32 by PremekBrada -
Added lines 45-61:
!! Non-requirements, tj. co _není_ třeba aby věděli

* fyzika, elektronika
* analýza požadavků, tvorba doménového modelu nebo entit
* EJB
* prezentace vně firmy


!! Postřehy a poznámky

* "síťař z oboru DS je použitelný jako dobrý síťař, softvérář z SWI není použitelný jako dobrý databázista"
* inženýři moc neumí dekompozici na moduly/komponenty a "programování do rozhraní"
* jako team leadeři se víc osvědčují absolventi MFF UK než FAV.
* chtělo by to v nějakém předmětu probrat přehled "sw eng landscape" - např. dle ISO 15504 / SPICE
* absolventi, kteří prošli "all Java" studiem, se "nechtějí snížit na úroveň C" což je problém
* absolventi přichází s tím že "testování je otrava"
22 August 2006, 15:31 by PremekBrada -
Added lines 1-46:
Obecně se vyskytující požadavky, sestupně dle četnosti v průzkumu (viz ProfilBakalare a PotrebyZamestnavatelu):

* zkušenost s *prací v týmu* a na reálných projektech
** důvody: ve firmě pracují z 95% v týmu
* *UML - přečíst model*, případně umět vytvořit některé základní (tříd, aktivit, stavový, sekvencí)
** důvody: komunikační prostředek ve firmě
* základy *konfiguračního managementu* - práce s CVS nebo Subversion, povědomí o bug-tracking systémech
** důvody: rutinní používání v denní práci programátora, řízení projektu (Kerio)
* umět *psát anglicky* (a také česky) a rutinně číst anglické technické texty
** důvody: komunikační jazyk ve firmě (Kerio, GK), zahraniční zákazníci, outsourcing programátorů, školení
* schopnost *dekompozice při designu*, programování do rozhraní, dobrá organizace *a čitelnost kódu* (srozumitelnost pro ostatní vývojáře)
** důvody: tvořit kvalitní kód který může někdo jiný oponovat a/nebo přebrat
* používání hotových *knihoven a návrhových vzorů* vč. znalosti jejich výhod a nevýhod
** důvod: snazší komunikace, úspora nákladů na vývoj
* znalost *SQL - aktivně* základní DDL i DML ("select + create"), povědomí o triggerech a uložených procedurách, vyzkoušeno na robustním DB serveru (Oracle, PostgreSQL)
** důvod: základní dovednost
* znalost *fungování webu*, schopnost vytvořit jednoduchou webovou aplikaci
** důvod: většina aplikací má nějaké webové rozhraní
* *prezentační dovednosti* - umět udělat prezentaci před publikem, umět napsat strukturovaný text srozumitelný pro odborníka i neodborníka
** důvod: obhajoba, školení; psaní podkladů pro vedoucí
* znalost *testování* - k čemu slouží test a jak ho napsat
** důvod: denní chléb i programátora
* znalost některého *skriptovacího jazyka* (Perl, bash)
** důvod: automatizace rutinních činností, jednorázové úlohy

Některé zajímavé singularity:

* principy *distribuovaných systémů* (transakce, protokoly) [GK]
* *paralelní programování* (vč. synchronizovaný server-objekt, side-effecty monitoru) [GK]
* praktický dopad *výpočetní složitosti* na velkých datech [Kerio]
* vědět něco o normách, *standarech, zkratkách* z IT [Kerio, CCA]
* umět se sám nabídnout, "prodat" [CCA]
* schopnost pracovat v příkazové řádce na klasickém UNIXu (Solaris, AIX) [I-I]
* umět programovat v C a nemít k tomu odpor [Kerio]

Obvykle požadované technologické znalosti:

* Ant, JUnit, případně Log4J
* Subversion nebo CVS
* Oracle nebo PostgreSQL + JDBC
* HTML+CSS+HTTP (případně JavaScript)
* XML, JAXP, základní DOM
* JSP, ideálně základní Struts nebo JSF

----
Viz ZnalostiDovednosti