A Real-World Coder on How to Learn – The New Stack

0

Since April 15, nearly two million people have watched a video uploaded by a 24-year-old software engineer Namanh Kapour: “How I would learn to code (if I could start over).”

The promises of this popular presentation are obvious: for a new developer, what programming elements do you really need to know? And do you really need a four-year computer science degree to hack code?

In an email interview this week from his home in Houston, Kapur described the massive viewership as “insane” and “something I could never have predicted.” But he also thinks video fills a real need in today’s world. “I think a lot of people are interested in coding and software engineering but don’t know where to start… That’s why my video touched them.

“I also think the pandemic has forced us to stay indoors for long periods of time and that has given people a lot of time to grow and improve.”

Kapur only started YouTube channel five months ago, exploring topics like “Benefits of software engineering that really matter” and “Why I studied computer science (and you should too).”

But audiences responded most to Kapur’s insightful advice on How? ‘Or’ What to becoming a programmer, all densely packed into a concise 13-minute prescription that ends with practice tips for your very first coding interviews.

And it also looks at how we prepare for programming careers from a nice, new perspective: with glorious 20/20 hindsight.

Kapur says the feedback he has received has been “positive” and “heartwarming”. But there is one reaction that has been particularly gratifying: “the people who said my video convinced them to take the plunge and start their software engineering or coding journey….

“I think coding is a universal skill that everyone should know, so I’m excited that more and more people are looking to start their journey.”

The road not taken

Kapur’s own educational experience was rich and comprehensive, judging by his LinkedIn profile. Kapur graduated from Rice University with a master’s degree in computer science, then completed software engineering internships at Schlumberger and Microsoftas well as an engineering fellowship at Kleiner Perkins.

Since June 2020, Kapur is a software engineer in the online payment company Lock (which he describes as a high-growth startup). A online resume shows that he even placed first in two of Bolt’s internal hackathons.

One of the first things Kapur’s video emphasizes is that you don’t need a bootcamp or even a college degree to become a programmer. “It’s definitely more difficult, but if you’re willing to put in the work, you can definitely learn to code on your own.”

“In fact, if I could go back, I wouldn’t to know if I had gone to college,” he said

As the video’s description explains, “If I could start over, I’d spend more time doing hands-on projects rather than focusing on theory.”

But even before that, Kapur’s first piece of advice in the video is “Embrace a coding mindset” – that is, just believe that every bug has a solution waiting to be found with a little patience and perseverance.

Kapur warns that this mindset also inevitably leads to finding solutions to common problems such as broken toasters or flickering internet modems – but it’s a kind of superpower, one that will bring your friends and loved ones to you. request technical assistance.

“It took me years to realize that not everyone is like that,” Kapur explains in the video. So while your perplexed parents might Google as well as you, “they don’t. to believe they can. And to be a coder, you have to to believe you can, as a fundamental truth.

“Because when it’s 4am and you’re working on a programming task, and you’ve tried everything but still can’t figure out the bug, the only thing that will keep you going is to know that there is a solution. You just need to find it.

Kapur’s video also advises humility – remembering the day he stopped blaming his computer and admitted his code was buggy. “The second I recognized this and really internalized it was the day I started growing in my coding journey.”

“You don’t have to be a good computer scientist to be a good coder. But you must be a decent problem solver.

But it also involves a willingness to learn, another key aspect of the coding mindset. In the video, Kapur shares that his experience in various companies has taught him one thing: that there is always a new stack, always a new language to learn, or a whole new paradigm or platform.

“At hackathons my teammates would use buzzwords like ‘machine learning’ and ‘the cloud’ and I would have no idea what they were saying. But I would find out,” he said .

Kapur’s conclusion? “You don’t have to be a good computer scientist to be a good coder. But you must be a decent problem solver.

From there, it’s only a small step to learning about data structures like arrays and hash maps, as well as the basic order in which code is executed (and how it’s affected by logical operators and loops), finally moving on to the basics of object-oriented programming.

“In my opinion, these are the most productive topics,” he said.

But as a separate step, Kapur also recommends learning scripting, for onerous day-to-day tasks like renaming files or manipulating data. “Or sometimes you just want to write code to produce code.” Kapur provides an example of a quick script that generates SQL query strings for an internal database.

This daily code doesn’t need to be running behind a full-fledged web application, but creating it will further enhance your capabilities.

“With a coding mindset, you now have a handy tool to solve some of your day-to-day problems.” And Kapur also offers more specific advice: choose a programming language to learn in depth.

Learning by doing

For a more hands-on experience, Kapur’s video also recommends participating in hackathons. “You will learn a lot, you will work with other people and it will give you a taste of what software engineering looks like in real life…

“Except real software engineering projects aren’t done in 48 hours and you actually have to test your code. And you’re not that sleep deprived.

But you get the experience of delivering a finished product to customers – in this case, your judges. “The best way to learn programming is to DoKapur points out. “And ideally, you’re working on something you’re passionate about.”

“So choose a topic that interests you and build something.”

The last step for new coders? Practice for the coding interviews they will inevitably encounter on their way to full-time software engineering jobs.

There are books to help. Kapur recommendsPython Programming Interview Items», and proposes a list of subjects likely to be approached. There are even sites that connect you with a partner to take turns conducting mock interviews.

Elements of Programming Interviews in Python - book cover (via Amazon)

But one of my favorite things about the video is how it combines practical advice on what and how to learn with the real-world experience of a practicing programmer.

While recommending studies of recursion and sorting algorithms, Kapur notes one of the ironies of job interview coding. “Chances are you using all of this at the actual job?” Close to zero. Are you likely to see these concepts in interviews? Quite high.

Kapur’s video also recommends becoming familiar with the tools used in real-world development environments – and at this point Kapur leans towards the text-based interfaces of terminal windows. When Hollywood shows hackers in movies staring at black screens with complicated characters “The only thing they got right was that they’re using the terminal.”

“I promise you that sooner or later you will have to familiarize yourself with the terminal. So might as well start now.

And as the video draws to a close, Kapur offers her audience of budding programmers a mixture of excitement and encouragement.

“I can’t say that the trip will always be rosy. But I promise it will be fulfilling.


Share.

Comments are closed.