Software

Programátor/ka, Programátor/ka webových aplikací, Programátor/ka multimédií, Analytik/čka informačních systémů (IS), IT architekt/ka, IT systémový architekt/ka – systémová integrace, Softwarový analytik/čka, Tester/ka, Dokumentarista/tka

Práce v oblasti softwaru zahrnuje všechny fáze programování – od přesného zadání úkolu, který má podle programu počítač vykonat (například vypočítat výplaty či zarezervovat letenku), přes návrh postupu řešení a výběr vhodného programovacího jazyka, samotný zápis programu, který za pomoci příkazů převede požadavky z lidské řeči do řeči počítače, po testování, při kterém se hledají chyby. Když program funguje tak, jak má, pak přichází na řadu jeho podpora – psaní návodu (manuálu), jak s programem pracovat, a reagování na požadavky jeho uživatelů, například přidáváním nových funkcí či odstraňováním chyb.

Software se dělí na dvě hlavní kategorie – operační systémy a aplikační programy.

Operační systém je soubor programů, které řídí co nejefektivněji hardware počítače, a tudíž se vyvíjejí ve firmách, které vyrábějí počítače. Existují i volně dostupně operační systémy GNU, na jejichž vývoji se může podílet v podstatě kdokoli – zdrojový kód je otevřený všem, každý má možnost tu kterou funkci vylepšit, přepsat – narozdíl operačního systému Microsoft vyvíjený firemními programátory, kteří jej musejí střežit v tajnosti.

Aplikačních programů existují tisíce a tisíce – díky nim se zjednodušila většina rutinních činností ve všech oborech (nákupy v obchodech, bankovní operace, zpracování účetnictví, rezervace jízdenek či letenek). Mezi nejpoužívanější patří programy pro zpracování textu a databázové programy pro snadné vyhledávání uložených informací podle nejrůznějších kritérií (vedení evidence, kartotéky, adresáře).

Programů je potřeba stále více, a proto jsou programátoři velmi vyhledávanou profesí. Obrovské možnosti mají programátoři webových stránek.

Programátoři pracují většinou v týmech, v nichž každý z programátorů vytváří jen určitou část programu.

Programovacích jazyků existují desítky, nejčastěji se používá C (céčko), Pascal, pro jednodušší programy se použvá Visual Basic. V současnosti se programuje pomocí šikovných nástrojů, které psaní programů výrazně zjednodušují, urychlují a zpřehledňují. Kromě těchto obecných jazyků existují databázové programovací jazyky (například dBase, FoxPro, MS-Access, MySQL), a jazyky pro tvorbu dynamických webových stránek (PHP, Java, JavaScript aj.).

Programátor/ka

Navrhuje a vytváří nový software (SW) v konkrétním prostředí a programovacím jazyce (např. C/C++, Java, prostředí .Net atd). Jedná s uživateli o tom, jak má program vypadat a co má řešit, během tohoto jednání musí být připraven na úpravy zadání ze strany zadavatele.

Testuje vytvořený software, vytváří dokumentaci (manuály), má na starost technickou podporu uživatelům – úpravuje vytvořené programy podle potřeb uživatelů.

  • Příběh programátorky JAVA
  • Příběh programátorky otevřeného softwaru
  • Příběh správkyně distribučních balíčků

Programátor/ka webových aplikací

Vytváří šablony jednotlivých internetových stránek podle návrhů webdesignérů. Vytváří či přizpůsobuje webové aplikace, které jsou součástí řady webových prezentací. Mezi nejžádanější aplikace patří internetové obchody (e-shopy), diskusní fóra, aplikace pro e-learning, systémy pro správu obsahu prezentací (redakční systémy), které umožňují běžným uživatelům aktualizovat své webové prezentace, mailingové systémy (např. rozesílání novinek registrovaným uživatelům).

Aplikace by měla vycházet z detailní analýzy a měla by být vytvořena kvalifikovanými odborníky podle standardní metodiky pro vývoj softwaru, aby vytvořená aplikace byla efektivní, spolehlivá a jednoduchá pro správu. Programátor by měl myslet při vývoji i na budoucnost aplikace – její snadnou rozšiřitelnost podle požadavků uživatelů.

Programátor by měl mít znalosti webových technologií (XHTML, CSS, PHP, JavaScript, Java a databází MySQL) , měl by umět nalézat řešení nevšedních problémů, mít přehled o nových technologiích, chuť neustále se učit a vzdělávat. Samozřejmostí je schopnost týmové práce (pracuje v týmu spolu s webdesignéry a kodéry HTML) a logické a systematické myšlení.

Programátor/ka multimédií

Programátor se podílí na tvorbě počítačových videoklipů a počítačových her, přebírá od filmařů jejich obrazové a zvukové výstupy, zakomponovává je do svého programu, který musí umožňovat s nimi pracovat, vybírat v nich, zadávat si kritéria, a u her samozřejmě také obsluhovat příslušnou hru.

Programování tohoto typu zasahuje i přímo do filmové tvorby (viz např. Jurský park). S animovanými, filmovanými a zvukovými podklady pracují i programátoři, kteří vytvářejí různé reklamní či zpravodajské ukázky nebo simulace (napodobení) určitých procesů (např. vývoj kurzu koruny, průběh chemické reakce, postup studené fronty přes Evropu apod.).

Analytik/čka informačních systémů (IS)

Úkolem projektanta – analytika je projektovat, ověřovat, uvádět v provoz počítačové systémy pro zpracování a přenos informací. Analyzuje uživatelské požadavky a podmínky, v nichž má navrhovaný systém fungovat. Konzultuje s uživateli systému jeho konečnou podobu a funkčnost, vyjasňuje si s nimi problémy a přizpůsobuje původní požadavky. Má za úkol také zajistit propojení nového systému se systémy, které uživatelé již používají, navrhuje optimalizace stávajících procesů.

Na základě vypracované analýzy poté zadává práci programátorům, kteří budou zpracovávat jednotlivé programy systému. Při zavádění informačních systému rozhoduje o nákupu potřebného softwaru a hardwaru. Ověřuje funkčnost systému na konkrétních datech získaných od uživatelů a podle nich ladí fungování systému.

Zaškoluje uživatele systému a je připraven přesvědčovat uživatele, kteří se těžko přizpůsobují novým pracovním postupům, o výhodách a efektivnosti nově zaváděného systému. Nový systém poté inovuje podle potřeb uživatelů.

Při řešení problémů a návrhu nových řešení spolupracuje s ostatními členy týmu (programátory, tester atd.) a s vedoucími projektů , zajišťuje soulad IS procesů se standardy společnosti.

Analytik by měl mít kombinační schopnosti, být schopen systematického způsobu práce, měl by být vynalézavý, přesný a trpělivý, měl by mít tvůrčí schopnosti a schopnost učit se.

  • Příběh analytičky IS

IT architekt/ka

Jeho úkolem je sledování trendů v uvedené oblasti, příprava návrhů a rozhodnutí pro dílčí architektury, koncept a design systémů, jednání s interními a externími partnery, zapojení do projektů a jejich posouzení, analytická činnost, integrace systémů, revize dokumentů popisujících změny v informačních systémech.

IT systémový architekt/ka – systémová integrace

Má komplexní zodpovědnost za koncept a design jednotlivých subsystémů, návrhy aplikačních rozhraní, účast při implementaci rozsáhlých systémů, řízení subdodavatelů.

Softwarový analytik/čka

Má na starost komunikaci se zákazníkem a s uživateli informačního systému, shromažďuje požadavky na systém, navrhuje systémy a příprava podkladů pro programátory, tvorba procesních a funkčních návrhů IS – tvorba analytických modelů podle platné metodiky, tvorba technických specifikací systémů, jejich rozhraní, komunikace s vývojovým týmem, týmem kvality a příslušnými testery, zákaznická podpora.

  • Příběh softwarové analytičky

Tester/ka

Poptávka po testerech je nyní velká. Skončila totiž doba, kdy si zaměstnavatelé mysleli, že pokud přijmou skvělého programátora, nemusí se software testovat. O testerech se dá s nadsázkou říci, že jde o profesionální pesimisty. Jejich úkolem je ověřit, zda byly požadavky klienta splněny, a nalézt i tu nejmenší chybu v práci programátora nebo analytika. Logické myšlení a pečlivost jsou proto podmínkou.

Někteří testeři se specializují i na bezpečnost softwaru, kde testují slabá místa informačních systémů. Bezchybné zpracování projektu a garance jeho dlouhodobé spolehlivosti vyžadují důkladné prozkoumání a zatížení ještě před odevzdáním.

Kromě testů funkčnosti, bezpečnosti a výkonu se provádějí také testy instalací, použitelnosti, uživatelského rozhraní a mnoho jiných. Tester musí umět ověřit i nejméně pravděpodobné kombinace funkčnosti aplikace a chování uživatele.

Tester má na starosti přípravu testovacích scénářů, provádění testů, analýza a zpracování výsledků testů. Stará se o v vývoj, přípravu a správa prostředků a prostředí pro testování. Zajišťuje komunikaci s vývojovým týmem.

  • Příběh testerky

Dokumentarista/tka

Úkolem dokumentaristy je srozumitelně zmapovat, popsat a vysvětlit kterémukoli uživateli ovládání jakéhokoli počítačového programu. Dokumentaci přitom vytváří pro všechny úrovně uživatelských práv a různé úrovně náročnosti. Na přijímacích pohovorech na pozici dokumentaristy je mimo jiné i zkouška z češtiny, případně angličtiny – psaní bez gramatických chyb musí být samozřejmostí.

Dalšími základními požadavky na dokumentaristu jsou znalost MS Office, preciznost, vytrvalost a schopnost vzdorovat rutině. Kvalitní dokumentace a nápověda je potřebná pro každý software, přesto se ovšem dokumentarista jako specializovaná profese vyprofiloval poměrně nedávno. Dlouho se předpokládalo, že dobrý programátor by měl umět své „dílo“ i dobře zdokumentovat.