About Ruslan Spivak

“Anything worth doing is worth doing poorly - until you learn to do it well.” - Steve Brown.

About Photo credit: Julia Merk

Hi! I’m Ruslan Spivak, a Software Engineer from Canada, and if you’ve ever asked yourself:

  • “How do I create my own programming language?”
  • “How does an interpreter, compiler, or VM work and how do I create one?”
  • “How do I implement my own database and a small operating system?”
  • “How do I code my own web server?”
  • “How do I write my own web framework?”

Or if you’ve just wanted to know more about software development in general and how to become a better developer - then you are in the right place!

Here’s the deal:

I believe to become a better developer you MUST get a better understanding of the underlying software systems you use on a daily basis and that includes programming languages, compilers and interpreters, databases and operating systems, web servers and web frameworks. And to get a better and deeper understanding of those systems you MUST re-build them from scratch.

So, to become better you need to understand better, and to understand better you must re-build pieces of those systems from scratch. And that is exactly what I am going to do on this blog. I am going to show you how to get started and keep going, so you too, could become a better developer and take control of those systems. And I also plan to learn a ton with you and from you. You can take a look at my different attempts to build and re-build different components on GitHub.

My Story

I moved to Canada a while ago and now I live in beautiful Toronto with my family.

I’ve learned that, at least for me, the best way to learn how a software system works is to try and deconstruct it and re-build it in its simplest form. So if you are anything like me then please read my posts, re-build something you’re interested in and tell me about your experience.

Thanks for dropping by and taking the time to read this. I hope to see you on the blog sometime soon. Cheers!


If you want to get my newest articles in your inbox, then enter your email address below and click “Get Updates!”