Full Stack Engineer
- Hiring from
- Serbia
- Work type
- Remote
- Posted
Show job descriptionHide job description
About the Client
Our client is an international technology company developing a modular software platform designed to support complex business operations and automated workflows. Their teams work across product, engineering, AI, and operations to build and implement scalable solutions for clients across different environments and use cases.
Role overview
We’re looking for a Full Stack Engineer to build and improve the features that help users manage their day-to-day business operations. Working closely with product, design, and engineering, you’ll turn requirements into complete, usable features across the interface, application logic, and data layer.
The core stack is TypeScript, React, Next.js, and Convex, with Tailwind CSS and shadcn/ui for the interface. You’ll work across a modular platform, developing both individual features and the shared capabilities that connect them.
This role suits someone who enjoys thinking through the whole user experience, understanding how frontend and backend decisions affect each other, and taking responsibility for features beyond their initial release.
Key responsibilities
Build and ship platform features end to end, from requirements and user interface through backend logic and production release.
Develop responsive, accessible interfaces with React and Next.js, following the platform's existing component and design patterns.
Use Tailwind CSS and shadcn/ui to build consistent, reusable interface components and clear user interactions.
Implement backend functionality in Convex, including schemas, queries, mutations, actions, and background work.
Design data models, indexes, and validation that support reliable behavior and efficient data access.
Build and maintain authentication, authorization, organization and tenant boundaries, and permissions across platform features.
Develop shared platform capabilities such as user management, module provisioning, configuration, and connectivity between modules.
Integrate third-party APIs, webhooks, and external services with appropriate error handling and secure handling of credentials.
Work with product and design to clarify requirements, identify edge cases, and turn acceptance criteria into working software.
Write meaningful tests, review code, and verify complete user flows before release.
Diagnose and fix issues across the browser, server, and database, improving performance and reliability where needed.
Maintain clear technical documentation, communicate progress and blockers, and support features after they reach production.
Required experience and capabilities
Strong TypeScript and JavaScript skills, with practical command of HTML, CSS, and modern web application development.
Experience shipping production applications with React and Next.js, including server and client responsibilities, routing, forms, and data loading.
Hands-on experience with Convex, including data modeling, queries, mutations, actions, validation, and access control.
Experience building interfaces with Tailwind CSS and shadcn/ui, with attention to usability, accessibility, and consistency.
Ability to design and consume APIs, implement authentication and permissions, and work safely with data across multiple organizations or tenants.
Good engineering habits around Git, pull requests, automated testing, code review, debugging, and deployment workflows.
Ability to own features across the full stack, communicate clearly with product and design, and make practical technical decisions.
What success looks like
The features you deliver work across the complete user journey and meet agreed acceptance criteria. Interfaces are consistent, responsive, accessible, and straightforward to use, helping users navigate business processes with confidence.
Behind the interface, backend functions and data models support reliable, efficient behavior and enforce the correct access boundaries. Changes are tested, reviewed, and released with care for how they affect connected modules and existing functionality.
You make steady progress, raise blockers early, and work with product and design to resolve questions before they become delivery problems. You take responsibility for features in production, using what you learn to improve their usability, performance, and reliability.
What you’ll get out of the role
The opportunity to own complete platform features, from the first requirements discussion through release and ongoing improvement.
Hands-on work with a modern TypeScript stack, including React, Next.js, and Convex.
Close collaboration with product and design, with room to contribute to both the user experience and technical implementation.
Varied engineering challenges across interfaces, backend logic, data modeling, integrations, and shared platform capabilities.
An international, collaborative environment with access to product, engineering, AI, and operations teams.
The opportunity to help shape a growing modular platform and see your work support real business operations.
If you enjoy building thoughtful user experiences and taking ownership across the full stack, we’d love to hear from you.