Thoughts on Technical Interviews

I had previously written an internal memo about how I conduct technical interviews at Zid, which has sparked an interesting discussion. There, I mentioned that, in technical interviews, I do not necessarily specifically look for technical knowledge — that is, how much the candidate already knows. Instead, I look for how…

Unimpressive Simplicity Is Quite Impressive

I very often receive surprised-discontent faces from fellow engineers after I show them potential solutions to some highly contended problem in the team. It always turns out to be that they are not necessarily not convinced that this would solve the problem but rather surprised that the solution is simple.…

Thoughts on Designing Software Abstractions

"All problems in computer science can be solved by another level of indirection" (Butler Lampson). I think this quote clearly presents how crucial abstractions are as a tool for solving computer problems. However, as important as this topic is, we do not see proper attention drawn to it…

Applying The Software Design Questions Approach

In the previous article, I introduced the software design questions and gave some scattered examples of the various questions. In this article, I will present a fictional business and try to apply the questions on it as a practical example. Before I begin, I would like to thank Atheer Alfawaz…

The Software Design Questions

Last year, I published a collection of discussions on software design where I discussed a set of central principles that should be considered while designing software. Here, I move to a meta-discussion about what questions you should ask when trying to apply those principles. If you have not read the…

Philosophy and Programmers: Why and How It Makes Sense

"Hmm, Philosophy and Computer Science. An Interesting combination" is a very common response when I tell people I work in computing and am interested in philosophy. It seems like there is a perception about working in computing that a technologist is a person that would only be interested…

Reflections On Abstraction: Philosophy, Art, and Computing

This post might be a little deviant from my usual tech-focused blogging, but I think it's still relevant to tech—especially the abstraction section of my previous post. The concept of abstraction is all around us. We may not actively think about it, but if we put on our analytical…