Share This Post

Startup

How to learn programming in 8 simple steps

We’ve all taken that resolution, “I’ll learn how to create a website this year” but in the end given up on that hoping to someday wake up armed with a great site. If you are one of those people, let me say hello to you by first saying “No offence” and telling you that you are the worst kind of person on this planet. You need to stop being lazy and do something about it.

If you are one of those people, don’t worry. Not all is lost. You can still make it. They say showing up is 50% of success.

I’ll share with you how I learn any new skill. I myself being an Electrical Engineering student have learned 5 different languages using these tips to the extent that now I am teaching others in my college how to program in those languages.

So, before further adieu, here are my “secrets”

1. Take up a project

Whenever I start learning a new language or framework, I usually assign myself a project for that. This helps in two ways. One, you get a reason to learn that skill you’ve always wanted. And two, you get a complete project to show off to others and authorize that you have actually learned it.

For example, I always try to emulate and create a small project like a photo sharing application or a to-do list. I can rest assured that as and when the project finishes, I can confidently say I’ve learned how to program in Rails. Well, at least more than 50% of the rest of aspiring candidates. Need proof? Look at the project you made.

If taking up a project just seems too overwhelming and big to you, worry not. We can easily get around that. Continue reading..

2. Break it into small pieces

What if I am just totally new to programming and directly take up a project. I am pretty sure it’ll take weeks, how do I motivate myself then? Well, just break the big project into small ones. Give yourself daily tasks and treat yourself if you complete the task.

A chocolate for finishing it up is the best motivator I’ve found. This might be because I am fat, but do whatever makes you happy. But beware, you should not break the task into seemingly impossible and complex tasks.  Rather…

3. Do one thing at a time

Break the project into tasks which accomplish one thing at a time. Think only about that one task for some time and all the possibilities which could break it. Do your best to avoid that breakage.

This will not only help you understand the working in a great detail, but also provide a solid foundation for the project if you decide to pursue it further in future. So, what do you do when that task is completed? (Celebrate and) Go to the next point.

4. Ask others for feedback

You should ask others about how does it look and feel and what they believe will be good for the project. This allows you to get a perspective from a different mind who is not thinking about the project all the time. And this perspective often opens your eyes to a new world of ideas and tricks. Plus, psychologically, it motivates you more to complete the project.

If you are a programmer, make a more experienced person read your code to get some feedback on that. You’ll get so much more invaluable information from their feedback than you’ll get by just re-reading your own code and iterating again and again. But don’t ask others on how to solve an error you are getting or when you are stuck, instead…

5. Research online

Finding stuff online is a time consuming affair, but believe me, it’s worth it. You’ll end up learning many things which will be vital as you move forward with your blog. Plus, you’ll also learn about best practices for common tasks such as authentication of a user, pagination etc.

If you are good at researching and finding stuff online, it will be the biggest asset in your life as a learner and help you in advance tasks which people around you might not be aware of. But if you are stuck at a point…

6. Don’t panic

There is absolutely no reason to start panicking if you are running into an error. Most of the time it will be a silly mistake. An error in syntax, an infinite loop, triggering a long command etc. If you are unable to solve a problem, don’t say it’s impossible; keep iterating over the code again and again.

Try to understand what’s going on under the hood and try to predict what might be causing the problem. After that, try to solve that problem.

Taking a break usually helps a lot. I, for example, go out for a walk whenever I am stuck on some problem for more than an hour. After I resume again, I have always, I repeat, ALWAYS been able to solve the issue and continue. But, if you really aren’t able to solve it even after that, there are always others who you could turn to. They’ll provide a solution, but don’t forget to thoroughly understand it before moving forward.

7. Maintain a schedule

I can’t really stress how much it is important for people to maintain a schedule and not let this thing take over their life. Plus, if you restrict the time you spend on learning, the more your desire and excitement to learn will increase.

Let’s say you have a day job as an advertiser and you decide to learn programming during non-office hours. You’ll find yourself enjoying your learning sessions more and will be dying to get back home from office to learn it.

But it is important to understand that learning this new skill is not the only thing in your life and you should not end up taking holidays because of it (or start missing your college classes!).

8. Be patient

There is no need to be disheartened if you are not an overnight success. 99.99% people aren’t. Everything takes time and so will programming. It is a long process and destination is not reward, it’s the journey itself. No one is born a skilled programmer, but practice and hard work makes them one.

 

I would love to hear what projects you’ve done to learn something and how did it turn out. Leave your responses in the comments below. Happy Learning!

 This was originally posted at Codelearn Blog. Talk to me @shobhitic

Comments

Share This Post

13 Comments

  1. 🙂 I hate programming.. but this post is different from the usual frightening posts with tough terms and all that gyan to create a website. Good post. 

  2. shobhit – i’ve got nothing to do with programming but i must say i loved this post. you’ve made it such an interesting read that even if it’s not relevant to someone – they will read it!

    keep writing dude….!

  3. Thank you very much. 🙂

  4. That means a lot.. Thank you! 🙂

  5. Hi,
    I’ve been trying since a long time to start coding but just dont know how and where to start from…..what is the basic i need to know.
    I am interested in app development to put forth my ideas my way….

  6. there are lots of open and free courses available online for free on sites such as codeacedemy, edx etc.

    try the CS50 course from the edx…. it is an intro to computer science focusing on data structures and algorithms.

    start from here if you are a novice.

  7. some additional points :

    in mumbai – join mumpy@googlegroups.com  .  its a python group having session once a month .js , linux sessions also happen at the same place , time.

    for python – check pyvideo.org

    own your editor

    hasgeek events , hasjob websites

    hang out on github .

    tc cheers

    karan

  8. Try codelearn.org. They teach you both server-side programming and android app development.

  9. Nice post Shobhit.. !! 🙂

    I am a non-technical person but I have always learnt things like coral,PS,html5,css,etc by assigning myself projects.. it’s indeed a great way to learn.

    but often i stop learning once the project it over. but you have given some good points to be aggressively proactive and learn the essentials before we need them. I will put these things into implementation.

  10. Hey, this looks cool. Where in mumbai do you guys meet?

  11. Yes, these work great. Using these methods I was able to learn and launch a profitable site. All the best. Let me know if you need any help! 🙂

  12. I love programming and learning HTML, CSS & Javascript. Problem is I am not able to focus and finish just one thing at a time. Your article really lays down clear path on how to go about it and learn in steps, one at a time and practice with projects. I will apply this learning and hopefully I will complete my current language that I am learning. Great Article!

  13. Stay strong Ashif! Let me know if you need any help

Comments are now closed for this post.

Lost Password

Register