استخدام Senior Full-Stack Engineer
شرح موقعیت شغلی
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
مهارتهای مورد نیاز
- Full-stack
- Python
- typescript
- React
حداقل سابقه کار
- سه تا شش سال
جنسیت
- مهم نیست
وضعیت نظام وظیفه
- مهم نیست