Senior Java Software Engineer

IT - Software / DB / QA / Web / Graphics / GIS

About the Employer

Job Description

Vacancy for Senior Java Software Engineer

LAUGS Eco Sri Limited is a BOI venture that commenced its journey with an entrepreneurial vision to pioneer air quality management in Sri Lanka. The company facilitates the government-run mandatory Vehicle Emission Testing (VET) program through a network of 238 customer touchpoints including 95 fixed centers and 142 mobile locations covering all regions in the country.

Key Responsibilities

  • Design, develop, enhance, and support enterprise-grade Java services and applications with a focus on reliability, scalability, maintainability, and security.
  • Design and implement microservices and service-oriented components, defining service boundaries, API contracts, ownership of data, and appropriate synchronous or asynchronous communication.
  • Build robust integrations with internal and third-party systems through REST APIs and messaging; manage payload validation, authentication, error mapping, versioning, timeouts, and backward compatibility.
  • Design queue-based and event-driven processing using technologies such as Azure Service Bus and RabbitMQ; define topics/queues, subscriptions, competing consumers, retry policies, dead-letter handling, message ordering where needed, and replay/recovery procedures.
  • Apply advanced Java concurrency concepts, including ExecutorService and thread pools, CompletableFuture, synchronization and locks, concurrent collections, atomic variables, Java Memory Model, thread safety, race conditions, deadlock prevention, and thread-dump analysis.
  • Diagnose throughput, latency, resource utilisation, thread contention, connection pool exhaustion, queue backlogs, and production incidents using logs, metrics, traces, profilers, and diagnostic tools.
  • Design and optimize SQL queries, indexes, transactions, connection pooling, and query execution; understand the data consistency implications of distributed services.
  • Establish engineering standards for code quality, unit and integration testing, API documentation, code reviews, secure coding, and automated quality checks.
  • Build and support deployments on Microsoft Azure using relevant services such as Azure App Service, Azure Service Bus, Azure SQL, Key Vault, Application Insights, Azure Monitor, and Azure DevOps pipelines; container or AKS experience is beneficial.
  • Provide technical leadership through solution design, design reviews, mentoring, estimation, root-cause analysis, and collaboration with QA, infrastructure, security, vendors, and business stakeholders.

Candidate Profile

  • 4+ years of professional software development experience, including substantial hands-on Java backend development and practical experience with integrations, concurrency, messaging, or distributed services.
  • Degree or equivalent qualification in Computer Science, Software Engineering, Information Technology, or a related discipline.

Required Technical Skills

  • Strong hands-on experience with Java 11 or later, including OOP, collections, generics, streams/lambdas, exception handling, JVM, garbage collection, memory management, and performance tuning.
  • Advanced practical knowledge of Java multithreading and concurrency; executors, thread pools, CompletableFuture, synchronization, locks, concurrent data structures, memory visibility, race conditions, deadlocks, and safe shared-state design.
  • Practical experience designing or operating microservices, including service boundaries, API contracts, configuration, resilience, observability, and independent deployment.
  • Hands-on experience with message queues or event brokers such as Azure Service Bus, RabbitMQ, or Kafka, including asynchronous consumers, retries, deduplication, and failure handling.
  • Strong integration experience with REST APIs, HTTP(S), OAuth2/JWT or equivalent authentication concepts, API versioning, and secure service-to-service communication.
  • Strong SQL and relational database skills including query tuning, indexing, transactions, and connection management.
  • Proficiency with Git workflows, pull requests, code reviews, branching, and conflict resolution.
  • Experience with Azure application hosting, secrets/configuration management, monitoring, diagnostics, and CI/CD fundamentals.
  • Experience with automated unit, integration, and contract testing using JUnit, Mockito, and suitable test tooling.

Core Competencies

  • Strong analytical thinking and structured problem-solving, including investigation of concurrency and distributed-system failures.
  • Ability to make and communicate architecture and technology trade-offs clearly.
  • Ownership, accountability, attention to detail, and collaborative delivery.
  • Ability to mentor engineers and provide constructive, technically grounded code-review feedback.

If you are confident that you have the right skills, knowledge, attitude and passion to grow with us, please forward your resume to [email protected] within 7 days of this notice, starting two non-related referees. Please mention the post applied for in the subject line.