I first started learning to code in 2012. And there was one YouTube channel that all my friends used to learn algorithms and data structures: MyCodeSchool.

Within minutes of watching MyCodeSchool, you could immediately tell that:

  1. These developers were really passionate about computer science. And
  2. They were exceptionally good at teaching it.

At the time, I was a 31-year old teacher trying to get my first job as a software engineer. And like most people, I watched the videos. I took notes. And eventually I went on my merry way.

It was only years later that I noticed MyCodeSchool had stopped publishing videos. And I discovered the tragic reason why.

MyCodeSchool's YouTube channel, which – aside from a single video published in 2016, went dark nearly 6 years ago.

The more I dug, the more I realized how important this story was. And now I am going to share that story.

I'm also going to share with you some never-before published photos and insights from the early days of MyCodeSchool.

Every developer should learn this story of friendship between these two teachers, and how they – for a short time – took the programming world by storm.

This story is sad. But it is also inspiring. And I feel honored to relay it to you.

Here's how Harsha and Animesh took decades worth of computer science wisdom and made it easily accessible to millions of students around the world.

The Monkey With His Hand Stuck in a Jar

Animesh Nayan was a mediocre student who rarely attended class. He was a "last bencher" who was only able to pass school because his friends would cover for him when his professors took attendance.

But Animesh loved programming. And he was good at it. Outside of his classes, he immersed himself in the world of algorithms, data structures, and systems design.

Animesh became so good in fact that he was able to land a coveted job as a software engineer at Microsoft right out of school.

I spoke with Animesh at length, and told me his views on Indian higher education bluntly: "We graduate a large number of computer science engineers every year, but only 15 to 20% of them are employable in the IT-enabled services industry. And only 3% of them are employable in IT product companies, which require a deeper understanding of computer science concepts like data structures and algorithms."

"With the current standard of computer science education, we are catering to the industry more in terms of quantity and less in terms of quality."

And as fate would have it, tackling this "quality problem" Animesh had identified would become the central focus of his life.

But he wouldn't realize that until nearly 5 years later, after going through the motions at Microsoft. He was good at his job, but it wasn't his calling. This was what society wanted for him. It was not what he wanted for himself.

"First I was trying to make my father happy by getting good grades and getting a good job. Then I was trying to make my manager at work happy by fixing 20 software bugs in a week. I was bored of seeking validation and not being connected to my inner self. I thought, people take me seriously if I told them I work for Microsoft. But what is my identity beyond that?"

Animesh likened his predicament to a monkey who had reached into a jar to grab some peanuts. In order to pull his hand out, he had to let go of some of the peanuts. But the monkey's instincts prevent him from doing this, so he just stays there, stuck. (And yes, this is a real-life method used to trap monkeys.)

"Quite often when it comes to life, we behave like these monkeys. We hold on to something like a source of money even when it’s making us miserable."

But working for Microsoft did bring him prestige and made him famous among his extended family. Many of his friends and relatives who were struggling through computer science programs reached out to him asking for mentorship. They hoped to reproduce Animesh's success for themselves. And Animesh did his best to help them.

"I figured out that most of them do not have good fundamentals, and they lack in what I'll call the core skill in computer science - programming."

He saw what Salman Khan had accomplished through his math videos on Khan Academy, and thought he could do something similar for programming and computer science.

"My approach was to make a complex computer science concept easy to understand with a good script. I would spend weeks just thinking about how to simplify and explain an algorithm in the best possible way."

In 2012, he published his first 15-minute lecture to YouTube.

"I felt embarrassed listening to my own voice. But my wife encouraged me, so I published it anyway. Surprisingly not many people were teaching computer science in easy to understand language back then. My video was soon ranking at top for a query like 'time complexity'. I felt encouraged and created some more videos."

By mid 2012, he had published several videos, and fellow programmers began reaching out to collaborate. But Animesh had his sights set on one programmer in particular – his long-time friend and fellow IIIT Allahabad graduate, Harsha Suryanarayana.

The Humble Fool

Harsha was no ordinary unemployed computer science grad. He was a legendary competitive programmer. He was well-known not just around campus, but internationally.

Harsha Suryanarayana

Here are some of Harsha's achievements:

  • He got a perfect score on all 3 of his ICSE exams.
  • He represented India at the ACM's International Collegiate Programming Contest.
  • He achieved the "red" ranking on Top Coder, and was the highest ranked Indian programmer on the entire competitive programming platform.
  • And he was the first Indian ever to qualify for a Google Code Jam.

Harsha's reputation was such that his friends referred to him as "Lord Harsha."

But Harsha himself preferred to go by a less grand handle: "Humblefool."

Harsha (left) at ACM ICPC World finals

Animesh says of Harsha: "I had tried competitive programming too, and my rating was not even half of his. I remember writing an email and telling him about MyCodeSchool and thinking that he would be too busy to reply."

But Harsha called him the next day. And he was full of ideas for MyCodeSchool.

Instead of getting a job at a big software company like Animesh had done, Harsha had been busy conducting programming bootcamps for computer science students. And Harsha invited Animesh to come and assist him in teaching one.

"His boot camps were not getting the kind of response I expected. He talked really fast and probably assumed that some concepts and details were too trivial to bother explaining. Even though he was the nicest guy, many students weren't participating and felt too stupid to ask questions. Harsha sensed that too, but did not know how to break the barriers and shift his frame of reference. He needed to lower his assumptions and get in a good flow with everyone in the class."

And that is where Animesh saw an opportunity. He didn't know half of the computer science that Harsha knew. But he was good at breaking concepts down and explaining them. He suspected they could make them a powerful team. And he soon got a chance to put this assumption to the test.

The Microsoft India Development Center wanted Harsha and Animesh to help train and onboard their new hires. Harsha created the coding challenges and Animesh focused on the presentation. They looked for ways they could gamify the experience, add humor, and get students to work in teams.

Animesh (second from right) with participants from one of his bootcamps

Their bootcamp got a standing ovation and high marks from participants, and Microsoft wanted to hire them for more training. It was great validation for Harsha and Animesh's team-based teaching approach. But they had their sights set on something much larger than corporate training.

They spent the next year teaching competitive programming. They taught a winter coding bootcamp together.

Harsha teaching at the winter coding camp in 2013

They went through a startup accelerator together and launched a website, mycodeschool.com. They even hired on a team of interns.

From Left to Right: Animesh, interns Ashwin, Vishal, Lokesh, and Shashank, and Harsha

"We discussed a lot of philosophy, and how chasing only money wasn’t the best way to live life. Our approach to doing a startup was quite laid back. We were not too concerned about raising money or growing fast. We just wanted to have fun with whatever we were doing."

The MyCodeSchool team playing laser tag

You Never Realize You're Living Through the Renaissance Until It's Over

"I remember. It was June 15, 2014. I got an email from Microsoft inviting us to conduct another bootcamp for them. I wanted to discuss it with Harsha and so I called him that evening. He did not pick up. I called him a few times, but no response. He would call back soon as he always does, I thought."

The next morning, Animesh got a call from a friend telling him to check the local news.

Harsha and his wife, Neha, had been crossing the street at night when a car slammed into them. Neha was in the hospital, and would ultimately recover from her injuries. But Harsha wouldn't. The doctors pronounced him dead upon arrival. He was only 32 years old.

"What? Are you sure it’s our Harsha?" Animesh recalled. "I couldn’t believe it. But the news was true. I was devastated."

There was an immediate outpouring of grief across the competitive programming community.

Top Coder dedicated a match in his honor.

TopCoder dedicated a match to Harsha's memory. At the time, Harsha was the highest-rated TopCoder member in the algorithm track in all of India.

Animesh said of his friend at: "Harsha has chosen to go to heaven because God needed a genius programmer there."

Life After MyCodeSchool

Animesh reflected on that period of his life. "The next few months were very hard. I tried to continue, but felt lonely, sad, and overwhelmed."

Animesh decided he needed a change of pace. His wife was working at Google in India, and was able to transfer internally to the US. "I thought, why not. This may be a good change. Silicon Valley is a really exciting place and I had always wanted to experience it."

Within a few months, Animesh had gotten offers from tech giants like Facebook. Today he works as an engineer on Google's search team, working on both the Google and YouTube search engine algorithms.

Speaking with Animesh as he sat at his kitchen table, surrounded by his family, he told me: "I am a father of 2 wonderful kids now and life is good. But, there is a force that keeps creating an inner conflict in me. Everyday, I get some emails in my inbox thanking me for MyCodeSchool and asking me why I don't create videos anymore."

"I do not know what to say. I want to get back to teaching, but it’s just hard. I want to give a lot of time to my kids and it’s not possible to get back to it unless I quit my regular job and do it full time. This force is growing everyday. Maybe it will lead me back to my passion for teaching once again. I do not know yet."

Then Animesh's thoughts return to Harsha, and he recalls a conversation they had. "I was being the typical entrepreneur and asking him to think about scaling so we could reach many more. And he said something interesting. Maybe we can just inspire a few people to teach, and they can inspire few more to teach and the chain would grow. We need far too many motivated teachers, and it can’t be just us anyway. It’s like being a candle that can light up some more candles. Something inspired the two of us and put that light in us. We were not the first and we won’t be the last. We only are the intermediate links in this chain."

The Spirit of MyCodeSchool Lives On in the freeCodeCamp Community

I often wonder what would have happened if Harsha were still with us, and if he and Animesh were still experimenting with new ways of teaching programming and computer science.

One thing is for sure: we will remember the work of Harsha and Animesh, the time they spent together, and the ground-breaking courses that resulted.

I speak for many teachers when I say that their work has inspired me, and that communities like freeCodeCamp would not exist without the vision of these pioneers.

Animesh has given me permission to publish several anthologies of some of MyCodeSchool's best algorithm and data structure explanations on freeCodeCamp's YouTube channel. Starting in December, we will publish several full-length courses derived from MyCodeSchool's archive of computer science courses.

I am honored to help bring the teaching of these two legendary teachers to a new audience of aspiring developers.

In closing, I want to share this anecdote Animesh mentioned in my conversations with him:

A student, aware of Harsha's genius, asked him why he chose to spend all of his time teaching others.

Harsha thought for a while and said, “I have always liked the stories where an underdog wins. I just want to be part of one of those stories.”