Senior Scala Engineer
احفظ هذه الوظيفة وحافظ على تنظيم بحثك
قم بإنشاء حساب مجاني لحفظ الوظائف وإنشاء التنبيهات والعودة إلى هذه القائمة من لوحة التحكم الخاصة بك.
بالمتابعة، فإنك توافق على الشروط & سياسة الخصوصية.
We're Hiring: Senior Scala EngineerLocation: United Arab Emirates (Remote)Employment Type: Full-TimeExperience Level: SeniorWork Arrangement: Fully RemoteAbout UsWe are a globally focused organization committed to building scalable, reliable, secure, and high-performance software platforms across diverse markets.
Our engineering teams collaborate across Product, Software Engineering, Data, Platform, Cloud, DevOps, Security, Infrastructure, and Operations to develop resilient digital systems, data platforms, distributed applications, and services that support critical business operations and evolving customer needs.
The RoleWe are seeking an experienced Senior Scala Engineer to design, develop, test, optimize, and maintain scalable software applications and distributed systems using Scala.
The ideal candidate will combine strong Scala expertise with functional programming, concurrent and distributed systems, APIs, data processing, cloud-native engineering, and software architecture. The role will contribute to high-performance services, data-intensive applications, platform capabilities, technical standards, and engineering improvements while providing technical guidance to other engineers.
Key ResponsibilitiesDesign, develop, test, deploy, and maintain production-grade software using Scala.
Build scalable, reliable, secure, and maintainable Scala applications.
Translate complex business and technical requirements into robust software solutions.
Participate in application architecture, system design, and technical decision-making.
Develop backend services, APIs, microservices, and distributed applications.
Apply functional programming principles and idiomatic Scala development practices.
Use immutable data structures, pure functions, type safety, and composable abstractions appropriately.
Design concurrent and asynchronous applications using suitable Scala libraries and frameworks.
Develop high-throughput services capable of supporting demanding workloads.
Design and implement scalable distributed systems and service architectures.
Develop RESTful APIs and service interfaces.
Develop gRPC or other service-to-service communication mechanisms where appropriate.
Implement event-driven architectures and asynchronous processing workflows.
Work with messaging and streaming platforms such as Kafka or comparable technologies. Develop data-processing applications using Scala-based technologies. Work with Apache Spark and distributed data-processing frameworks where applicable.
Design efficient data-processing pipelines for large-scale datasets.
Optimize batch and streaming data-processing workloads.
Develop and maintain data ingestion, transformation, enrichment, and processing services. Work with relational and NoSQL databases.
Design efficient schemas, queries, transactions, indexes, and data-access layers.
Optimize database interactions and application-level data processing.
Implement caching and data-access optimization strategies.
Design systems for horizontal scalability, resilience, and fault tolerance.
Implement appropriate retry, timeout, circuit-breaker, backpressure, and graceful-degradation mechanisms.
Develop robust error-handling and recovery strategies.
Build services with clear boundaries, well-defined interfaces, and maintainable dependencies.
Develop authentication and authorization mechanisms for backend applications.
Apply secure coding principles and appropriate data-protection practices.
Collaborate with cybersecurity teams to identify and remediate application vulnerabilities.
Develop unit, integration, functional, and end-to-end tests.
Establish testing strategies for distributed, concurrent, and data-intensive applications.
Improve automated test coverage and software quality.
Conduct code reviews and provide detailed technical feedback.
Maintain high standards for code readability, maintainability, reliability, and testability.
Investigate production incidents, application failures, data-processing errors, and performance issues.
Perform root-cause analysis and implement permanent corrective actions.
Analyze logs, traces, metrics, application failures, and distributed-system behavior.
Implement observability through structured logging, metrics, distributed tracing, health checks, and alerting.
Work with DevOps and platform teams to improve application deployment and operational reliability.
Develop and maintain CI/CD pipelines for Scala applications.
Manage Scala build configurations using tools such as sbt and related build technologies. Maintain dependency management, build processes, packaging, and release configurations.
Support containerized Scala applications using Docker and Kubernetes where applicable.
Develop and operate