Whale Services · Tech Internship

Build the tools that build the software.

Position: Agentic Software Engineering Intern

You'll help build the platform our engineers use to develop software with AI agents — real projects on our roadmap, not practice exercises.

Team
Technology
Duration
You or your university set it
Location
Bangkok — Huai Khwang

Three projects

1 · Loop Engineering Platform

An AI agent writing code is only as good as the loop around it: give it a task, let it work, run the checks, feed the result back, repeat until the checks pass. Today every engineer wires that up by hand.

You'd build the platform that makes it reusable — a way to define a loop, run it safely, see every step it took, and measure which version works best.

Stack: TypeScript or Python · Git · Docker · LLM APIs

2 · Slack Agent for Software Delivery

Requests arrive where people already are — in Slack. "The export button times out on large files." Today a human copies that into a tracker and it waits.

You'd build a Slack bot that turns that message into a real code change: understand the request, run it through the platform from Project 1, and report progress back in the thread.

The goal is to automate as much of that path as we safely can. So the bot triages by risk — low-risk changes it can verify and ship on its own, anything bigger stops at a human gate for review. Deciding where that line sits, and proving it's in the right place, is the most interesting part of the project.

Stack: Slack SDK · TypeScript or Python · GitHub API · LLM APIs

3 · AI Scheduling Optimisation

Every service business answers the same question daily: who does which job, in what order? Get it wrong and technicians sit idle, or drive across the city twice, or miss a deadline. Today that's decided by hand, in a spreadsheet, by someone who's very good at guessing.

You'd build a scheduler that proposes the plan instead — balancing skills, location, travel time, priority and deadlines — and then prove it beats the manual version on real jobs.

The constraint that makes it interesting: it has to be general. The engine shouldn't know anything about technicians. Describe a different operation — its resources, skills and rules — and the same system should schedule that too.

Stack: Python · optimisation solvers · LLM APIs · real operational data

You'll own one of these and contribute to the others, depending on your interests.

Who we're looking for

You need

  • Code in any one language — Python, JavaScript, Java, Go
  • Basic Git: branch, commit, pull request
  • You can read English documentation
  • You say early when you're stuck

You don't need

  • A machine learning background
  • Work experience
  • A perfect GPA
  • To know what "agentic" means yet — most of the industry is still working that out
Demanding, but supported. You get a named mentor, a weekly 1:1, and code review on your work. We'd rather you ask ten questions a day than stall quietly for a week.

What to put on your resume

This is a software engineering role — backend and developer tools, with AI used as a tool. It is not machine learning research. Tailor toward the former.

One page is plenty. Two projects explained well beat ten listed. Don't worry about matching every keyword on this page.

How to apply

No fixed deadline — send your resume whenever you're ready, and tell us the dates your university needs.
  1. Send your resume as a PDF to careers@whale.services, subject "Tech Internship — your name".
  2. We'll get in touch and may arrange a talk or an interview if needed — mostly about what you've built and what you want to learn. No algorithm puzzles.

Not sure you're a fit? Send it anyway and say so in the email.

Email your resume