It’s the end of the year, and while everyone is busy doing up their 2013 reflections and 2014 resolutions, I’m here to construct an effective coding plan for myself.

I discussed with my friend recently and came to a conclusion that I’ve been coding daily, but have not been making (significant) progress. It’s probably because I have…

Lack of a mentor, and lack of structure.

Everything I’ve learnt so far was based on my own effort and tinkering during the ample amount of free time I had. I don’t think I have fully utilised the time to make the best out of it, so here are my plans for 2014, at least before school starts. I’m going to dedicate at least an hour a day for each of them.

1. Take time to learn my current language well.

It’s tough to learn alone from resources such as Codecademy and Code School, but with the right mindset and attitude, learning definitely becomes easier. I am currently doing Objective-C, and coming from C++ background, it’s a whole new level. The length of methods, difference in syntax, etc. But as Eustace (a fellow coder who was from the same CCA as I was back in Secondary School) told me, don’t learn the language by syntax, learn it by concepts. Which is really great advice. Most languages do the same thing, in different syntax. So once you get the logic behind programming, learning a new language would be easy as pie! Gotta thank him for this golden advice! 🙂

2. Work on my web app, which is a blog.

For people who don’t know, I built my blog with Express, a node.js framework, which I learnt from hackerschool by NUSHackers. It doesn’t function as I expected it to, yet. Probably because I’m still a novice in many of the web development concepts such as AJAX. Most of the time I’m just rewriting the same app over and over again because I can never get it to work. But from doing this, I find joy in solving problems and bugs. I get that epic “YAY” feeling every time it works. I suppose this mini project of mine is a morale booster for me.

3. Revise fundamental computing concepts

I am definitely not exposed to many of such concepts. But here are a few of them that I do know, and is able to master:

  1. Search and sort algorithms
  2. Memory allocation (stack and heap)
  3. Data structures (hash tables, linked list etc)

It’s not very possible to go in depth with the limited amount of knowledge that I have, but for a start, it is good enough. All that I’ve learnt was from Harvard’s CS50. Thank God that I went through at least 6 of the problem sets in my free time. It has opened up the world of algorithms to me. I can’t be anymore thankful for this online course. 🙂

4. Reading, and immerse myself in the community

Spend more time reading what others have done, and contribute your own ideas. I think a great place for this is Quora. I’ve never felt so enriched and inspired by what others have to say on it. Immersing myself in the community is essential as well, because it helps when you know you’re not alone in this scary world. I almost always smile to myself when I discover another friend who’s coding. Medium has a decent amount of great articles, for both self improvement and coding. I just hope that I could utilise more of the resources I have at my disposal to my advantage.

As for the mentor, I could not wait until school starts where I can get consultation from at least a professor or a senior. It seems to me that the only ‘mentor’ that I have right now is Google and StackOverflow. (Quora sometimes too)

Here’s to half a year of coding, since June 2013, and as 2014 approaches, I do hope that I will only climb higher from where I am now.

Happy New Year! 🙂