Pratik Karki

Software Engineer | Guitarist | Animal Fosterer

Please read my blog!

See my work

An Introduction

Hello there, I'm Pratik Karki (Pronounced: pruh-teek). I'm a Grinnell College '20 Computer Scientist from Kathmandu, Nepal. I love programming and creating transformative things that reach out to diverse groups of people. On the side, I play the guitar a lot (huge Metallica \m/ fan) and foster some animals (or as I like to say - critters) with my girlfriend.

Contact Me :)

Email me at:

The Life of Pratik

Whew! Job's well that ends well: December 14th, 2020

I know, I know. Everything has just been so busy that I haven't held up my commitment to writing blog posts more frequently. There has been a lot going on. Grad School is a tough (mostly because proving abstract distributed algorithms over zoom is tricky), the job search has taken so much of my time (more on that in a bit), and plus there are all these intricacies at play because we are still in the year 2020. I did think of doing a blog post earlier, maybe on the world building of Hollow Knight, which was one of the things (aside from my perfect girlfriend) keeping me sane while being in my apartment room all this semester.
Pictured: me being "productive"
When the semester was finally coming to a close, I received some great new. I got a job! Specifically at Google, as a Cloud Technical Resident at Atlanta, GA. Wow! It feels crazy to even be writing these words down. I guess things just worked out finally, after so much time being on the grind. Making the best out of this opportunity felt like all of my hard work was finally rewarded, or as Lebron James said so about Alex "Goat" Caruso, "when opportunity meets preparation". All the recruiters and interviewers were great and accomodating and I got real good insights on what it was like working at big G just from the conversations we had. I'm really happy it worked out and I get to start a new journey of my life there.

However, I didn't start writing this blog post to just toot my own horn, but to talk about the whole job search process and provide my personal experiences with it, unembellished. Let's be real -- finding a job in a saturated market with mainly autonomous processes is almost dehumanizing. The break that I got from overcoming a lot of personal obstacles and sticking to the promise of finding the intersection between my passion and employment felt so foreign to me -- like I had spent so much time tempering my expectations and never assuming something like this would work out, that when it finally happened it just feels unreal. My advice to you is to have a little faith in yourself and congratulate yourself once in a while. Easier said than done. But, it's something that comes with time and belief in oneself.

I made a Sankey diagram (using SankeyMatic), outlining the exact numbers and results of my job search process. These numbers are actually rookie numbers compared to my internship application numbers from college, mainly because I got this job offer relatively early. I remember securing my last two interships only around April-May and by that point I probably had ~400 applications in. Crazy stuff, but that is competition for you.
Sankey Diagram
My first job application was on July 2nd and I ended up getting my offer on December 8th. As you can see, the solid majority of my applications were not even met with an acknowledgement or were met with immediate rejection. That tiny sliver in the bottom right is my job offer. I managed to get 13 referrals from individuals that I knew from College or LinkedIn, out of which I got 6 responses (46% response rate), including the 2 onsites and 1 eventual offer. There was a higher response rate from my online cold applications, 106 out of 169 (62% response rate), however, I had a lot fewer follow-up interviews or coding challenges after that point. So, I would recommend if you are looking to apply for jobs, try to get as many referrals as possible, because at least from my experiences, the chances of a follow-up are higher.

I prepared for my interviews with the usual compendium of leetcode, pramp, and mock interviews. I would encourage consistent practice over practicing only when an interview is close (lol, I barely followed this routine myself). I did not do every leetcode question like some people purport online -- instead, it is a lot better to do a large variety and really understand the fundamentals. For example, I would do one Dynamic Programming problem, go back to my notes and review the techniques that I was using. I emphasized the building blocks of DP problems, like starting with a recurrence relation and then going through a few examples using DP. So, the process overall for leetcode was something like this:
  1. Choose question on a topic or just a random question
  2. Read through it well and state assumptions and constraints
  3. State a few ideas and go through them out loud
  4. If you can't think of a solid way around the question in 10 minutes or so, it's a good time to look at the discussion threads (don't read the actual solution code). Then, if in another 10 minutes you're still stuck, go ahead and read the code. Rinse and repeat.
  5. Be sure to mention the time and space complexities
  6. Choose one of the ideas that suits the problem the best and first go through an example. You don't want to write code and halfway realize you don't know how to proceed.
  7. After writing out the code, try to do a dry run if you have time. Most interviewers do not have compilers so this is the best way to check your code and remove bugs.
  8. Still got more time? Write a few test cases. E.g. huge numbers, small numbers, negatives.
  9. Voila! You're done.
Now, this next part is extremely important. Communicate. It's a necessary skill that may be tough to develop, but is essential. I strongly believe that I only got this offer because I practiced my communication skills exorbitantly. Think about it this way, you could be the best programmer out there, but if you can't communicate your ideas and thoughts to a teammate well enough, you don't provide much value. I would recommend recording yourself in order to assess how you communicate (thanks Ankit, for this tip!). Do a lot of mock interviews. is a great free (if you can exploit their unlimited credits feature) resource. I would also recommend doing visual examples during interviews, e.g. drawing out and filling up a 2D array to show your code working to solve a DP problem.

Well, that's all of my perspective on this subject. I know how much of a struggle it may seem. But please believe in yourself and don't let things out of your control frustrate you. Good luck to all hopefuls like myself!

Life Update - Grad School Edition: September 15, 2020

It's been way too long since I wrote a new blog post. Mainly because my domain was completely down and I had a hard time getting it to work again. I tried so many things but to no avail, so I finally ended up transferring the hosting platform from GitHub Pages to Heroku and I finally got it to work.

A lot has changed since my last blog post. I moved to Iowa City!! It's small and doesn't have too much going on, but compared to Grinnell it may as well be a metropolis. I live pretty close to downtown, but sadly COVID has really ruined a lot of fun stuff here that I was hoping to do. For example, I can't use the gym or pool at my apartment complex (although that isn't stopping a lot of people). Not to mention all the 'real' restaurants and bars that I could try out. Oh well, it could be worse. I did manage to squeeze a trip to Chicago during Labor Day Weekend, and it was super fun.

Starting grad school at the University of Iowa has been way more different than I though it'd be. Firstly, I realized how ridiculously small Grinnell was in comparison to most other schools. I do miss the closeness I had with my friends. I've barely made friends with anyone here, except for a few people in my classes (more like work acquaintances?). I also find the methods of teaching so different. Grinnell was very tough, crazy workload and all. However, Grinnell also holds your hands way too much. Over here, it really is sink or swim mentality. I am taking three classes, Distributed Systems and Algorithms, High Performance Computing, and Database Systems. They range from purely theoretical to purely practical. I have to really balance out different ways of learning and being successful in classes. Hopefully, I can strike out a balance among these classes and do well.

I've also been juggling a lot of others things. I have been applying to a lot of jobs and have been either interviewing or completing a coding challenge almost every day now. The grind really doesn't stop. Also, this week I'll be attending the Tapia conference with a scholarship! I'm super stoked to have gotten it. I hope that I can do some networking and also attend a bunch of highly informative panels as well. Although it's virtual, I think it'll be a fun time. I'll keep you all updated with how it goes.

One last thing, I'm super hyped for Dune to come out later this year (fingers crossed). I'm almost done with the first book. The world building and mythology is unparalleled. I would 100% label it as the Sci-Fi Lord of the Rings.

Covid Cookery: August 2nd, 2020

This is probably my favorite blog post to write so far. I feel this immense sense of satisfaction for all the cooking that I and Nastya have done over the past few months. All of the food items unique and equally yummy. Nastya has a routine of planning meals for the whole week, mostly dinners that we eat as leftovers for lunch the next day. The food varies from South Asian spicy treats to Russian stews and everything in between.

Behold, my stuff! (Reload the page if the slideshow does not show up)

One thing I find interesting is the number of people I've met who claim that they "can't cook". I used to believe in that principle somewhat, growing up with no cooking experience. I knew the basics, noodles, eggs, rice, but there was a lot about cooking that seemed to be extremely nebulous. For example, I was never able to understand how some of my relatives got the chicken to be so nicely roasted and covered in a gravy. What is the gravy made out of? I thought about these sort of questions but never bothered to do the research.

Of course, I had to learn to cook in the US and I grew quite fond of it. Demystifying a lot of the techniques, from making cake from scratch, making a gravy for roast chicken etc. came with recipes and Youtube tutorials I regularly frequent. Binging with Babish, Epicurious, Yummy Food World (my favorite Nepali channel) are some of my favorites.

I made a list of recipes to experiment on once I start my grad school. I'm excited! Nastya doesn't like a lot of these things (she says fish pee in the ocean, hence no seafood) so I guess I'll be trying out all the shrimp I can get my hands on.

The Language of the Modes and the Pentatonic: July 16th, 2020

I've been pondering over some music theory these past few weeks. I'm still trying to learn how to improvise over chords. Learning all the patterns has been tough, so I'm trying to sort of explain stuff over this blog to better my own understanding.

Let's backtrack a bit and look over my own musical education up to this point. I started learning around class 7 when my dad bought me a guitar, learning a bunch of stuff over YouTube and doing my best to imitate great songs like Stairway. This went on and off again until I got to college, where I took my first formal lesson during my first semester. Grinnell offered "free" one-on-one tutoring for international students so I thought "why not?" I really got along with the instructor, Pat "Rex" Smith, whose prowess and love for the guitar is pretty much unmatched.

We started off with the different modes in a key and translating them into 5 distinct fingerings so encompass the entire fretboard for ease of access. Of course, let's not forget the all-purpose pentatonic scales which work wonders in any situation. It was fun, going over songs I already knew, and trying to guess how the composers derived their tunes/solos based on these scales.

Talking about my own musical education is a way for me to explain my current level and also introduce the concepts that I'm going to talk about. I mapped the song Sultans of Swing by Dire Straits using this methods and recorded this solo. The song is a classic; Mark Knopfler is great at mixing up licks within the chord progressions of the song to give the guitar its own voice. I guess I'm also trying to bring forth my own voice. The next thing I upload, I can promise, will be my own creation.

Still, learning is an iterative process, so I'm trying to figure out the next steps. There are a million things one can do in the guitar, so picking out a path to follow is a little overwhelming. I'm pretty open to suggestions. Thanks for reading!

Juneteenth - A Nepali's perspective on racism, colorism, and all sorts of intersections: June 19th, 2020

This is a tough one to talk about, but especially now, our own prejudices and misconceptions are things that we all must address. In regards to the recent tragedies and consequent protests against police brutality, which are undoubtably just the tip of the iceberg in the structural problems that plague the American society, I believe it is useful to discuss discriminations based on race, caste, color, and class from my own Nepali perspective.

Why is my input relevant? According the South Asian American Digital Archive (SAADA), based on the 2010 census, nearly 3.4 million people in America have South Asian heritage. This number has definitely boomed over the following decade. This means many individuals, who shared experiences similar to my own, have roles in voicing changes for this generation.

Let's jump back to a time when I was pretty unaware of all these issues. Nepali society is segmented based on social classes and castes, and growing up with my ultra-conservative grandparents who enforced these divides didn't help the slightest. I am from a supposedly "higher" caste, the Chhetri (warrior) caste. The caste system was originally founded in order to differentiate people by trade and occupation, so the regard held for warriors and priests compared to other castes was vastly different - basically day and night. In home, in school, I was taught values which, looking back, were pretty appalling. Discrimination based on color, caste, and class, was routine. I was raised to believe that being 'fair skinned' is considered 'beautiful'. Moreover, the flagrant xenophobia (mainly towards people of Indian descent) and hatred towards other castes were ingrained in passing coversation. Think of referring to others as kale (dark-skinned) or by their caste as an insult being commonplace.

Given these realities in which I grew up, it seems like I'd be a hypocrite to make any sort of comments on discriminatory practices around the world. Indeed, I am guilty of fostering these conjectures in the past. However, tackling these notions that are so entrenched in society come with 1) changing your own personal beliefs and 2) changing the beliefs at home.

Like many others, I became more open to change gradually. I guess a lot of the change overlapped with own emotional maturity and understanding of the world around me. During my high school, I became close friends with people from others castes, or as my family referred to them "your friends from that caste". Despite this, I didn't really care and I loved learning about their own intricate ways of doing Puja (prayer), weddings, and household norms. I continued learning more during my gap year, when I worked with an educational NGO that operated in remote Nepali villages. Many of the atrocities against other castes that were toned down in urban areas were unforgivably glaring in some regions. Take, for example, a village only consisting of people from a Dalit "untouchable" caste, that my colleague and I were assigned to. We didn't even get to meet the school spokesperson to conduct a survey and hand over educational packages, since they refused to interact with people from "higher" castes for fear of retribution. A lot of these experiences really popped the bubble in which I'd lived my whole life. And all of these atrocities against lower and "untouchable" castes still happen every day in Nepal, whether it be refusal to rent an apartment or killing someone from these castes for falling in love with an upper-caste girl.

Coming to college was a whole another experience. Far from the overt acts of racism and casteism that I was accustomed to, the nuanced and polarizing systems that promote subtle forms of discrimination were hard to detect. For the first time in my life, I was being subjected to hate and microagressions. I remember during my first year, I would feel very uncomfortable walking past a group of white students, wondering what they thought of a brown guy with a beard. One time, a professor with whom I both took a class (small seminar of 12 students) and worked for as a grader, never could remember my name and called me by the names of other South Asian men in my class repeatedly. These acts were so egregious that even I, who would normally let go of these things, reported his for a biased incident. Ironically, being put in the same positions in which privileged individuals were able to take advantage of me, helped me align myself with others like me. I found respite within my first group of friends, who all were other international students of color. Shedding all those layers of prejudice is still a prolonged process, one which I continued through college and to this day.
“The white man is very clever. He came quietly and peaceably with his religion. We were amused at his foolishness and allowed him to stay. Now he has won our brothers, and our clan can no longer act like one. He has put a knife on the things that held us together and we have fallen apart.” ― Chinua Achebe, Things Fall Apart
Historically, many of the world's prejudices stem from Western colonization and spheres of influence (Vox has a great article on this). Take all of the discrimination and dehumanization of individuals from poorer backgrounds and with darker skin, for instance. Things Fall Apart and A People's History of United States are two great reads which dive into the mechanics of such colonial attitudes. They really highlight tactics used by colonizers to divide individuals into groups so that they could take advantage of the people. For example, Belgian colonizers in Rwanda separated the Rwandans into Hutu and Tutsi which worsened already existing tribe conflicts . This is not a way for me to deflect blame, to to highlight a pattern that still persists today. Any form of instituitional racism that exists today, along with the propoganda that protects the elite, is really just a way to divide people and take advantage of them. If we want to create a better world, it starts with tearing down these oppresive systems.

So, my input on this matter, on the current protests, on the need for reform in the US and the rest of world, really lends credence to the universal forms of injustices that society faces. Everyone is stronger than falling for the archaic draconian narratives. Take it from me, someone who used to believe in these systems not too long ago. I hope you enjoyed reading this and I hope Juneteenth can be a day for all of us to share such stories about ourselves.

Support Black Lives Matter

The Dueling Ideologies of El Principito and El Alquimista: June 12th, 2020

I started a reading spree during these past few weeks. Currently, I'm reading Dune by Frank Herbert (I know, finally!). However, I'd like to focus on two other books that I read recently, both were in Spanish for the sake of my own Spanish literary desideratum. El Principito (The Little Prince) and El Alquimista (The Alchemist) are both bound by their broad explorations of Life and Philosophy.

Disclaimer: I am in no way a Philosophy expert, in fact, I haven't even taken a Philosophy class in my life. The idea behind writing about these books is to bring myself to read more on the field and get a grasp of the author's intent.

Let's start with El Principito.
"Decididamente, las personas mayores son muy extrañas", se decía para sí el principito durante su viaje.
"Decidedly, grown-ups are very strange", the little prince said to himself during his travel.
From the get-go, the tale is undoubtably an introspective on the world from a child's perspective. Rather than just focus on the imaginative sensibilities and wonderment of a child, the titular prince represents the world from the elements we stop seeing when we grow up. Take the example of an elephant inside a snake, something that adults dismissively suggest to be a hat, or an alcoholic stuck in a cycle of shame and drinking. Such realities, which we fail to see from our disillusioned and clouded judgement, can be seen through clearly by the eyes of a pure being, the prince.

El Alquimista follows a different narrative. Santiago, the protagonist is a traveling shepherd who is somewhat happy with his life, but yearns for more. After embarking on a wild quest to find his "Personal Legend".
Las personas, al comienzo de su juventud, saben cuál es su Leyenda Personal. En ese momento de la vida todo se ve claro, todo es posible, y ellas no tienen miedo de soñar y desear todo aquello que les gustaría hacer en sus vidas. No obstante, a medida que el tiempo va pasando, una misteriosa fuerza trata de convencerlas de que es imposible realizar la Leyenda Personal.
Everyone, from the start of their youth, knows of their Personal Legend. In this moment of life they see themselves clearly, everything is possible, and they don't fear dreaming or desiring everything which they would like to do in life. Nevertheless, as time passes, a mysterious force convinces them that it is impossible to realize thier Personal Legend.
Santiago's journey to get to his Personal Legend, is something that all of us have experienced in our lives. What would give existence meaning, but a fancy adventure/quest? However, the truth is far more subtle than that. A person's personal legend can be defined as something that aims to give them a chance to take control of their own life. This is especially true given the societal pressures that guide each of our decisions may let us live an unfulfilling life (see: South Asian family pressures). I guess my point is once you're able to break that invisible barrier and make your own choices, you can fulfill your own Personal Legend. That being said, the path isn't always smooth. Santiago had to make sacrifices, got robbed, and almost gave up near the end during his journey.

Which brings me to the differing idealogies presented by both books. While both authors agree on the deconstruction of the social ideals and norms that dictate much of our lives, their main messages stem from different wants and desires. What does it mean - to be happy, to understand the inner machinations of the world around us?

The Prince is a means of bringing in a character into our lives, who takes us back to more simpler times, trimming down the excess complexity that "grown-ups" bring into our lives. How is this different from finding our Personal Legend? Well, the happinness that the prince evokes was there all along, during our childhoods, when we were pure of heart, without the cynicisms of adulthood taking hold of us. Having your own Personal Legend means that your life is somehow incomplete. I agree with the fact that both of these idealogies are not mutually exclusive, yet they emphasize on such different aspects of our lives.

I hope that this blog post makes some sort of sense and relays my understanding of these broad topics. Also, I would love some book reccomendations! After I finish reading Dune, I'm planning on reading Cien Años de Soledad (One Hundred Years of Solitude). Any book that you loved reading - let me know!

A Fresh New Start: June 10th, 2020

I guess this is my first attempt at writing a blog post. I wanted to start writing as a sort of exercise, but moreover as a way of expressing myself with the world.
Currently, I'm in a weird situation in life. As we all know from memes, 2020 came in quick and without warning. Everything from Australian wildfires, COVID-19, to the protests against the abhorrent racial injustice around the world has been pretty impactful, to say the least.
I found myself out of a job for the summer (spoiler alert - COVID was the villain all along), after a year of dilligently applying and interviewing for internship roles before I start my Master's this Fall. Damn, this sucks. Being the goal-oriented person that I am, I hated the fact that I wasn't going to able to follow my plan that I had so carefully laid out. The Feeling Good Handbook will tell you that, when you are contemplating something bad to happen, it actually isn't so bad once it actually passes.
So, where did I end up?
As I mentioned, all these seemingly catastrophic events didn't actually end up being so bad. I practically moved in with my girlfriend and we've been fostering some kittens ever since then.

Moreover, I've taken this time to reflect back and find some stuff that I'm interested in doing. Hobbies and new interests take a lot of work, and I'm happy to have some free time now to read books, play some more guitar, take spanish video lessons, and paint. It's actually been terrific and all these things have done wonders to my own mental health.
Also, I found some coding work to do! It is a great program, albeit unpaid, known as Summer of Shipping. It is a community of developers that help interest people develop their own projects with mentors from the industry. I've joined two teams:

  • Youtube NLP: Analytics tool for Youtube videos and comments using Natural Language Processing
  • Tattooder: React-Native app which matches users with Tattoo Artists
I'm excited to see how these projects develop over the course of the summer. Stay tuned for more updates!