KDE A NA ČEM BUDETE PRACOVAT:
Hledáme seniorního React vývojáře, který se zapojí do vývoje moderních webových aplikací s důrazem na využití nejnovějších technologií a principů funkcionálního programování. Náplní práce bude návrh a implementace robustních a škálovatelných React aplikací, integrace s REST API nebo GraphQL, optimalizace výkonu a tvorba responzivního uživatelského rozhraní s ohledem na UX/UI principy. Součástí práce bude také vedení týmu, mentorování juniorních vývojářů a navrhování technické architektury projektů.
POŽADAVKY:
Silná znalost Reactu:
- Zkušenosti s moderním Reactem (React 17+), včetně hooků, kontextu a funkcionálního přístupu.
- Zkušenosti s řízením stavu pomocí React Context API, Redux.
- Znalost React Routeru.
Zkušenosti s funkcionálním programováním (FP):
- Schopnost aplikovat principy funkcionálního programování v JavaScriptu (např. čisté funkce, neměnitelnost, vyšší řádové funkce).
- Znalost funkcionálních knihoven, jako jsou Lodash nebo Immer.
- Praktické zkušenosti s využíváním promises a observables.
JavaScript (ES6 a vyšší):
- Pokročilá znalost funkcí ES6/ES7, jako jsou destrukturalizace, spread/rest operátory, async/await.
- Důkladné pochopení closures, scope a hoistingu.
TypeScript:
- Zkušenosti s TypeScriptem a jeho použitím v React projektech.
- Tvorba a použití typů a rozhraní v TypeScriptu.
- Schopnost integrovat TypeScript s funkcionálním programováním.
Ekosystém JavaScriptu:
- Zkušenosti s nástroji jako Webpack, Babel a ESLint.
- Znalost testování v Reactu pomocí knihoven jako Jest nebo React Testing Library.
- Zkušenosti s nástroji Continuous Integration/Continuous Deployment (CI/CD), např. Jenkins, GitLab CI.
API integrace:
- Zkušenosti s prací s REST API nebo GraphQL.
- Asynchronní operace a správa dat pomocí fetch nebo knihoven jako Axios.
UX/UI principy:
- Základní pochopení UX/UI designu a přizpůsobení komponent pro responzivní rozhraní.
- Zkušenosti s CSS-in-JS knihovnami, jako jsou Styled Components nebo Emotion.
Schopnost vést tým a mentorovat:
- Zkušenosti s mentorováním juniorních vývojářů a vedením projektů.
- Schopnost navrhovat architekturu aplikací a efektivně komunikovat technická řešení