Senior Full-Stack Engineer (Java|React) (f/m/d)

Senior Full-Stack Engineer (Java|React) (f/m/d)

05 Aug
|
Thinkproject Holding
|
India

05 Aug

Thinkproject Holding

India

Pune (IND)
Software Development
Fulltime
Published: 2026-07-15
What do we do?

Thinkproject is the leading platform for construction and infrastructure information management — used by engineering, construction and operations teams across Europe, the Middle East, and APAC to manage complex built assets across their entire lifecycle.

Our platform connects 9 products into a unified data ecosystem: document control, BIM coordination, field execution, asset management, and AI-powered project intelligence. Our customers include major infrastructure owners, contractors and engineering firms managing some of the most technically demanding projects in the world.

The analytics applications you will build are how our customers and internal teams understand, interact with, and act on the data our platform collects. They are the user-facing layer of the data ecosystem.

What your day will look like

About the Role
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

Time allocation (approximate):
~40% analytics application development (frontend + backend) | ~30% Spring Batch modernisation and cloud-native migration | ~15% platform reliability and operations | ~15% architecture, documentation, and mentoring

Key Responsibilities
Analytics & Data Applications

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
What you need to fulfill the role





Required Skills & Qualifications

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 contemporary 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

What success looks like
In 30 days

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é)

If you join us in Pune, you will own meaningful work across the full stack — not be a specialist locked into one layer. The Spring Batch modernisation is real technical debt that needs a real engineer, not a workaround.

Your contact:
Preethika Ramdass

Please submit your application, including salary expectations and potential date of entry

Submit your CV and a short written answer (max 250 words) to:
"You are inheriting a Spring Batch job that runs nightly, processes 500k records, and has no tests. The team wants to migrate it to a cloud-native GCP solution. Walk me through your first two weeks."

Working at thinkproject.com - think career. think ahead.

#LI-PR1

#LI-Hybrid

#content_zone { max-width: 834px; } #scheme_detail_data { width: 100%; display: table; margin-bottom: 10px; } .scheme-border { border: 1px solid rgba(220,223,226,0.8); } .scheme-margin { margin-top: 10px; } .scheme-display .scheme-content { font-size: 16px; padding: 14px 24px; background-color: #ffffff; line-height: 1.6; } .scheme-display .scheme-title { word-break: break-word; } .scheme-display .scheme-title h2 { margin: 0px; font-size: 28px; line-height: 2; padding: 0px; } .scheme-display .scheme-title ul { margin-bottom: 16px; } .scheme-display .video { width: 100%; height: 400px; } .scheme-display h2.scheme-headline { margin: 0px 0px 18px 0px; padding: 0px; } .scheme-display .content-images { position: relative; overflow: hidden; display: block; box-sizing: border-box; padding: 0px; } .scheme-display .content-images: not(: has(.content-images-frame)) { height: 335px; } #header_image { display: none; } #jobTplContainer ul.scheme-additional-data { margin-bottom: 0px; min-width: 40%; } .scheme-additional-data { float: left; margin: 0; padding: 0; list-style: none; } .scheme-additional-data li { list-style: none; margin: 4px 15px 0px -3px !important; } .scheme-additional-data li.left { float: left; } .scheme-display .slide-images: nth-child(2), .scheme-display .slide-images: nth-child(3) { display: none; } .scheme-display .slide-images { width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); } .scheme-display .content-images-frame { position: relative; width: 100%; height: 335px; overflow: hidden; } .scheme-display .content-images-description { display: block; text-align: left; font-size: 1rem; line-height: 1.4; color: #000; padding: 8px 24px; border-bottom: 1px solid rgba(220,223,226,0.8); } .scheme-content .user-image { width: 100px; height: 100px; border-radius: 50%; float: left; line-height: 100px; background: no-repeat center center; background-size: cover; } .scheme-content .user-data { height: 100px; margin-left: 80px; } .scheme-content .user-data li { list-style: none; } i.fa-fw { margin-right: 5px; margin-left: 5px; } @media (max-width: 768px) { .scheme-additional-data li { display: block; float: none; } .scheme-display .content-images { height: 250px; } } @media (max-width: 650px) { .scheme-display .content-images { height: 250px; } } @media (max-width: 450px) { .scheme-display .content-images { height: 133px; } } #frame_zone { background-color: #ffffff; }

📌 Senior Full-Stack Engineer (Java|React) (f/m/d)
🏢 Thinkproject Holding
📍 India

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: senior full-stack engineer (java|react) (f/m/d) / india

Subscribe to this job alert:

Get the latest job offers by email for: senior full-stack engineer (java|react) (f/m/d) / india