Senior Java Software Engineer

Dautom Tech — United Arab Emirates · Posted ~1 day ago

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Description

Role Overview We are hiring an experienced Senior Software Engineer to design, build and maintain high-performance, secure Java back-end systems for a large-scale digital services platform. You will work end-to-end – from solution design through implementation, testing and production support – collaborating with product managers and cross-functional teams to deliver reliable, scalable services and well-designed APIs. Work Location: Sharjah Experience: 8+ Years Notice Period: Immediate to 30 Days UAE based candidates only Key Responsibilities • Design and develop high-performance, scalable back-end systems and effective APIs. • Build and maintain well-functioning databases and applications. • Implement security and data-protection controls across services. • Write clean, maintainable, well-tested code; debug and resolve production issues. • Produce clear technical documentation and participate in code reviews. • Communicate with stakeholders and service providers to align technical requirements. • Stay current with tools and practices to continuously improve the back-end platform. Essential Requirements (Must-Have) Education & experience • Bachelor’s or Master’s degree in Computer Science or a related field. • 5+ years’ hands-on software engineering experience at a senior level. • Strong CS fundamentals: algorithms, data structures, OOP, design patterns, software architecture, database design and UML. Core backend • Java (11+) and Spring Boot – current, hands-on, build-level experience (not architecture/oversight only). • Oracle Database – SQL and PL/SQL, indexing, query tuning and reading execution plans. • REST and SOAP web services – designing and consuming both. • API security – JWT (access vs refresh tokens), Spring Security, and OAuth2 / OIDC. • Oracle WebLogic and Apache Tomcat – deployment, tuning and troubleshooting on application servers. Distributed systems, messaging & resilience (primary assessment area) • Apache Kafka or RabbitMQ and event-driven architecture. • Transactional outbox pattern for save-and-publish consistency. • Idempotent consumers and duplicate-message handling (unique key + de-duplication). • Resilience patterns – circuit breaker, retry with back-off, fallback, bulkhead and rate limiting (e.g. Resilience4j). • Distributed locking for scheduled jobs across multiple instances/pods (e.g. ShedLock, Redis or leader election). • SOA and microservices architecture; awareness of CQRS. Performance & concurrency • Diagnosing latency when CPU is low (thread- and connection-pool exhaustion, GC, blocking I/O). • Query optimisation, avoiding full table scans, and resolving the N+1 problem (fetch join, entity graph, batching). • Optimistic vs pessimistic locking and handling race conditions. • Memory-leak diagnosis using heap dumps and profilers