بازگشت به فرصت‌ها
لوگوی والکس | Wallex
English

Senior Software Engineer

والکس | Wallex·تهران·۱ هفته پیش

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

شرح موقعیت

Wallex is a FinTech company providing a secure cryptocurrency exchange platform and digital asset payment solutions. With a vision to become a leading global FinTech enterprise, Wallex is recognized as one of the largest cryptocurrency exchange platforms in Iran, supporting the online trading of over 130 cryptocurrencies. We are looking for a Senior Software Engineer with strong experience in Python or Go, Apache Kafka, distributed systems, and event-driven architecture to join our Market Making engineering team. You will design, build, and operate reliable, high-throughput backend systems that process real-time market data, trading events, orders, executions, positions, and risk-related information. This role goes beyond application development. You will contribute to system architecture, technical design, scalability, reliability, observability, and production engineering across the market-making platform. You will work closely with software engineers, DevOps/SRE engineers, and product stakeholders to build systems that remain correct and predictable under high throughput, network failures, duplicated events, exchange disruptions, and rapidly changing market conditions. Required Qualifications We build, not watch — This is where you belong!

مسئولیت‌ها

  • Design, develop, and maintain high-performance backend services using Python or Go.
  • Design and evolve event-driven and distributed system architectures.
  • Build and operate high-throughput event-processing pipelines using Apache Kafka.
  • Design Kafka topics, partitions, consumer groups, message schemas, and event contracts.
  • Integrate with external exchanges through REST APIs, WebSockets, and streaming interfaces.
  • Design reliable event-processing workflows with clear guarantees around:
  • Message ordering
  • Idempotency
  • Duplicate processing
  • Retry behavior
  • Offset management
  • Failure recovery
  • Event replay
  • Build asynchronous and concurrent systems for real-time workloads.
  • Identify and resolve race conditions, concurrency issues, and distributed-state inconsistencies.
  • Improve system throughput, latency, resilience, and resource efficiency.
  • Implement appropriate retry strategies, dead-letter handling, backpressure, timeouts, and circuit breakers.
  • Design state-reconciliation mechanisms between internal systems and external exchanges.
  • Build services that recover safely from process crashes, exchange disconnects, and infrastructure failures.
  • Develop and maintain APIs and internal service contracts.
  • Design and optimize data access using relational and analytical databases.
  • Use Redis or similar technologies for low-latency state management and caching.
  • Build production observability using:
  • Metrics
  • Distributed tracing
  • Structured logging
  • Dashboards
  • Alerting
  • Monitor and troubleshoot Kafka consumer lag, exchange connectivity, system latency, resource bottlenecks, and production incidents.
  • Write high-quality unit, integration, contract, and end-to-end tests.
  • Participate in architecture reviews and technical design discussions.
  • Perform code reviews and contribute to engineering standards and best practices.
  • Mentor engineers and help improve the technical quality of the team.
  • 5+ years of professional software engineering experience.
  • Strong production experience with Python or Go.
  • Strong knowledge of backend architecture and system design.
  • Hands-on production experience with Apache Kafka.
  • Strong understanding of Kafka concepts such as:
  • Topics and partitions
  • Consumer groups
  • Offset management
  • Message ordering
  • Delivery semantics
  • Consumer rebalancing
  • Consumer lag
  • Strong understanding of event-driven architecture and distributed systems.
  • Experience designing idempotent and fault-tolerant services.
  • Strong understanding of concurrency, race conditions, and asynchronous processing.
  • Experience working with REST APIs and WebSockets.
  • Strong experience with PostgreSQL, MySQL, or similar relational databases.
  • Experience with Redis or similar in-memory data stores.
  • Solid understanding of transactions, consistency, concurrency, and distributed state.
  • Strong understanding of failure handling and recovery in distributed systems.
  • Experience with containerized applications and familiarity with Kubernetes or similar orchestration platforms.
  • Experience building observable production systems.
  • Strong debugging and production troubleshooting skills.
  • Strong knowledge of software testing principles and automated testing.

نیازمندی‌ها

  • Python
  • Software Engineering
  • PostgreSQL
  • Golang