We are looking for a Senior Java/Spring Developer (f/m) to join our team in Iberia and participate in a challenging international project.
The position is open in Barcelona, Madrid, Reus, and Andalucia. Would you be interested in joining us? Take on the challenge!
Requirements & Experience
1. Java
* Expertise in modern Java versions and language features (e.g., Java 17+).
* Mastery of Gradle for build management, including custom plugin development.
* Proficient in debugging and profiling (remote/local) complex applications.
* Extensive experience developing frameworks or libraries for internal or public use.
* Solid knowledge of Domain-Driven Design (DDD) principles and patterns.
* Expertise in OOP Fundamentals: Object vs Class, Code reuse, Replace conditions with polymorphism, SOLID principles.
2. Concurrency & Scalability
* Expertise in diagnosing and resolving race conditions in multi-threaded environments.
* In-depth knowledge of Java's concurrency features, including modern techniques (e.g., CompletableFuture, ExecutorService, virtual threads in Project Loom).
* Strong understanding and implementation experience with thread-safe design patterns, synchronization techniques, and non-blocking algorithms.
* Proven ability to optimize concurrent code for performance and scalability in high-traffic systems.
3. Clean Code & Best Practices
* Adherence to Clean Code principles, focusing on simplicity, readability, and maintainability.
* Ability to write self-documenting code and comprehensive unit/integration tests.
* Extensive experience conducting code reviews and promoting coding standards within a team.
* Proficient in API-first design approaches, including tools like OpenAPI.
4. Spring Framework / Spring Boot
* Expertise with both servlet-based and reactive REST APIs, including a deep understanding of request lifecycle.
* Strong understanding of RestTemplate and WebClient for service-to-service communication.
* Experience with creating custom annotations, aspects, and extending Spring Boot frameworks.
* In-depth understanding of JPA, JPA Auditing, Hibernate, L1/L2 caching, and advanced ORM optimizations.
* Expertise in Spring Security with OAuth2/OIDC, including client and resource service implementations.
* Solid experience in Spring Cache (local and distributed caching solutions).
5. Spring Cloud
* Advanced knowledge of Spring Cloud Streams and Spring Cloud Functions.
* Experience with Spring Cloud OpenFeign for service integration.
* Expertise in building resilient distributed systems with proven resiliency patterns.
* Proficient in Spring Cloud Config for centralized configuration management.
* Knowledge of distributed locking mechanisms, such as Redisson or Zookeeper.
6. Observability & Monitoring
* Expertise in distributed tracing, metrics, and logging (preferably with OpenTelemetry and Micrometer).
* Skilled in designing and implementing monitoring solutions for event-driven systems.
* Proficient in analyzing and optimizing application performance using monitoring tools.
7. Database Management
* Strong understanding of RDBMS (e.g., PostgreSQL, MSSQL) with hands-on experience in query optimization.
* Proficiency in schema design, including normalization, indexing, and database migrations.
* Familiarity with NoSQL databases and their appropriate use cases.
8. Architectural Patterns
* Deep understanding of application architecture styles and high-level design.
* Expertise in application design/composition and modular architecture.
* Proficient in designing and implementing microservices following best practices.
* Strong understanding of MVC, CQRS, Transactional In/Out-Box, SAGA, Actor models.
* Expertise in microservices communication patterns like Pub/Sub and event-driven design.
* Solid understanding of anti-patterns and how to avoid them.
9. Cloud-Native Development
* Proficient with Kubernetes for deployment, scaling, and service discovery.
* Experience with containerization tools (e.g., Docker) and orchestration strategies.
* Expertise in local development with Docker Compose or Podman.
10. Application Integration/Messaging Systems
* Extensive experience with messaging systems (e.g., AMQP, MQTT, STOMP, OpenWire).
* Strong knowledge of Spring Integration for application messaging workflows.
* Expertise in designing reliable, scalable messaging architectures.
11. DevOps
* Proficient with Git and version control workflows.
* Expertise in modern CI/CD pipelines, preferably with GitLab.
* Hands-on experience with Helm for Kubernetes deployments.
* Familiarity with Infrastructure as Code (IaC) tools like Terraform.
Technologies (Years for Self-Assessment)
* Java
* Java EE
* Spring (Core, Boot, Cloud Stream, Cloud Function)
* CDI
* MVC
* OPENAPI
* OPENFEIGN
* DDD
* OOD/OOP
* TDD
* CQRS
* OAuth2
* OIDC
* JDBC
* JPA
* AMQP
* IoC & DI
* AOP
* JPQL
* JWT
* SPEL
* PUB/SUB
* SOLID
* Micrometer
* OpenTelemetry
Soft Skills
* Strong ability to mentor and guide less experienced developers.
* Proficient in technical decision-making and architectural governance.
* Excellent communication skills to articulate trade-offs and solutions to stakeholders.
* Adaptability to evolving technologies and willingness to learn new paradigms.
* Strong collaboration skills with cross-functional teams to align technical direction with business goals.