12 September

Samostatný/á vývojář/ka klíčových aplikací pro ScioŠkoly (.NET Core & Blazor) - Scio

80 000 – 100 000 CZK/month

Chceš svou prací ovlivňovat budoucnost vzdělávání? Baví tě řešit komplexní agendy a stavět systémy, na které se lidé mohou spolehnout? Přidej se k nám a podílej se na vývoji klíčových IT systémů, které denně používají ScioŠkoly po celé České republice.

Na čem budeš konkrétně dělat?

  • Budeš se starat o vývoj a údržbu našeho high stakes systému pro správu přihlášek, podpisů smluv a výhledově i plateb školného. Tvoje práce bude mít přímý dopad na hladký chod našich škol.
  • Budeš pracovat s daty souvisejícími s provozem školy – od evidence žáků a pedagogů po pravidelné výkazy pro MŠMT a další instituce. Pracujeme se systémy jako Edookit a Dipsy.
  • Dostaneš na starost správu webů (údržba stávajících webů na platformě Umbraco 8 a příprava na migraci na Umbraco Core).
  • Klíčové jsou inovace (třeba vývoj nových funkcí pro interní informační systém ScioŠkol).

S jakými technologiemi pracujeme?

  • Určitě potřebujeme, abys znal/a: .NET Core, Blazor (preferenčně server, případně wasm), SQL Server (nebo alespoň Postgre), TypeScript.
  • Pokud se vyznáš v následujícím, je to plus: AI, MAUI, NodeJS, Umbraco, NUnit, SASS.
  • A třešnička na dortu? Pro nás určitě Playwright/Puppeteer, Google APIs, BankID, NIA, PKCS #11, Scriban, Jint.

Jsi pro nás skvělý/á kandidát/ka, pokud:

  • znáš techstack popsaný výše,
  • kód nepíšeš ručně, ale primárně kontroluješ ten vygenerovaný,
  • máš zkušenosti se zpracováním agend – ideálně v oblasti vzdělávání, případně ve zdravotnictví, právu nebo stavebnictví,
  • rozumíš práci s daty – od návrhu struktury přes import/export až po integraci mezi systémy,
  • orientuješ se ve vývoji nebo správě složitějších CMS/IS (nebo jsi je sám vyvíjel/a).

Co za to?

  • 💸 80 - 100 tis. Kč/měsíc
  • ⛱ 30 dní dovolené
  • 🕘 Flexibilní práce – většinu času můžeš být remote, v kanclu se potkáváme cca 2x týdně.
  • 🧑🤝🧑 Skvělí kolegové a otevřenost. Podívej se na nás na Atmoskopu.
  • 📚 Podporujeme vzdělávání – seberozvoj je pro nás základ.
  • 💡 Práce, která má reálný dopad.

Jak to u nás chodí?

  • Spolu s přihláškou do výběrka nám pošli zpracovaný projekt (níže).
  • Pošleme ti náš Test pracovního potenciálu (TPP). Nejde o test programovacích dovedností. TPP nám pomáhá zjistit, jak přemýšlíš a jak přistupuješ k řešení problémů – používáme ho u všech pozic ve Scio.
  • Pohovor: Sejdeš se s Jonem (jeden z majitelů Scio), vývojářem Matějem a Katkou z HR. Offline, ideálně u nás v Karlíně.

Když si padneme do oka, potkáš se ještě krátce s naším zakladatelem Ondřejem Štefflem.

Těšíme se!

Katka, Matěj, Jon

Zadání projektu

Vytvoř webovou aplikaci pro sjednávání schůzek podle popisu níže.

Funkcionalita:

  • Přihlášení / registrace pomocí Google účtu.
  • Přihlášený uživatel má na hlavní stránce aplikace k dispozici tlačítko, kterým vygeneruje unikátní odkaz, který může sdílet pro sjednání jedné schůzky a odkaz, který mu zobrazí jeho vlastní kalendář.
  • Kdokoli kromě vlastníka odkazu (přihlášený i nepřihlášený uživatel) je po jeho otevření v prohlížeči přesměrován na sjednání schůzky. Na stránce je h1 nadpis s jménem a prvním znakem z příjmení vlastníka odkazu, např. "Sjednat schůzku s Honzou N." (správné skloňování jména je bonusový úkol, v základu stačí "Sjednat schůzku s uživatelem Honza N."). Pod tímto nadpisem je h2 nadpis s informací, kolik schůzek má uživatel v tomto měsíci (tedy od prvního do posledního dne v současném měsíci, např. pokud se na stránku dívám 15. 8., zobrazí se počet schůzek od 1. 8. do 31. 8.).
  • Pod těmito nadpisy následuje kalendář zobrazený v režimu "měsíc", tedy jedno políčko pro každý den v současném měsíci, mřížka (pro představu layoutu např. Google kalendář v tomto režimu).
  • V kalendáři jsou vyšrafovaně již rezervované termíny, nicméně kdokoli kromě vlastníka odkazu nevidí jejich obsah, pouze, že daný termín je obsazený.
  • Pravidla sjednávání schůzek: není možné sjednat schůzky v minulosti, dnes, o víkendech, během státních svátků České republiky a déle než 2 měsíce dopředu. Není možné rezervovat více než 3 schůzky každý den. Mezi každou schůzkou musí být nejméně 15 minut pauza. Schůzky je možné sjednat od 9:00 do 16:00. Jedním odkazem je možné sjednat pouze jednu schůzku. Schůzka se sjednává kliknutím do daného dne, což otevře modal (dialogovné okno) s výběrem délky schůzky (30 min, 45 min, 1 hod), po výběru radioboxy s možnými termíny - zobrazují se všechny validní možnosti pro zvolenou délku (tedy při zvolení 30 min se zobrazí více radioboxů než při zvolení 1 hod), tento výběr se dynamicky upravuje při výběru jiné délky schůzky. Obsazené, nebo z jiného důvodu nedostupné termíny jsou reprezentovány disabled stavem, label u každého checkboxu je ve formátu "od-do", případně " (obsazeno)", nebo " (nedostupné)", např. "9:00-9:30". Dále je nutné zadat vlastní jméno a příjmení.
  • Po potvrzení je schůzka rezervována, zobrazena v kalendáři jako modrá událost "Vaše schůzka s Honzou N."
  • Přihlášený uživatel se může podívat do svého kalendáře ve stejném zobrazení, může listovat měsíci (např. pomocí šipek, tlačítek), vidí své schůzky jako jméno a příjmení uživatele, který si schůzku dohodl, např. "9:00-9:30, Petr Anděl".

Volitelné výzvy:

  • Skloňování jmen a příjmení viz výše.
  • Odeslání e-mailu vlastníku kalendáře po sjednání schůzky.
  • Možnost změnit termín, případně schůzku zrušit.

Technologie:

  • Blazor Server, .NET Core 8/9/10.- SQL Server.
  • TS, Sass/Tailwind.

Poznámky:

  • Můžete použít AI k řešení úkolu v libovolném rozsahu dle vlastního uvážení. Prosíme pouze o stručné vyjádření, jaká část aplikace byla vytvořena pomocí AI, jaké konkrétní nástroje byly použity, stačí velmi jednoduše, např. "celé to psalo chatgpt".
  • Oceníme nízkou kognitivní složitost a jednoduchost. Máme rádi, když věci nejsou zbytečně složité.
  • Bude nás zajímat vaše řešení souběžnost. V praxi budete řešit úkoly v relativně vysoce souběžném prostředí, např. když jsou vypsány nové termíny návštěv ScioŠkol. :-)
  • Vzhled aplikace vám může přinést plusové body. Je možné použít libovolné JS/TS knihovny, ale nepoužívejte prosím žádné Blazor UI knihovny typu Syncfusion, Radzen, atd.
  • Připojte prosím poznámku, kolik času jste strávil/a řešením úkolu.
  • Preferujeme odevzdání formou GitHub repozitáře. Pokud z jakéhokoli důvodu preferujete soukromý repozitář, přidejte prosím handle @lofcz jako spolupracovníka (collaborators) pro odevzdání úkolu. Pokud je možné, neodevzdávejte prosím .zip soubor.

Benefits

Educational courses, training, Meal tickets / catering allowance, Occasional work from home, Education allowance, More than 5 weeks of vacation, Individual schedules of working hours, Bonuses, Individual budget for personal growth, Flexible start/end of working hours, Children-friendly office, Self-organization of the job, Discount on company products / services, Dog-friendly office

About the Job

Salary:
80 000 – 100 000 CZK/month
Type of Employment:
Full-time work
Contract Duration:
Permanent
Type of Contract:
Employment contract, Contract under Trade Certificate / Identification No.
Recommended education:
Education is not important