In autumn 2019 Xilinx acquired Solarflare and I decided the move on.

Three main reasons motivated my decision,

[1] As an open source contributor and mentor, Xilinx s Intellectual Property contract was not acceptable and interfered with my personal life

It stated that all employee IP is automatically owned by Xilinx, with the implication that I need to ask permission to release my own code as open source or give it away to someone else (e.g. in a mentoring situation). Xilinx were surprisingly open to discussing concerns about this and when I left they were still engaged in discussions with several Solarflare engineers who were also concerned about this. But in the end of the day, Xilinx’s $3B revenue largely comes from IP so protecting IP will always be the most important thing to the company.

[2] Xilinx culture is heavily hardware biased

The impression I got from all hands meetings, internal and external news statements and from crawling the organization chart is that the hardware staff are the rockstars and software is just another cost centre nobody really cares about. Just to be clear, I’m the last person to screech about diversity and equal outcomes. Xilinx’s $3B revenue largely comes from hardware IP so it’s perfectly fine that hardware staff are front and centre in the company. It just means that as a software engineer I have the potential to be much more valuable somewhere else.

[3] Xilinx HR and Legal took way too long to respond to initial concerns

This one is a bit unfortunate. Basically after reading the Intellectual Property contract (and throwing up) I sent a short email to the Xilinx HR person we were supposed to ask questions to for clarification. I asked what was the scope of the contract (IP related to my job? IP related to Xilinx as a whole? Or everything belongs to Xilinx including my cooking recipes?). And I asked what was the process for releasing personal code as open source†. They ignored me for almost 2 months. After a few weeks I nudged it but got no response so I gave up hope and started reading that recruiter spam we all get. I ended up with other offers quite quickly and one of them was really interesting so I handed in my notice at Xilinx.

† I eventually got a response, everything belongs to Xilinx including cooking recipes and there is no formal process for personal open source contributions (hardware oriented company doesn’t understand/care about open source software culture).

Where to?

I got snapped up by Undo, still in Cambridge UK. They make a tool which lets you record and replay the execution of an application. The idea is when the tool captures a bug, you can replay and debug it as many times as you need to figure out what’s wrong, which is especially useful for complex non-deterministic bugs.

The technical work sounds really interesting and I had one of those really good interview where I knocked out the “correct” answers quickly and we dived down all the rabbit holes and tangents we could think of. I learned a bit, I taught a bit and we were all on the same wavelength. And being a British company they have a much more sensible attitude towards personal IP. And they offered me more money. So I didn’t really have a choice in the end.