I studied International Game Architecture and Design (IGAD) but did a short stint in security software before landing my first gig in the "real" games industry. A tweet and a DM got me my foot in the door as a so-called Systems Programmer at Nixxes Software in Utrecht, the Netherlands. This company is now a wholly-owned subsidiary of Sony Entertainment (good for them!), but at the time, they exclusively did ports of games from console to PC or console to console, usually in collaboration with Crystal Dynamics or Eidos Montréal, who were both under Square Enix at the time.
The work of a Systems Programmer at Nixxes was ill-defined, but in practice, it was "all the programming that isn't graphics." Because there's a lot of graphics work in ensuring that a game runs smoothly on a crazy amount of possible hardware configurations. Thief (2014) was made in a heavily modified version of Unreal Engine 3, and it was quite challenging to work with. Modifying the Unreal scripts meant the header files would be regenerated, resulting in a recompile of the entire game. It could take up to half an hour to see the result of any given change, even when using Incredibuild to spread the compilation work over all the computers on the network.

My lead quickly realized that I was one of the few people on the team who actually enjoyed working on UI tasks, so he kept assigning me more of that work, and I basically never stopped specializing in UI programming. For Thief (2014), I worked on making all the menus interactable with the mouse and keyboard, added a context bar that automatically toggles between gamepad button prompts and clickable buttons, and ensured the map screen could be navigated with the mouse. All this was done in Scaleform, a UI framework for games based on Flash. It was great to see how those fancy menus for AAA games are actually made because the answer is usually "just an incredible number of layers at varying levels of transparency."

I also worked on the dreaded Square Enix Membership screen, which is actually the only place in the entire game where you use the keyboard to enter text. So, of course, it was completely broken on PC. I may be misremembering, but I believe they used a static text field with a fake cursor instead of a dynamic text field designed for text input. You can get away with that on consoles because you enter text using the built-in on-screen keyboard.
What's great about these porting jobs is that you're working on them for a year at maximum, and you only have to worry about your small area. One of my personal highs was seeing a trailer for the game on Facebook with a screenshot of the shop menu with the much larger clickable tab buttons that I had advocated for. It's such a small thing, but it made me realize that, wow, I was really doing this. I was playing in the big leagues now!

Another advantage of working on a port is that you're largely insulated from the problems at the main studio. Suffice it to say that Thief (2014) was the product of a severely troubled development. One of the reasons the story makes no sense is that they had to cut an entire level just to get the game out of the door. That's why your relationship with Basso goes from "I don't trust you, Garret," to "Welcome back, friend!" in the blink of an eye. That kind of thing is unfortunately typical in game development, and it sucks for everyone involved.
But even though the game is in my Steam library, I've never actually played the final release. Every time I've tried, I can only focus on the small things that I personally could have done better if only I had a little more time and expertise. That is why they say that art is never finished, only abandoned. Sometimes, you just have to push a game out the door and hope for the best.
