Senior Java/Spring Developer (f/m)
Posted 7 days 23 hours ago by T-Systems Iberia
Permanent
Not Specified
Other
Andalucía, Spain
Job Description
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.