Careers at NetFM

We are a small software company. Not "small" in the way a big company describes one of its teams — genuinely small. Which means the code you write in your first month is code that real people at real organisations will use, not a training sandbox that gets thrown away.

Our software runs the car parks, front desks and visitor systems at places you have heard of. There is no layer of process between you and that. You will sit close to the people making the decisions, you will see your work go live, and you will find out quickly whether it worked — which is the fastest way anyone ever learns this job.

If you are a UK graduate and we can help you get real workplace experience, we will. We would rather talk to someone curious and unpolished than someone who has been coached to give the right answers. You do not need a first. You do not need a computer science degree. You do not need a portfolio of side projects. Bring the curiosity and we will work with you on the rest.

Our training programme is managed by our director of operations, Nici Hills. We are building out graduate and apprenticeship routes with an education-first approach — lively, hands-on, and rooted in the start-up ethos we have deliberately kept.

Start here — 15 minutes

Buckets of water

You have three buckets — small, medium and large — holding a, b and a + b litres, where a and b are coprime whole numbers and a ≤ b. The small and medium buckets start full. The large one starts empty.

You may pour from any bucket into any other, with one rule: once a pour starts it cannot stop until the source bucket is empty or the destination bucket is full. No half measures, no eyeballing it.

Whenever a and b are coprime you can always end up with exactly one litre sitting in a bucket. Call the smallest number of pours that gets you there P(a, b).

With 3, 5 and 8 litre buckets you start at (3, 5, 0) and can reach (1, 5, 2) in four pours — so P(3, 5) = 4. Two more, for calibration: P(7, 31) = 20 and P(1234, 4321) = 2780.

Now the actual question: how would you find P(a, b) for enormous a and b — numbers far too big to simulate a pour at a time?

Spend fifteen minutes on it. Then email us.

Set a timer. When it goes off, stop — even mid-thought — and email us what you were thinking.

We do not want a solution. We are not marking this. Nobody solves it in fifteen minutes and we would be a bit suspicious of anyone who claimed to. What we want to read is the honest shape of your thinking: what you noticed first, what you tried, where you got stuck, what you would reach for next if you had another hour, and what felt like the important question. "I got nowhere, but here is why the pouring rule bothers me" is a genuinely good answer.

Rough notes are perfect. Bullet points are perfect. A photo of a napkin is perfect. We will read it properly and reply — and from there, we will go from there. 🙂

Email your thoughts to nici@netfm.org →

Puzzle adapted from Project Euler problem 758, "Buckets of Water", restated in our own words. Project Euler is free, excellent, and has 900-odd more where that came from.

Not a graduate, or the puzzle is not your thing? Email Nici anyway at nici@netfm.org and tell us what you would like to learn. We are excited to be getting this started.