Senior Java /Kotlin Backend Engineer
Hays
Barcelona, Spain
5 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Remote
Barcelona, Spain
Tech stack
Java
Agile Methodologies
Automation of Tests
Google BigQuery
Github
Java Virtual Machine (JVM)
MongoDB
NoSQL
Scrum
Google Cloud Platform
Backend
Kotlin
Event Driven Architecture
Containerization
Git Flow
Kubernetes
Functional Programming
Terraform
Docker
Microservices
Job description
- Design, implement, maintain and operate robust backend services to support scalable and reliable applications for our Customer & Marketing environment using Kotlin (or Java instead)
- Utilize infrastructure tools such as Terraform, Kubernetes, GitOps with Flux, and Docker to build and manage scalable systems
- Develop CI/CD pipelines using GitHub Actions to ensure smooth and efficient deployment processes
- Work with Google Cloud products including BigQuery, GKE, PubSub and MongoDB Atlas to enhance and optimize cloud-based applications
- Employ test frameworks like Kotest and libraries like Testcontainers to ensure high-quality, reliable code
- Contribute to the continuous improvement of our development processes and code base while working with the methods of agile software development such as Scrum or Kanban
Requirements
- 5+ years of professional experience as a software developer
- Experience with Kotlin (JVM) for backend development
- Extensive knowledge in server-side backend development
- Hands-on experience with event-driven architecture and GCP Pub/Sub
- Solid knowledge of NoSQL databases, particularly MongoDB
- General understanding of containerisation and orchestration technologies such as Docker and Kubernetes, preferably with hands-on experience
- Experience with IaC using Terraform is a plus
- Experience with Ktor as web-framework is a plus Familiarity with Arrow as a functional programming library is a plus
- Familiarity with the concept of coroutines in Kotlin is a plus