Tips for hobbyist programmers

Tips for hobbyist programmers

How many times did you take an attempt to develop some coding skills, but lost the enthusiasm down the line? Recently, I had some success guiding a friend of mine to learn some coding, which was good enough to create his own website and try out programming problems. So if coding is not your bread and butter, but you want to taste the flavor anyway - you might find these tips useful.

I will talk specifically about the three most common problems I have seen.

  1. Sense of Inferiority: This one is applicable to learning anything new - not only programming. Within a short while, we start feeling challenged, which tempts us to switch to some other activity that gives us a better sense of control - like watching a reality show and judge candidates, making a sarcastic comment to some Facebook post, or simply lying and being happy that we are able to do what we like.
  2. So Many Options: These days, even for a full-time programmer, it is a challenge to pick one new language to learn. Programming is almost everywhere - and there are so many options for each domain.
  3. No Fixed Learning Path: If a student is learning Calculus in school - we know they have already completed the prerequisites - Algebra, Limit, Function. But for someone who has just started a PHP tutorial, it is difficult to assume their background.

This is how I think we can encounter these challenges:

  1. Get used to feeling stupid: When you start a tutorial, you will most likely have a smooth start learning how to print 2+2 on the screen, but very soon things might start going messy and you will feel out of control. Tell yourself that there are millions of other people who know some programming, encountered the same problem, and there is a reward after overcoming it.
  2. Focus on a project - not language or feature: Since there are many languages, and many features in every language, whenever we start feeling challenged, we tend to switch language/feature until we decide to quit. Remember - it is the problem-solving skill which matters, not the language itself. If you know how to solve a problem with language X, you are one step ahead to solve similar problems with language Y. The same thing is applicable to language features - if you learn 10 features well, the 11th feature might not be as hard as the early ones. So, in order to remain focused, pick a task/project (even if very small) you want to accomplish, and consider the language only a tool. You just need to learn well enough to finish your task. It is okay not to explore thousands of other languages and hundreds of other features of the language you picked.
  3. Be aware of drop-off points: If you feel like taking a nap, or checking out your Facebook feed - think for a second "why now?". Is it because you are in front of PC for a long time, or you encountered an uncomfortable topic in the tutorial? If it is the latter one, chances are high that it is a drop-off point, and you are not likely to come back.
  4. Get used to new learning methods: In school, we used to finish all pre-requisites before learning anything new (see the Calculus analogy mentioned above). In the case of programming, take it easy if you don't understand everything as you go. You might learn that particular bit at some later stage, or maybe never - but still be able to take substantial knowledge out of it. It is time to tell you a secret - whoever made millions from being a developer, might not know many things about the language they use!
  5. Don't waste time on minor stuff: DON'T start customizing the theme or font color - just don't unleash that evil until you gain some useful knowledge. Once you start doing it, you will find it more comfortable than actual contents - unknowingly spend hours on it before quitting. For the same reason, don't spend much time doing similar things you already know. For example, if you know how to print "Hello World", you don't need to print "Hello Mars", or other planets - unless you attempt it in a different way.

So pick a small task now and a language to accomplish it - and most importantly remain focused on the mission. Happy coding!

[Habib Rahman, Credit Analyst at Nestlé Canada Inc., helped writing this article]

Mahfuz Chowdhury

Bioengineer | Data-driven Cell-based Bioprocess Development and Device Manufacturing | Startup Enthusiast

4 年

I totally agree, just pick a project (don't matter how small it is) you love and try to accomplish it. Learn on the way of doing things.

回复

要查看或添加评论,请登录

Mohammad Arifur Rahman的更多文章

社区洞察

其他会员也浏览了