Senior Fullstack Engineer
We're looking for a senior engineer to take ownership of significant parts of our product — frontend and backend — not just implementing tickets, but shaping how we build. You'll make architectural decisions, set patterns other engineers follow, and mentor the people around you.
This is a hands-on role. You'll still write code most days. But you'll also be the person who decides how a feature should be structured across the stack, catches the design problem before it ships, and pushes back when something doesn't hold up — whether that's a component that's about to become unmaintainable or a transaction boundary that won't survive contact with real money.
We build a B2B/B2C gold-trading platform: wallets, order matching, double-entry ledgers, physical-inventory tracking, and integrations with external pricing and accounting systems. The problems are real, the data is real, and correctness isn't optional.
What you'll do
- Lead the technical design of major features end to end — define the approach, break it down across frontend and backend, and see it through to production
- Build interfaces in React and TypeScript that hold up under real usage and real data
- Build backend services in Kotlin/Spring Boot — well-shaped APIs, correct transaction boundaries, and data models that stay sane as the domain grows
- Own the seam between frontend and backend — API contracts, error semantics, pagination, and the async flows that connect them
- Own performance across the stack — bundle size, render behavior, and load times on the frontend; query plans, N+1s, and throughput on the backend, plus the measurements that tell you whether it's actually improving
- Set and maintain engineering standards — component patterns, folder/module structure, typing conventions, service and transaction patterns, and testing strategy
- Guard correctness where it counts — idempotency, consistency, and safe handling of money and inventory
- Review code with real depth, and give feedback that helps people grow
- Mentor mid-level and junior engineers through pairing, code review, and design discussions
- Work directly with design, product, and other engineers to shape requirements before implementation starts, not after
- Contribute to technical planning and help the team decide what's worth building and in what order
What we're looking for
Experience
- 5+ years building software professionally, with meaningful time on complex, long-lived products
- Track record of owning a feature or system end to end — frontend through backend, including the parts that went wrong
- Comfortable operating across the stack: you may lean one way, but you're not a stranger on the other side
Technical — Frontend
- Deep React knowledge: hooks, rendering behavior, state-management trade-offs, and when a component should be split or shouldn't be
- Strong TypeScript: generics, utility types, and the judgment to know when strictness helps and when it's ceremony
- Fluent JavaScript, including the parts people avoid: async behavior, the event loop, closures, memory
- Solid browser fundamentals, accessibility, and responsive layout
Technical — Backend
- Strong Java/Kotlin on the JVM with Spring Boot — you understand dependency injection, the request lifecycle, and where the framework helps vs. gets in the way
- Real database competence: you can read a query plan, understand transactions and isolation, spot an N+1, and design a schema and its migrations to evolve safely (we use PostgreSQL, JPA/Hibernate, and Flyway)
- API design judgment — you design endpoints and contracts that are hard to misuse, with clear error and pagination semantics
- Comfort with async and messaging — queues, retries, idempotency, and eventual consistency (we use RabbitMQ); you know when a call should be synchronous and when it shouldn't
- Instinct for correctness under concurrency — race conditions, double-spends, partial failures, and how to make an operation safe to retry
Technical — Across the stack
- Experience with modern tooling — bundlers, linters, build systems, CI pipelines — and comfort configuring them, not just using them
- Testing as part of how you work: unit, integration, and enough end-to-end to trust a release
Ways of working
- You can explain a technical decision to a non-technical stakeholder without condescending or oversimplifying
- You raise problems early rather than working around them quietly
- You write clearly — specs, PR descriptions, and async updates
- You're comfortable disagreeing with a decision and then committing to it
Nice to have
- Next.js in production — App Router, server components, SSR/ISR, and the caching behavior that comes with them
- Experience with modular monoliths or service decomposition — module boundaries, and knowing where a seam belongs
- Fintech, payments, ledger, or other domains where correctness and money are on the line
- Experience introducing or maintaining a design system
- Frontend performance work backed by real metrics (Core Web Vitals, profiling)
- Monorepo / multi-module build experience
- Contributions to open source, technical writing, or internal tooling
مجموعه یارا تجارت الکترونیک بنیان (ملی گلد)، که بهطور تخصصی در زمینه فناوریهای نوین مالی فعالیت میکند. عمده فعالیت این شرکت در حوزه اقتصاد دیجیتال، بلاکچین، فناوری اطلاعات، فناوریهای پرداخت الکترونیک و همچنین صنعت طلا و جواهر میباشد.