IMC
Amsterdam
I spent six months in the hardware team in Amsterdam. My project ran in three stages: building a design for a newer generation of hardware. Alongside the engineering, I learned how exchanges operate — how orders are matched, how prices are published, and why speed and predictability are worth engineering for.
I owned my part of the design end to end: I wrote the hardware descriptions, built the tests that proved they behaved correctly, investigated failures, and put the work through my mentor's review before it was merged. My mentor led design planning and provided technical guidance; the implementation and verification were mine.
Digital design in SystemVerilog, functional verification — testbenches, and assertions, regressions; waveform-level debugging, tracing a failure back signal by signal to its root cause; the FPGA build flow, including timing closure and resource usage; networking protocols, scripting, version control and code review.
Communicating engineering ideas to different audiences — diagrams and design walkthroughs for engineers, purpose and outcome for everyone else. Working in an international team spread across offices and time zones, which meant writing decisions down so colleagues could pick them up asynchronously. Planning and ownership: agreeing what I was building before building it, and giving realistic estimates. Managing time around long builds. Working productively while remote, and treating code review as a real feedback loop. I also learned a great deal about the financial domain the hardware serves.