Calmis, a startup building a secure corporate messenger based on the Matrix protocol, is hiring a Tech Lead Frontend Engineer to lead frontend architecture and team development.
Responsibilities:
- Provide technical leadership and mentorship to frontend developers.
- Manage the team: assign tasks, conduct code reviews and 1:1s, evaluate and develop employees.
- Design SPA and state-management architecture without Redux, using singleton stores and a Flux dispatcher.
- Develop and maintain a fork of Element Desktop, including main/renderer, IPC and electron-builder.
- Build SPA pages and widgets with React and TypeScript, integrating the Matrix SDK.
- Write unit tests and ensure quality; optimize performance through React profiling, virtualization and reducing re-renders.
- Integrate REST APIs and JavaScript SDKs, including authorization and error handling.
- Work in a large legacy codebase and fork, make targeted changes, patch dependencies and merge upstream updates.
- Participate in hiring, onboarding and developing engineering culture; coordinate with product, backend and leadership.
Requirements:
- 5+ years of frontend experience with React 19 and strict TypeScript, including hooks, useSyncExternalStore, generics and discriminated unions.
- 3+ years of management experience leading a team of 2+ people, including code reviews, mentoring and planning.
- Technical leadership experience, including architectural decisions, technology selection and quality control.
- Willingness to work with legacy class components and a Flux dispatcher.
- Experience with large unfamiliar legacy codebases and forks; confident Git use, including rebase, merge conflict resolution and bisect.
- Understanding of SPA architecture and separation of concerns; experience integrating REST APIs and JavaScript SDKs.
- HTML/CSS, CSS Modules, PostCSS, design tokens and multi-theming. Tailwind is not used.
- Unit testing with Jest, Vitest and Testing Library; familiarity with linting, i18n, accessibility and code review.
- English sufficient for reading documentation (B1+).
Nice to have: production Electron experience; MVVM, Feature-Sliced Design and Flux stores; architectural knowledge of RxJS; WebRTC and LiveKit; Vite, Webpack, pnpm/Yarn Berry, dependency patching and Nx; Playwright, testcontainers and Storybook; Matrix or other messenger APIs; open-source forking; experience establishing processes in a startup.
Conditions: Remote, full-time, flexible schedule aligned with Moscow time. Payments twice a month. The team offers interesting technical challenges.
Hiring process: resume screening, brief Telegram cross-interview, technical interview with the team, leadership interview and offer.