Full Stack Engineer

thinkproject
Utrecht, Netherlands
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Shift work
Languages
English
Experience level
Senior

Job location

Utrecht, Netherlands

Tech stack

Java
API
Artificial Intelligence
Component-Based Software Engineering
Automation of Tests
Google BigQuery
Cloud Computing
Cloud Storage
Configuration Management
Software Quality
Code Review
Continuous Integration
Data Security
Data Warehousing
Software Debugging
Distributed Systems
Python
Next.js
Software Deployment
Software Engineering
Systems Integration
TypeScript
Web Applications
Scripting (Bash/Python/Go/Ruby)
Google Cloud Platform
Test Driven Development
Data Ingestion
React
System Availability
Snowflake
Spring-boot
Technical Debt
Backend
Event Driven Architecture
Material Design
Kafka
GraphQL
Tools for Reporting
Front End Software Development
React
Api Design
REST
Code Restructuring
Data Pipelines
Spring Batch
Serverless Computing
Microservices

Job description

We are hiring a Senior Full Stack Engineer (f/m/d) to build and evolve the analytics and data applications that serve our customers and internal teams - and to lead the modernisation of the legacy Java/Spring Batch ingestion layer that currently underpins them.

This is a highly hands-on role with breadth across backend (Java/Spring, Python), frontend (TypeScript/React), cloud (GCP, Cloud Run, GKE), and data. You will own features end-to-end: from design through implementation, deployment, and production operation.

The Spring Batch modernisation is the most technically substantive challenge in this role. You will be inheriting legacy ingestion services that need to be redesigned, migrated to cloud-native GCP architecture, and retired cleanly - without disrupting the analytics applications that depend on them. That's the real work, * Design, build, and operate enterprise analytics portals that integrate with modern visualization and reporting platforms

  • Build self-service data access applications for internal and external customers
  • Develop administration portals for data onboarding, configuration management, and platform administration
  • Implement secure, scalable, and maintainable application components for a global customer base
  • Build and maintain APIs consumed by analytics applications, administration tools, and third-party integrations

Platform Modernisation

  • Maintain, enhance, and progressively retire legacy Spring Batch and Java-based ingestion solutions
  • Design and implement modern cloud-native replacements using GCP services (Cloud Run, Pub/Sub, GKE) where appropriate
  • Reduce technical debt systematically - not just keep it at bay
  • Improve platform reliability, scalability, and operational efficiency as part of modernisation work
  • Contribute to architecture decisions on the migration target state

Full Stack Engineering

  • Develop modern web applications using TypeScript and React - from component design to production deployment
  • Build backend services, REST APIs, and integrations in Java (Spring Boot/Spring Batch) and Python
  • Implement event-driven integrations where the architecture requires it
  • Build reusable libraries, components, and tooling that improve productivity across the team

Software Engineering Excellence

  • Apply test-driven development, code reviews, CI/CD, and automated testing as default practice
  • Produce high-quality, maintainable, and well-documented software
  • Participate in architecture discussions and contribute to component-level design decisions
  • Continuously improve engineering standards and code quality across the team

AI-Assisted Engineering

  • Use AI-assisted development tools (OpenCode, Claude Code, or equivalent agentic coding platforms) to accelerate implementation, testing, refactoring, and documentation
  • Maintain full engineering accountability for delivered software - AI tooling accelerates your work; it doesn't replace your judgment, * Fully onboarded on the analytics application stack, Spring Batch ingestion layer, and GCP infrastructure
  • First frontend or backend contribution shipped to production
  • Spring Batch modernisation scope and target architecture understood

In 90 days

  • Own at least one analytics portal feature end-to-end - from design through production deployment

  • First Spring Batch modernisation milestone delivered: one legacy service migrated or retired

  • Contributing to architecture decisions on the migration target

In 6 months

  • Major analytics portal capability delivered and in production
  • Meaningful reduction in Spring Batch legacy footprint
  • Observability and reliability improvements shipped across at least one component

In 12 months

  • Multiple analytics portal capabilities delivered with full engineering ownership
  • Spring Batch modernisation significantly advanced - legacy footprint materially reduced
  • Junior engineers mentored and growing; engineering practices stronger across the team

The 3 Must-Haves

  1. Java + Spring Boot/Spring Batch production depth - you can maintain, extend, and migrate real Spring Batch jobs; this is not negotiable and cannot be learned on the job here
  2. TypeScript + React in production - not side projects; shipped, maintained applications that real users depend on
  3. GCP cloud-native deployment experience - Cloud Run and/or GKE in production; you understand how cloud-native services behave under load and failure

You might be a fit if

  • You have maintained a legacy Java codebase and understand the difference between refactoring it carefully and breaking it
  • You enjoy owning both the frontend and the API layer - you don't wait for a backend engineer to build what you need
  • You find the Spring Batch * cloud-native migration problem interesting rather than daunting
  • You have strong opinions about API design and can explain them clearly

You're probably NOT a fit if

  • Your Java experience is primarily greenfield microservices - Spring Batch specifically requires different experience
  • Your frontend work has been UI components and design systems, not complete web applications with API integration
  • You prefer deep specialisation in one layer over breadth across the stack
  • You need a stable, well-defined architecture to work within - the modernisation path is still being shaped

What we offer

GCP certification sponsorship | Hybrid working | Work from abroad | Flexible working hours | Udemy Access | Thinkproject Academy | Free English lessons | Unlimited learning | Headspace community access | Women's Network | Corporate volunteering | Social events | Open forum with the Leadership Team (TP Café)

Requirements

  • You are a strong full stack engineer with Java/Spring depth on the backend and TypeScript/React on the frontend - and you have worked in cloud-native environments on GCP. Specifically:
  • 8+ years of professional software engineering experience
  • Strong Java proficiency - Spring Boot and Spring Batch in production; you can read, debug, and extend Spring Batch jobs under real production pressure
  • Strong Python proficiency - backend services, data pipelines, scripting
  • Strong TypeScript and React proficiency - building production-grade web applications, not component libraries in isolation
  • Strong REST API design and implementation experience
  • Strong GCP experience - Cloud Run and GKE in particular; you have deployed and operated services on these platforms
  • Strong understanding of distributed systems concepts, microservices architecture, and API design principles
  • Experience with CI/CD pipelines and modern software delivery practices TDD, automated unit and integration tests, and code review as standard practice
  • Experience troubleshooting production systems and leading root cause analysis

Nice-to-Have (Bonus Skills)

  • Event-driven architecture experience (Pub/Sub, Kafka, Cloud Storage triggers)
  • Redux or modern state management framework experience
  • GraphQL experience
  • Next.js experience
  • Data warehousing concepts and data modelling (BigQuery, Snowflake)
  • Experience building internal enterprise platforms or administration portals
  • Experience leading technical initiatives or mentoring junior engineers
  • Experience working in globally distributed engineering organisations

Soft Skills

  • Ownership mindset - you drive work to completion without being managed
  • Comfortable with technical ambiguity - the Spring Batch modernisation does not have a finished design; you will help define it
  • Strong communicator across technical and non-technical stakeholders
  • Mentors naturally - you invest in the growth of engineers around you
  • Balances delivery speed with software quality - you know when to move fast and when to slow down

About the company

thinkproject was founded in 2000 in Munich, Germany. Since then, the company has grown into the leading provider for cross-enterprise collaboration and information management in Europe.

Global customers from the construction and engineering industries are served from thinkproject’s home base in Munich and via a range of subsidiaries across Europe.

thinkproject addresses today’s digitization challenges in construction and engineering by providing state-of-the-art software solutions as well as industry expert consulting and services.

Apply for this position