Meet the YozmaTech
YozmaTech isn’t just another tech company — we’re a global team of go-getters, innovators, and A-players helping startups and product companies scale smarter and faster. We build dedicated development teams across 10+ countries, creating strong, long-term partnerships based on trust, transparency, and real impact. Here, every idea counts. We value people who are proactive, open-minded, and ready to grow. If you’re passionate about building meaningful products and want to join a team that feels like family — you’ll feel right at home with us.
We are looking for a Senior Full-Stack Engineer who can independently own the migration of a legacy portal end-to-end. The engagement is short-term, for 3–4 months.
Our client a dedicated modernization track, not a feature squad. We’re rebuilding a large EV-charging back-office portal from a legacy stack onto React 18 + TypeScript, and we want it done fast. You take a legacy screen and own the whole path to its replacement: reverse-engineering what the old flow actually does, designing and building the BFF endpoint behind it, and shipping the new page. The Team Small and lean — a couple of developers on the same migration, plus QA. Minimal process, minimal handoffs. There is no PM writing you specs for the screens you replace: the legacy system is the spec, and you’re expected to read it
Key Requirements: 🔹 8+ years of frontend development in production environments; 🔹 5+ years with React (v18; v19 a bonus); 🔹 Strong TypeScript, JavaScript, SCSS/Sass; 🔹 2+ Java/Kotlin, Spring Boot codebase — reading it and building BFF endpoints in it (you won’t own core backend services); 🔹 Redux Toolkit, Thunk, RTK Query; 🔹 MUI, Vite, CSS Modules, Storybook; 🔹 Proven full ownership of features and flows — you scope, decide and ship without being managed through it; 🔹 Ability to reverse-engineer an unfamiliar codebase: trace a flow end to end, read backend code and SQL, and find the hidden branch nobody remembers; 🔹 Comfortable working in a Java/Kotlin, Spring Boot codebase — reading it and building BFF endpoints in it (you won’t own core backend services); 🔹 Solid understanding of frontend architecture, design patterns and performance at scale; 🔹 Experience with AI coding agents / CLI tools (Claude Code, Cursor, Copilot) — we use them daily; 🔹 Experience building or maintaining a shared component library; 🔹 English — Upper-Intermediate or higher.
Will be plus: 🔹 Experience on a large legacy migration / modernization project; 🔹 Familiarity with CI/CD pipelines, Docker, deployment workflows; 🔹 UI testing frameworks;
What you will do: 🔹 Own migrations end-to-end: legacy flow → API contract → BFF endpoint → new page; 🔹 Establish what a legacy screen really does — the undocumented branches, the permission gates, the edge cases operators rely on — by reading code and data, not by asking around; 🔹 Build and extend the BFF layer (Java/Kotlin + Spring Boot): endpoints, response shapes, permission gates; 🔹 Build and contribute reusable components to our shared UIkit library; 🔹 Make the architectural calls on your own pages, and review the other migration developers’ work;
What you’re walking into: 🔹 Two portals live side by side. New pages are feature-flag gated and embedded next to legacy screens in iframes; navigation, state and deep links cross that boundary via postMessage. Coexistence, not a clean rewrite; 🔹 The legacy system is the requirements doc. 10+ years of accumulated behaviour, largely undocumented, partly dead code. Distinguishing intended behaviour from accident is the daily job; 🔹 A monolith at the other end of your BFF. Its own conventions — failure bodies returned with HTTP 200, inconsistent payload shapes, queries older than the framework you’re wrapping them in; 🔹 Multi-tenant and permission-dense. Every page, tab and dropdown is gated per service provider and per role. An empty filter is usually a 403, not a rendering bug; 🔹 Real scale



