The best way to learn it is to do it

Prahlad Annamraju
Published in
3 min readMar 23, 2018

--

Let’s talk about practicality. Sometimes, you’re just going to have to throw yourself in the line of fire. I’ve realized over the past few months that bookish knowledge does not translate to real world success and sustainability as a software engineer. It’s important to bury your face in a textbook once in a while, but it’s even more important to actually write code.

Don’t be that new kid at your job who’s never written a line of code in real life.

If you do decide to take the more formal, academic approach to learning computer science, I found it helpful to code along as you learn and read new concepts. It doesn’t hurt, and it will help reinforce the material at the cost of spending a little more time on each concept. At the very least, look at the answers and try to replicate them yourself in real code and get it to run!

When following tutorials that provide boilerplate code to follow along, don’t be afraid to pause the video or set aside the article to go down a different path to experiment. If you’re creating a game, and you just learned how to let your character shoot a gun, try implementing a multiple gun system in which the character can select and shoot different guns. If you’re learning how to access data from a database, try designing a more generic way to easily access the same data from different databases!

However you prefer to learn, don’t be afraid to go crazy or experiment. No one is watching, and no one is judging.

If you break something to the point of no return, you can always return to the supplied code and resume the tutorials.

You may kick ass at writing psuedocode, but getting real code to actually compile and run without bugs is a skill in its own right. By practicing even the simple stuff, you will develop a stronger domain knowledge of the languages and frameworks you use. You’ll run into all of the nuances they have to offer, and face obscure & trivial issues that you wouldn’t encounter in a tutorial anywhere.

As a software engineer, a huge portion of your time will be spent resolving very obscure edge cases and fixing bugs. Going in with that extra edge will let you spend less time on the bullshit, and more time actually developing cool technology!

This habit of doing things yourself can also extend to other aspects of your life, and the more you get your hands dirty with your craft, the more your passion will shine. People will know you’re the go-to guy or girl who can get the job done.

This is #7 in a series of articles intended to document my self-taught journey into the world of computer science. I’ll be sharing my experiences and tips that I’ve learned over the past couple of years. Have a look at all of my posts!

--

--