Job Openings Java Developer (Backend/Fullstack) - Porto (2 days/month on-site)

About the job Java Developer (Backend/Fullstack) - Porto (2 days/month on-site)

ABOUT THE OPPORTUNITY

Join a global custom software solutions company with 40 years of experience delivering innovative technology for clients worldwide. Positions available for talented Java/Kotlin Developers to work on a strategic project for a German client, focusing primarily on backend development with occasional full-stack contributions. Operating in a collaborative, flat management structure where you're valued as an integral team member, you'll work on cloud-ready services and RESTful APIs while enjoying exceptional flexibility with only 2 days per month (every 2 weeks) required in the Porto office.You'll own features end-to-end from database schema through service layer to deployment and monitoring, contribute to system design and architecture discussions, and raise the quality bar through code reviews, pairing, and knowledge sharing.

PROJECT & CONTEXT

You'll design and deliver cloud-ready microservices and RESTful APIs for a German client, working primarily with Kotlin and Java in the backend while having opportunities for occasional frontend work with Angular. The role emphasizes ownership—you'll be accountable for complete features including database schema design, service layer implementation, comprehensive testing, deployment automation, and production monitoring. Working with Spring Boot and Spring Framework for building enterprise-grade microservices, you'll leverage JPA and Hibernate for data persistence with solid SQL/JDBC experience required for schema design, complex queries, and updates. Your responsibilities include applying strong Object-Oriented design principles (polymorphism, inheritance, encapsulation) to create maintainable, scalable solutions, writing thorough tests using JUnit and similar frameworks, managing builds with Maven or Gradle, and collaborating using Git for version control. The position requires working closely with cross-functional teams to deliver impactful solutions, participating in architectural discussions that shape system design, and demonstrating engineering excellence through clean architecture, testing discipline, and observability. You'll balance outcome-driven work with collaborative feedback, choosing the right tools while keeping solutions simple and pragmatic.

WHAT WE'RE LOOKING FOR (Required)

  • Education: BSc in Computer Science, Software Engineering, or equivalent practical experience
  • Java Development Experience: 4-5+ years proven professional Java development experience in production environments
  • Object-Oriented Design: Strong OO design skills including polymorphism, inheritance, encapsulation, and SOLID principles
  • JVM Languages: Proficiency in Java and/or Kotlin for backend development
  • Spring Ecosystem: Hands-on experience with Spring Boot and Spring Framework for microservices and API development
  • Persistence Layer: JPA and Hibernate experience for data access and ORM
  • SQL/JDBC Skills: Solid understanding of relational databases including schema design, complex queries, and data updates
  • Testing Framework: Experience with JUnit or similar testing frameworks maintaining high test coverage
  • Build Tools: Proficiency with Maven or Gradle for dependency management and build automation
  • Version Control: Strong Git skills for collaborative development and code management
  • RESTful APIs: Experience designing and implementing REST APIs following best practices
  • Cloud-Ready Development: Building services designed for cloud deployment and scalability
  • End-to-End Ownership: Track record owning features from conception through production deployment and monitoring
  • Code Quality: Writing clean, maintainable code with emphasis on testing discipline and observability
  • Collaboration: Strong teamwork skills including code reviews, pair programming, and knowledge sharing
  • Accountability: Outcome-driven mindset with autonomy and responsibility for deliverables
  • Language: B2 English (Upper Intermediate) minimum - entire interview process conducted in English with solid proficiency required
  • Location: Based in Porto/Northern Portugal region with availability for 2 days per month (every 2 weeks) on-site

NICE TO HAVE (Preferred)

  • NoSQL Databases: Experience with MongoDB or other NoSQL database systems
  • GraphQL: Exposure to GraphQL for API development as alternative to REST
  • CI/CD Tools: Azure DevOps, Jenkins, or similar continuous integration/deployment platforms
  • Project Management: Familiarity with Jira or similar Agile project management tools
  • Frontend Skills: Web fundamentals including HTML5, CSS, and JavaScript for occasional full-stack work
  • Angular Framework: Experience with Angular for frontend development when needed
  • Legacy Systems: Knowledge of J2EE, JSP, MVC frameworks for maintaining brownfield systems
  • Microservices Patterns: Circuit breakers, service discovery, API gateways, distributed tracing
  • Containerization: Docker and Kubernetes for containerized application deployment
  • Cloud Platforms: Azure, AWS, or GCP experience for cloud-native development
  • Message Queues: RabbitMQ, Kafka, or similar messaging systems for asynchronous communication
  • Monitoring Tools: Prometheus, Grafana, ELK Stack for application observability
  • Security Practices: OAuth 2.0, JWT, API security, authentication/authorization patterns
  • Performance Optimization: Application profiling, performance tuning, and optimization techniques
  • Design Patterns: Deep knowledge of enterprise design patterns and architectural styles
  • Agile Methodologies: Experience working in Scrum or Kanban environments
  • Additional Languages: Kotlin advanced features, Scala, or other JVM languages
  • Database Technologies: PostgreSQL, MySQL, Redis, or other database systems
  • Brazilian or Portuguese nationality (company preference)

Location: Porto, Portugal (Hybrid - 2 days/month on-site, every 2 weeks)