Job Openings Senior or Staff Java/Kotlin Developer - Remote Portugal

About the job Senior or Staff Java/Kotlin Developer - Remote Portugal

ABOUT THE OPPORTUNITY

Join a global software engineering company working on cutting-edge distributed systems and cloud-native architectures serving international clients. Position for talented Backend Engineers to build scalable microservices using modern JVM languages, cloud infrastructure, and event-driven architectures. Operating with complete remote flexibility from anywhere in Portugal, you'll work with a sophisticated technology stack combining Java and Kotlin for backend development, Terraform for infrastructure as code, Kubernetes for container orchestration, and Kafka for event streaming. This role offers the opportunity to work with GraphQL Federation for API composition, deploy applications on Azure Cloud, and contribute to systems designed for scale, resilience, and performance. As part of a collaborative engineering culture, you'll participate in architectural decisions, write production-grade code following best practices, and work alongside talented professionals who value quality, innovation, and continuous learning while enjoying the benefits of full remote work and competitive compensation.

PROJECT & CONTEXT

You'll design, develop, and maintain backend microservices using both Java (preferably newer versions like Java 17+) and Kotlin within a cloud-native environment. Your work will involve building event-driven architectures using Apache Kafka for real-time data streaming and asynchronous communication between services, implementing GraphQL Federation for unified API layer across distributed microservices, and leveraging Spring Boot for rapid application development with enterprise-grade features. Operating on Azure Cloud, you'll manage infrastructure using Terraform for declarative infrastructure provisioning and version control, deploy and orchestrate containerized applications on Kubernetes ensuring high availability and scalability, and implement CI/CD pipelines using GitHub for version control and automated deployments. The role requires understanding distributed systems principles, designing APIs that serve various client applications, writing comprehensive tests to ensure code quality and reliability, and participating in code reviews to maintain engineering excellence. You'll collaborate with cross-functional teams including frontend developers, DevOps engineers, and product managers to deliver features aligned with business objectives while ensuring system performance, security, and maintainability across the full development lifecycle.

WHAT WE'RE LOOKING FOR (Required)

  • Java Proficiency: Strong hands-on experience with Java for backend development (experience with newer versions like Java 11+ or Java 17+ is highly valued)
  • Kotlin Expertise: Solid practical experience developing applications with Kotlin, understanding Kotlin-specific features and idioms
  • Spring Boot: Proven experience building microservices and enterprise applications using Spring Boot framework
  • Terraform Skills: Hands-on experience with Terraform for infrastructure as code, provisioning cloud resources declaratively
  • Kubernetes Experience: Practical knowledge deploying, managing, and troubleshooting applications on Kubernetes clusters
  • Kafka Proficiency: Working experience with Apache Kafka for event streaming, message processing, and building event-driven architectures
  • GraphQL Federation: Understanding of GraphQL and experience with GraphQL Federation for distributed API architectures
  • Azure Cloud: Hands-on experience with Azure cloud services and cloud-native development patterns
  • GitHub: Proficiency using GitHub for version control, collaborative development, and CI/CD workflows
  • Microservices Architecture: Strong understanding of microservices design principles, patterns, and best practices
  • RESTful APIs: Experience designing and implementing REST APIs following industry standards
  • Testing Practices: Writing unit tests, integration tests, and maintaining high test coverage
  • Containerization: Understanding of Docker and container-based application deployment
  • Problem-Solving: Strong analytical and debugging skills for complex distributed systems
  • Code Quality: Writing clean, maintainable, well-documented code following SOLID principles
  • Language: B2 English (Upper Intermediate) minimum for team communication and documentation
  • Location: Based in Portugal with full remote work capability

NICE TO HAVE (Preferred)

  • Advanced Java Features: Deep knowledge of Java 17+ features, virtual threads, pattern matching, records
  • Kotlin Coroutines: Experience with Kotlin coroutines for asynchronous programming
  • Spring Ecosystem: Spring Cloud, Spring Security, Spring Data for comprehensive backend solutions
  • Infrastructure as Code: Additional IaC tools like Pulumi, ARM templates, or Bicep for Azure
  • Helm Charts: Kubernetes package management with Helm for application deployment
  • Service Mesh: Istio, Linkerd, or similar service mesh technologies for microservices communication
  • Advanced Kafka: Kafka Streams, KSQL, or Kafka Connect for stream processing
  • GraphQL Advanced: Schema stitching, Apollo Federation, or GraphQL performance optimization
  • Azure Services: Azure Kubernetes Service (AKS), Azure Service Bus, Azure Functions, Cosmos DB
  • Monitoring & Observability: Prometheus, Grafana, ELK Stack, Azure Monitor, Application Insights
  • Message Patterns: CQRS, Event Sourcing, Saga pattern for distributed transactions
  • Security Practices: OAuth 2.0, JWT, API security, Azure AD integration
  • Database Technologies: PostgreSQL, MongoDB, Redis, or other database systems
  • Performance Optimization: Application profiling, performance tuning, and optimization techniques
  • Design Patterns: Advanced knowledge of enterprise integration patterns and architectural styles
  • Functional Programming: Functional programming principles in Kotlin or Java
  • gRPC: Experience with gRPC for high-performance service-to-service communication
  • Testing Frameworks: JUnit 5, MockK, Kotest, TestContainers for comprehensive testing
  • CI/CD Tools: GitHub Actions, Azure DevOps, Jenkins for deployment automation
  • Agile Methodologies: Experience working in Scrum or Kanban environments

Location: Remote Portugal (work from anywhere in Portugal)