PH - Spring Boot Software Engineer (Contract)

Working at Thinking Machines Thinking Machines is a technology consultancy building AI & data platforms to solve high impact problems for our client. Our vision is for Southeast Asia to become a global hub for data science. To do that, we create data cultures, one organization at a time.

We’re a company made up of intellectually curious, civic-minded, forever-learning individuals. We believe that great data science products are built with care for people, and that the best way to drive inclusive innovation is to start with a diverse team.

Our field of work is incredibly dynamic, so we want to work with people who are committed to growing with us. We want to hire people who can demonstrate an ability to learn, then provide them with personalized coaching, growth opportunities, and a great working environment to get them to world-class.

Role Description As a Spring Boot Software Engineer , you will be working with our team to create and maintain web applications that our clients use to interact with our machine learning solutions and data platforms. Throughout the engagement, your goal will be to deliver reliable, maintainable, and high-quality solutions that create meaningful value for our clients.

You will be involved in designing, developing, and maintaining both frontend and backend components . While this role has a strong emphasis on Spring Boot development and maintenance

, you should be comfortable working across the application stack to support client solutions . You must be comfortable working with APIs — expect to build applications that consume both internal and external APIs.

Throughout the engagement, you may work on building new features, maintaining existing applications, enhancing system capabilities, resolving production issues, and improving the reliability and performance of established systems .

Across the board, you are expected to have great code hygiene. Readable, documented code is at the core of our collaborative projects. Even better if you are already routinely testing your code. Finally, it is very important that you are comfortable using version control systems (ideally git) and contributing to codebases that are actively maintained by multiple engineers.

This opportunity is offered as a fixed-term contract engagement. Role Requirements We're looking for someone who:

  • Has 3+ years of hands-on experience developing and maintaining applications using Spring Boot.
  • Is a strong independent contributor who can take ownership of work, navigate ambiguity, and deliver with minimal supervision.
  • Has experience developing and maintaining both frontend and backend components of web applications.
  • Enjoys coding and has great code hygiene: You must be very comfortable with writing and explaining code. In addition, you must be able to write clean, clear, and maintainable code as you are not the only one who will read and work on your code.
  • Has demonstrated experience working with:
  • Spring Boot
  • some or all of our usual tech stack (i.e., Python, JavaScript, React, Django, Flask, FastAPI, Airflow, Dagster)
  • any SQL/NoSQL databases (e.g., PostgreSQL, Elasticsearch)
  • cloud computing platforms (e.g., AWS, GCP, or Azure)
  • APIs and system integrations
  • git
  • Has strong communication skills: You'll be explaining things during most conversations either internally or externally, and with both technical and non-technical audiences. Therefore, you need to know how to communicate clearly depending on who you're talking to. Documenting your code is a given, and you should be comfortable writing technical documentation when needed.
  • Makes things fast: Time is our most precious resource. You can always throw money at things to make them faster, but that's not very engineer-y.
  • Builds sustainably: It's okay to labor over a new thing once or twice, but if we have to do it a third time, we need to think about how to scale it with less effort. Suggest best practices, create reusable patterns, and contribute to maintainable solutions.
  • Has high initiative: Sometimes, the team won't know that they need you. You need to be aware of the projects people are working on, proactively identify issues and opportunities, and support the team when applicable.

Engagement Terms
  • Competitive professional fee — the fee amount is positively correlated with the difficulty of the job, relevant experience, fit, and skill factors.
  • Remote Set-Up — fully remote, with a strong emphasis on ownership, asynchronous collaboration, and output-driven work.
  • Opportunity to collaborate closely with our engineers and su
Back to blog

Other Jobs To Apply

No other job posts for this day.

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...