4 Questions with Avinash Sajjanshetty
In this series, we sit down with Recursers in batch to learn about the work they’re doing at the Recurse Center and what they’re most excited about right now! In this installment, we talked to Avinash Sajjanshetty about his path to programming and why he’s obsessed with databases.
Tell me a little bit about yourself.
I grew up and did most of my schooling in a small village in India, so I didn’t have much exposure to computer programming, but computers always fascinated me. My first distinct memory of seeing computers was going to the bank! It was a long time before I had a chance to use one or have my own. I started learning Python from an online MOOC by Udacity. That’s where I started discovering what programming even is and the way you solve problems with it.
I wrote a little app for my nine-year-old nephew. It was just a command line app in Python that taught him math. I used built-in text-to-speech functionality to have it randomly generate two numbers and then it would ask him to either add or subtract them. And that felt really good! I felt like I was solving something. It was really tiny and really simple, but that’s how I got interested.
There’s a popular music streaming application in India called Gaana. I was looking at their API at one point and found an exploit, which gave me access to all of their users. It was wild. So I wrote a blog post about it, about how I sort of accidentally hacked into this and got access. That was seen by someone who liked the code I had written and they reached out to offer me a job.
What brings you to RC at this particular moment in your life?
I first learned about RC from Julia Evans’s blog around 2015 or 2016. I think I first read the posts about writing a TCP server in Python. At the time, I didn’t fully understand what went into TCP or how someone would implement something like that. That really inspired me and I kept tracking RC over the years.
However, I never thought I could get in. Then later, a colleague of mine Krace got in while we worked together. And since he was an amazing mentor to me at my previous job and I worked so closely with him, I felt like, okay, maybe there is a chance for me sometime in the future. This was probably 2018.
Now I’ve been at my current job for almost five years and I was bored and I wanted to take a break. I got a sabbatical and at the same time I applied at RC. To my surprise, I got in, and it ended up aligning really well with my three month sabbatical from work. So I feel like I got really lucky! All the pieces lined up and clicked into place at the right time.
What are you excited about right now, programming-wise?
For the past year and a half, I’ve been obsessed with distributed systems, so I’m trying to learn and read as much as possible about them. I was going through an online course and then slowly I started going deeper and deeper and trying to understand even more.
A few months ago I worked on a side project where I tried to generate billions of rows as quickly as possible using SQLite and that led me to explore databases more deeply. I started learning how exactly databases store data on the disk, what makes a database fast, and the different ways that people use them. At my day job, I’ve been using databases for so long, but I don’t think I really understood the internals of how it all really works.
So I find databases really exciting right now, and systems programming more generally. At RC, I wanted to explore compilers and networking. In the next couple of years, I want to transition my career from back end work to systems programming.
An image from the Write Your Own Database workshop Avinash led at RC
What are you excited about right now, outside of programming?
I used to read a lot and at some point that habit stopped, so I have picked up books again. After watching the movie, I started reading Dune and became obsessed. I just finished the first book, I’m looking forward to the second, and I think I’ll finish the series very soon.
If you’re interested in learning and working alongside programmers like Avinash, apply to RC!