Humans of Computer Systems: IndianDev

Programming

How did you learn to program?

I started programming at a relatively young age, around 6th standard (in India). Initially leanred HTML, CSS from w3school and online tutorial blogs/videos, then learned C++, mostly from School curriculum book. In college, I throughly enjoyed reading "Thinking in C++".


Tell us about the most interesting/significant piece of code you wrote.

I remember the first project I did in school which I'm really proud of, even though it was more of a toy fun project. It was an image editor for BMP files, written in C++. 


Who did you learn most from about computer systems?

Hacker News, I have been following it since high school.


Who is the greatest programmer you met, and what is impressive about them?

Interestingly, my own definition of good programmer has changed few times. In college times, I used to admire programmers who had strong algorithmic skills required for ICPC like competitions, but lately I have realised it's equally important for a good programmer to be able to design and write clean and maintainable code.


What do you believe are the most important skills to be successful in your field?

Learning, a person who wishes to be successful has to keep up with the ever changing technology. Of course, the fundamental ideas of computer science are as important and would most likely remain useful for your entire career.


What quality or ability do you value most in a computer systems person?

Ability to think clearly, communicate clearly, and supportive.


Personal

Which of your work/code/accomplishments are you most proud of?

Working in academia, where you start off with ideas and bring it into a full working software all by yourself (many work in teams, I however had the luxury to work alone) with experiments validating your hypothesis has been quite rewarding for me.


What comes to you easy that others find hard? What are your superpowers?

I have been surprised by how some programmers are not so good at googling. Most of the time, I have been able to un-block myself by googling the right query and I have found some people either don't understand or probably underestimate this skill.


What do you feel most grateful for?

My family and my research advisor, who inspired me to pursue computer science.


What does your perfect day look like?

Programming, with minimal time spend on debugging. Either very few or 0 meetings.


What made you most happy in the last year?

Work from home, had the luxury to intern remotely and then convert to full time position.


Work

What was your most interesting/surprising or disappointing interaction at work?

A person who I noticed in my lab used to sit quietly and was fully absorbed in work most of the time. As I got to know him more, it turned out that he talks a lot and have had pleasure talking to him for hours in a stretch on various topics :)


What do you like most about your job/profession?

I think the compensation and benefits of working in IT companies are far better than other jobs (in my country at least).


What do you dislike most about your job/profession?

Countless meetings and late working hours, mostly influenced by the team culture.


What would be the single change that would improve your work environment most?

Restrict work timings more strictly.


Technical

What do you think are the hardest questions in your field?

I work in distributed database systems, blog poster would be a better person to answer this question :)


What are the topics that you wish received more attention? What do you think is a promising future direction in your field?

I find the work on CRDTs exciting. In particular, I'm looking forward to development of more local first softwares https://www.inkandswitch.com/local-first.html


What is your favorite computer systems paper? Why?

Back when I was working on distributed graph processing, I read a paper on temporal graph algorithms. It became my favourite paper as I had to put some effort to understand the algorithms described and was able to appreciate the beauty once I understood them.

Path Problems in Temporal Graphs (https://www.vldb.org/pvldb/vol7/p721-wu.pdf



If you enjoy reading this seriesconsider taking 10 minutes and submitting a response. All questions are optional. You can skip most, and tell a lot more on other questions you choose.

Comments

Popular posts from this blog

Hints for Distributed Systems Design

Learning about distributed systems: where to start?

Making database systems usable

Looming Liability Machines (LLMs)

Foundational distributed systems papers

Advice to the young

Linearizability: A Correctness Condition for Concurrent Objects

Scalable OLTP in the Cloud: What’s the BIG DEAL?

Understanding the Performance Implications of Storage-Disaggregated Databases

Designing Data Intensive Applications (DDIA) Book