Pro studenty

Studentům a školám nabízíme několik forem možné spolupráce.

Trainee program pro studenty VŠ

Jste v posledním ročníku VŠ a chtěli byste teoretické znalosti rozvíjet v praxi? V rámci trainee programu u nás budete pracovat s technologiemi, které znáte ze školy, poznáte, jak to ve firmě chodí, a naučíte se něco nového. Časově vám vyjdeme vstříc, abyste měli dost času na studia, a nabyté zkušenosti nakonec zužitkujete i u zkoušek. A pokud vše půjde hladce, rádi s vámi po úspěšném dokončení školy uzavřeme pracovní poměr.

Co taková studentská stáž obnáší
  • Osvojíte si praktické zkušenosti, organizační a technické dovednosti pod vedením odborného garanta
  • Seznámíte se s pracovním prostředím mezinárodní společnosti
  • Poznáte v praxi, jak fungují agilní týmy, naučíte se pracovat s moderními technologiemi
  • Dostanete příležitost pro další osobní rozvoj
  • Získáte odměnu
    • 200 Kč za hodinu
    • 60 000 Kč po úspěšném dokončení trainee programu jako náborový bonus po nástupu do pracovního poměru

 

Konzultace k pracím

Chcete psát práci a chybí vám konzultant? Umožňujeme studentům zpracovávat odborné práce na téma zadané společností nebo na vlastní téma společností odsouhlasené, ať už se jedná o diplomky, bakalářky, semestrálky, seminárky nebo práce jen tak pro radost.

Pro inspiraci uvádíme Aktuálně vypsaná témata…
Přístupnost webových aplikací ve smyslu W3C Accessibility (Web application accessibility)
  1. Seznamte se s tématem přístupnosti webových stránek. W3C Accessibility
  2. Vytvořte plugin pro prohlížeč Chrom pro měření přístupnosti webové stránky.
  3. Vytvořte jednoduché ukázkové webové stránky jako ukázku funkčnosti pluginu.
  4. Vyhodnoťte přístupnost veřejně dostupných stánek (např. státní správa).
  5. Další možnosti rozšíření práce:
    • Porovnejte vytvořený plugin s veřejně dostupnými nástroji. Např. IBM Equal Access Accessibility Checker
    • Vyhodnoťte přesnost nástrojů z pohledu praktického použití.
      • Je jistota, že bude stránka reálně přístupná, když bude splňovat accessibility standard na 100%? Jinými slovy je možné vytvořit aplikaci, která splňuje accessibility standard, ale ve skutečnosti není použitelná?
Konsolidace sociálních sítí (maturitní práce)

Vytvořit aplikaci, která bude konsolidovat posty ze 2 a více sociálních sítí tak aby vznikl “sloupec” (feed) jednotlivých postů.

Cíle projektu:

  • Analýza zadání
  • Návrh vzhledu
  • Zjištění možností API jednotlivých sociálních sítí
  • Vytvoření aplikace pro 2 sociální sítě (pro začátek např. Facebook a Twitter)
  • Řazení (např. podle data poslední aktualizace postu)
  • Vyhledávání témat napříč sítěmi -> filtrování podle hashtagu
  • Rozšíření na další sociální sítě
Aplikace pro peer-to-peer hodnocení v sebe-řízených agilních týmech - ZADÁNO

Existující aplikace pro peer-to-peer hodnocení jsou nedostatečně konfigurovatelné a/nebo složitě ovladatelné. Přitom sebe-řízené týmy můžou mít dost odlišné potřeby v tom, jak k hodnocení přistupují a jak nakládají s výsledky hodnocení. Cílem práce je analýza typických požadavků a vytvoření multiplatformní aplikace, která umožňuje peer-to-peer hodnocení a vizualizaci výsledků. Výsledná aplikace by měla být obsahovat takové možnosti nastavení, aby splňovala nejčastější potřeby sebe-řízených týmů.

  1. Nastudujte přednosti sebe-řízených týmů, obzvláště v kontextu Agilního vývoje softwaru. Seznamte se s možnostmi zaměstnaneckého hodnocení v takových týmech – pravidelné peer-to-peer hodnocení, 360º hodnocení.
  2. Nastudujte, jaké jsou klíčové parametry těchto hodnocení, a jaké klady a zápory plynou z jejich nastavení. Např. dobrovolná/vynucená důvěrnost hodnotitelů, povinný/nepovinný textový feedback, jaké zvolit hodnotící škály, nebo do jaké míry nechat nastavení těchto parametrů na samotných sebe-řízených týmech.
  3. Proveďte analýzu existujících aplikací, které takové systémy hodnocení implementují.
  4. Navrhněte vlastní aplikaci pro peer-to-peer hodnocení. Návrh by měl zohledňovat typické požadavky jako je autentizace uživatelů, důvěrnost hodnotitelů, pohodlný náhled na vlastní obdržené hodnocení včetně proměny v čase, administrátorské prostředí umožňující konfigurovatelnost hodnotících kategorií, nastavení hodnotící škály a dalších parametrů klíčových pro úspěšné nasazení peer-to-peer hodnocení v týmu.
  5. Navrženou aplikaci naimplementujte ve zvoleném programovacím jazyce.
  6. Kriticky zhodnoťte klady a zápory vytvořené aplikace.
Generátor hesel (maturitní práce) - ZADÁNO

Vytvořit javascriptovou aplikaci (aby žádná citlivá data neopustila prohlížeč), která bude generovat hesla. Cílem je vytvořit generátor hesel, který bude open source (aby se uživatel mohl přesvědčit že se hesla např. nikam neposílají).

Základní požadavky

  • Generovaní hesla v libovolné délce (možno omezit např. 3–256).
  • Možnost zvolit sady, které budou do generování zahrnuty (malá písmena, velká písmena, čísla, speciální znaky, vlastní sada znaků).
  • Kromě standardního hesla umožnit také generovat tzv. passphrase, tedy několik náhodných slov (z nějakého slovníku) oddělených oddělovačem a doplněných číslem nebo speciálních znakem.
  • Ukládat několik hesel v Local storage v prohlížeči po omezenou doby.
  • Všechny volby budou v GUI konfigurovatelné.
  • Výsledný kód bude publikován na GitHub (školní, studentovo osobní případně mentorovo)

Bonus

  • Vytvořit plugin do prohlížeče.
Zkracovač URL (maturitní práce) - ZADÁNO

Cílem je vytvořit PHP aplikaci s databází, která umožní zkrátit dlouhé odkazy (po vzoru populárního bit.ly) na vlastní doméně. Tzn. že ke vloženému odkazu je vygenerován jiný, kratší a unikátní, složený z několika náhodných znaků, přes který je možné zobrazit původní odkaz.

Základní požadavky

  • Zkracovat půjde i bez registrace.
  • Uživatel se bude moci registrovat a následně přihlásit.
  • Přihlášeným uživatelům se budou zkrácené odkazy ukládat do profilu (a půjde je smazat).
  • Možnost volby proxy stránky (tzn. po otevření odkazu nedojde rovnou k přesměrování na cílovou adresu, ale zobrazí se jednoduchá stránka s celým odkazem a případně informacemi o autorovi).
  • Každé přesměrování bude započítáno jako jednoduchá statistika.
…a již starší témata
Continuous Integration pro JS stack v GitLabu
  1. Seznamte se s pojmem Continuous Integration (CI) v prostředí GitLab.
  2. Proveďte analýzy nástrojů CI pro JavaScript stack tak, aby bylo možno pro každý merge request ověřit, že
    • proběhl úspěšný build pomocí nástroje Webpack,
    • nejsou detekovány žádné chyby a varování nástrojem ESLint nebo jiným (existuje-li lepší),
    • všechny jednotkové a integrační testy proběhly úspěšně pomocí frameworku Mocha nebo jiným (vyhovuje-li více).
  3. Prozkoumejte existenci dalších potenciálně užitečných nástrojů pro CI pipeline.
  4. Porovnejte a zhodnoťte klady a zápory jednotlivých řešení.
  5. Implementujte nejlépe vyhovující řešení do praxe.
  6. Zhodnoťte navržené řešení a uveďte jeho klady, zápory a možnosti rozšíření.
Grafická aplikace pro správu dat v NoSQL databázi Elasticsearch
  1. Seznamte se s NoSQL databází Elasticsearch.
  2. Proveďte analýzu existujících aplikací pro správu dat v NoSQL databázi Elasticsearch.
  3. Navrhněte grafickou aplikaci pro správu dat v NoSQL databázi Elasticsearch. Návrh pojměte tak, aby výsledná aplikace maximálně zjednodušila práci s daty, a to jak usnadnění tvorby dotazu, tak snadnou prezentací dat ve formě stromové struktury.
  4. Navrženou aplikaci naimplementujte ve zvoleném programovacím jazyce.
  5. Vytvořenou aplikaci důkladně otestujte s využitím unit testů.
  6. Kriticky zhodnoťte klady a zápory vytvořené aplikace.
Vizualizace výsledků mutačního testování
  1. Seznamte se s konceptem takzvaného mutačního testování.
  2. Proveďte analýzu existujících nástrojů pro mutační testování pro vybrané programovací jazyky.
  3. Navrhněte plugin do integrovaného prostředí IntelliJ IDEA, který umožní výsledky mutačního testování vizualizovat. Návrh pojměte tak aby bylo možné plugin snadno uzpůsobit pro různé programovací jazyky a to s minimální nutností konfigurace a zásahů do zdrojových kódů.
  4. Navržený plugin naimplementujte a to minimálně pro dva zvolené programovací jazyky.
  5. Realizovaný plugin důkladně otestujte s využitím unit testů.
  6. Kriticky zhodnoťte klady a zápory vytvořeného softwaru.
Automatická dekompozice změn v rámci code review

Code review je jeden z nejefektivnějších způsobů zajištění vysoké kvality zdrojových kódů a sdílení znalostí v rámci týmu. Kvalita tohoto procesu je však silně ovlivněna rozsahem změn, které jsou předkládány ke kontrole. Velmi často se v rámci jedné sady změn prolínají různé typy spolu nesouvisejících změn (refactoring, oprava bugu. apod.). V reakci na tento problém byla vyvinuta technika ClusterChanges, která umožňuje dekomponovat změny do menších podmnožin, které mohou být snadno zkontrolovány. Cílem práce je tuto techniku aplikovat na zdrojové kódy v jazyce PHP.

Srovnání implementací message brokerů
  1. Seznamte se s konceptem message broker a jednotlivými jeho implementacemi.
  2. Proveďte analýzu existujících srovnání těchto implementací. 
  3. Na základě existujících srovnání zvolte konkrétní implementace message brokerů a navrhněte sadu hodnotících kritérií.
  4. Navrhněte program pro ověření sady hodnotících kritérií.
  5. Navržený program implementujte ve vhodném programovacím jazyce, jehož volbu zdůvodněte. Realizovaný program důkladně otestujte s využitím unit testů.
  6. Kriticky zhodnoťte klady a zápory porovnávaných implementací.
Inventory Management pomocí Ethereum blockchainu

Cílem práce je vytvořit vlastní fork Ethereové sítě a připravit ho jako nástroj na management obchodu/restaurace. Toho se docílí několika kontrakty, které budou sloužit jako abstrakce nad skladem tohoto podniku. Kontrakt by měl umožňovat naskladnění nových komodit (administrátorem) a koupi komodit zákazníkem. Nedílnou součástí bude připravit webovou aplikaci ve standardu Web3 pro jednoduché používání aplikace.

Generování minimální sady testů ke spuštění na základě změněných souborů

Cílem práce je zrychlení spouštění sady jednotkových testů nástroj PHPUnit a to omezením množiny testů vytvořené na základě posledně změněných souborů. Nástroj bude vytvářet mapu závislosti mezi jednotlivými soubory anebo využije průběžně udržovaný code-coverage report. Toto pak použije při vyhodnocení nutnosti spouštění jednotlivých testů. 

Vykazování práce agilního softwarového týmu

Řešitel provede výzkum, jak vhodné je nechat členy agilního softwarového týmu vykazovat svou práci (timesheety) a s jakou přesností. Součástí práce je vypracování pluginu do Jiry, který vykazování a jeho reporting co nejvíce zjednodušuje, a který navazuje na výzkum v první části.

Implementace Intrusion prevention systému pro webový portál

Analýza nástrojů IPS a následná implementace vhodného nástroje pro webový portál (LAMP stack) hostovaný v privátním cloudu (aws, azure). Jde o řešení, které bude aktivně zasahovat proti útokům vedeným na apache server a následně hlásit tyto eventy (mail, sms, monitoring systemu).

 

Odborné praxe

Jste na střední nebo vysoké škole a sháníte odbornou praxi? Rádi byste načerpali znalosti s dalším využitím v profesním životě? Nabízíme krátkodobé i delší praxe v našem Scrum týmu a umíme je uzpůsobit aktuálním potřebám studenta. Výsledkem odborné praxe je seznámení se s prostředím a konkrétní pracovní činností firmy a zvýšení si odborné praktické znalosti.

Takhle nějak by průběh praxe mohl vypadat

V rámci praxe se zapojíte do vývoje webové aplikace PeoplePath Solutions v rámci Scrum týmu v naší společnosti. V průběhu praxe si primárně vyzkoušíte práci s moderními technologiemi jako jsou React, JavaScript, MySQL, Zend, Docker, Jenkins, Gitlab, Behat a další. Navíc si zrychleně projdete celým životním cyklem této webové aplikace od analýzy projektu přes vývoj, testování, kontrolu kvality a nasazení.

 

Přednášky

Myslíte si, že obsah učiva ve škole je moc teoretický? Pozvěte si nás a my vám k vybranému tématu povíme i o našich zkušenostech z praxe. Rádi přijedeme přímo do vaší školy nebo vás pozveme k nám.

I tohle už jste se od nás mohli dozvědět

https://github.com/peoplepath/workshop-ci-on-aws

 

Exkurze

Chcete vidět zákulisí malé IT společnosti? V rámci exkurze máte příležitost poznat naše pracovní zázemí  a dozvědět se o tom, jak vzniká robustní webová aplikace. Samozřejmě si u nás můžete zahrát i stolní fotbálek a podělíme se s vámi i o krásný výhled z naší terasy.

 

V případě zájmu nás neváhejte kontaktovat.
Pro studenty ZČU zveřejňujeme informace i na portálu http://spoluprace.zcu.cz.
Abychom ještě více podpořili spolupráci se vzdělávacími institucemi, jsme přidruženým členem spolku Platforma informačních technologií.