بازگشت به فرصت‌ها
لوگوی ملی‌گلد | Melligold
جدیدEnglish

Senior Full-Stack Engineer

ملی‌گلد | Melligold·تهران·۳ روز پیش

حضوریارشدقراردادیتوافقی

ملی‌گلد | Melligold

شرح موقعیت

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. Experience Technical — Frontend Technical — Backend Technical — Across the stack Ways of working

مسئولیت‌ها

  • 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

نیازمندی‌ها

  • 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
  • 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
  • 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
  • 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
  • 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
  • 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