Fullstack Engineer (Frontend focused)
Warsaw·Posted today
cryptoweb3blockchainaitypescriptreactnodenode.jsgraphqlkafka
<p><span style="font-size: 12pt;"><span class="TextRun SCXW185957947 BCX0" lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXW185957947 BCX0">Rate: 90 – 120 PLN/hour (B2B)</span></span><span class="EOP Selected SCXW185957947 BCX0" data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></span></p> <p><span style="font-size: 12pt;"><span data-contrast="none">We are looking for a skilled <strong>Fullstack Engineer</strong> <strong>(Frontend focused) </strong>for service agreement collaboration (B2B contract) to cooperate with a team dedicated to Network Planning at FlixTrain - building internal tools that help plan the timetable and vehicle allocation, reduce manual processes, and increase productivity. This is a greenfield environment with plenty of room to shape new products from the ground up and explore innovative solutions for our internal users.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <p><span style="font-size: 24pt;"><strong><span data-contrast="none">Scope of Services</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <p><span style="font-size: 12pt;"><span data-contrast="none">You will independently develop and deliver high-quality frontend features, with occasional backend work, within a self-organized, cross-functional, distributed team. This includes building intuitive user interfaces with a focus on the experience of our internal users. You will also help drive frontend architecture decisions and contribute to technical quality across teams through code reviews and close collaboration.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <p><span style="font-size: 24pt;"><strong><span data-contrast="none">About the Engagement</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <ul> <li><span style="font-size: 12pt;"><span data-contrast="none">Design and build internal web applications that automate and simplify FlixTrain Network Planning workflows</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Develop modern, responsive user interfaces with React and TypeScript and contribute to a consistent, reusable frontend architecture</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Design and implement backend functionality, including GraphQL APIs, server-side logic and database models</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Work with internal users and stakeholders to understand their needs and turn them into practical product solutions</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Write and maintain automated tests, to ensure reliability and maintainability</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Collaborate with other engineers across a distributed architecture within an Agile environment</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Document technical decisions, solutions and ways of working</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> </ul> <p><span style="font-size: 24pt;"><strong><span data-contrast="none">About You</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <p><span style="font-size: 12pt;"><span data-contrast="none">Must have:</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <ul> <li><span style="font-size: 12pt;"><span data-contrast="none">Hands-on experience with React (React 19 in our stack) and TypeScript, with a strong command of HTML and CSS</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Experience with an object-oriented backend language. Java is not required, but preferable: Node.js or similar is acceptable, provided you have real backend development experience, not just scripting</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Hands-on experience in backend web application development: building and designing GraphQL APIs, server-side logic and database design</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Experience writing tests and working with test runners such as Vitest</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Understanding of event-driven systems and how to work with them</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Solid written and spoken English skills</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Experience working in an Agile setup</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Curiosity about the business domain. Interest in transportation, logistics or similarly complex domains is a good signal, as is the ability to explain such a domain clearly</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> </ul> <p><span style="font-size: 12pt;"><span data-contrast="none">Nice to have:</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <ul> <li><span style="font-size: 12pt;"><span data-contrast="none">GraphQL: used in our stack (Spring for GraphQL, Apollo, gql.tada)</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Java and Spring Boot / Spring Framework</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Kafka</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Experience with agentic or AI-assisted coding</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> </ul> <p><span style="font-size: 24pt;"><strong><span data-contrast="none">Collaboration Model</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":180,"335559739":0}"> </span></span></p> <ul> <li><span style="font-size: 12pt;"><span data-contrast="none">Contract type: Cooperation based on a service agreement (B2B/freelance contract), not an employment contract</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Working model: Independent contractor responsible for delivering agreed services and submitting invoices</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> <li><span style="font-size: 12pt;"><span data-contrast="none">Location: Open for contractors based in Poland</span><span data-ccp-props="{"134233117":false,"134233118":false,"335557856":16777215,"335559738":0,"335559739":0}"> </span></span></li> </ul> <p><span style="font-size: 12pt;" data-ccp-props="{}"> </span></p>