The 2009 Profile That Wouldn't Die

Search the internet hard enough and you’ll find me at twenty-nine, declaring “for 2 years already I work successfully as a free lancer” on a freelancer.com profile that has been continuously online since June 5, 2009.

The grammar is doing a lot of work in that sentence. It is also charmingly broken.

I never used the platform. The profile sits there, gathering Wayback Machine entries, with a 0% job-completion rate — not because the work was bad, but because I always had a real job and the profile was a placeholder that someone, maybe me, set up during a slow Sunday and forgot. My hourly rate is listed as $30 USD. It has been $30 USD for sixteen years. The internet does not know about inflation.

The profile is its own time capsule. The skill list reads like a 2010 Java conference speaker bio:

PostgreSQL, MySQL, Oracle, Java, C#, JavaScript, AJAX, JSF, Tomcat, JBoss, Apache Wicket, Hibernate, Spring, WPF, Entity Framework, LINQ, jQuery, XSLT, XML, Git, Subversion, Linux

The trading section reads like a different time capsule:

NinjaTrader indicators, MetaTrader expert advisors, C# TCP/IP client-server applications

Even the tagline screams 2010s: “Java, JEE, C#, RnD, Trading, Ninja Trader Indicator developer.” Notice the comma-separated personal-brand approach. Every word capitalised. “RnD” instead of “R&D” because something somewhere stripped the ampersand. “Ninja Trader” because freelancer.com’s autocomplete didn’t know it was one word.

For the historical record, here is what twenty-nine-year-old me thought worth advertising:

  • A master’s thesis on “Coordinating and Controling [sic] ActivMedia Robots using the Java Platform.” Spelled exactly that way, typo and all. ActivMedia made educational robots — the Pioneer P3-DX with a sonar ring and a pair of motorised wheels. Nobody fits an autonomous-driving stack on it; we just made it not bump into walls.
  • 2010-2011: MoneyBookers (now Skrill, owned by Paysafe), where the team I joined wrote payment-routing decisions as Fitnesse acceptance tables. Hundreds of rows: pay €X from country A with card-type B, expect routing through bank C. The Fitnesse runner exercised the production code paths and turned every row green or red. I’d come back to that pattern fifteen years later, written up properly. (Long-form here and implementation here; I won’t relitigate it in this post.)
  • 2008-2010: Allied Pickfords South-East Europe, ERP system. Office moves, household relocations, customs paperwork, container manifests, a sea of acronyms describing different ways a piano can travel. I did not know at the time that I’d come back to the relocation industry — fifteen years later I’m running a shipment-and-customs platform for individuals moving abroad, doing roughly the same job for a different audience and a different decade. Same boxes. Same forms. Different stack.
  • A trading-platform sub-career: indicators for NinjaTrader, expert advisors for MetaTrader, C# TCP/IP servers piping market data into and out of charts. This was 2009-2011. Every junior dev with a Bloomberg-terminal fascination had a side hustle building these. Most of them were terrible.

Twenty-nine-year-old me also thought it was reasonable to include the master’s thesis title on a profile selling industry work. It probably wasn’t reasonable. It also probably didn’t matter, because as established, nobody hired me through this profile.

Why am I writing about this?

Because the internet has receipts, and the receipts are useful even when they’re embarrassing. Two thirds of the technologies in that skill list are now legacy. The tagline was already trying too hard in 2010. The job-completion percentage will tell anyone who actually reads CVs that I never took the platform seriously.

But the patterns on that profile — acceptance-table testing for high-stakes decision routing; ERP for a niche industry with weird taxonomy; control loops for autonomous ground vehicles; algorithmic trading at the indicator level — those are where my current work comes from. None of it was wasted. The Fitnesse tables at MoneyBookers turned into Setpoint Evals fifteen years later, run by a coding agent instead of a QA team. The Allied Pickfords ERP turned into a clearer view of “every relocation has one weird requirement.” The robotics work taught me that a real-time loop is just a real-time loop, whether the input is sonar pings or sensor readings or LLM token streams.

I’m not going to update the profile. It’s a fossil and it deserves its own museum case. But every once in a while someone googles me and finds it, and now they have the context for that.

The freelancer.com profile says I can code Java. It has been saying so since 2009. The internet hasn’t let me forget. And looking back, the work I claimed I did then is the work I’m still doing now — just with a different controller in the loop.

🤖 Built with Valko — voice-driven AI coding.

This post is not part of the Setpoint Evals theory series — it’s a personal-history aside that happens to share an industrial-precedent paragraph with The Setpoint Problem. Read the theory there; read the implementation in Setpoint Evals; if you want to see what twenty-nine-year-old me thought a CV was, the link is at the top of this post.

← Back to all posts