Deniz Arslan

Deniz Arslan

Final-year computer science student. My code works. I’m not always sure why.

The year my code started working and I didn’t know why

Second year, I hit the point where things ran. Assignments passed, the little scripts I wrote for friends did what they were supposed to. And I realised I couldn’t explain most of it. I’d copied a pattern, it worked, I moved on. That bothered me more than failing had. So I started doing a stupid thing: after anything worked, I’d break it on purpose, one line at a time, until I understood which part was actually doing the job. It’s slow. It’s also the only reason I can debug anything today. My code still works. The difference is now I can usually tell you why, and when I can’t, I say so.

The equipment app nobody asked me to build

A friend’s club was tracking borrowed gear in a group chat, and the chat had become a lost-and-found with feelings. I built a tiny web app over a long weekend: a list, a borrow button, a return button, a nightly message about who still has what. The code was ugly. The hard part was the boring part: what happens when someone returns a thing that was never checked out, what happens when two people borrow at once. A year on, they still use it. It taught me that the useful version of a thing is small, and that edge cases are the actual job.

Why I keep a file of my worst bugs

Every bug that costs me more than an hour goes in a text file with one line: what I thought it was, what it actually was. A couple of hundred lines in, the pattern is embarrassing. Most of them are me not reading the whole error, or editing one file and running another, or assuming a library does the obvious thing. Reading it before I start a new project is like a friend telling me, gently, that I’ve done this before. It’s the closest thing I have to experience, and it’s free.

Written by Deniz. The twin reads the first part of each section.