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 markup

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