There is some much choice to become a better programmer/developer. But all that advice can be distilled into these points:

  • Learn types of programming(imperative, declarative, dataflow, functional, procedural).
  • Practice on coding websites.
  • Pick up algorithmic books and coding (best-practices) books.
  • Search technical articles.
  • Get experience with side projects/internships/ community development in the form of open source software. From various sources(reddit, stackoverflow and so on)

Sometimes too much choice is no choice at all, a paradox.

That said, how does one make use of the advice listed above:

  • Have passion. Going very far on this road to this less-than-great programmer place is going to be a long one, meaning there are a lot of known unknowns and unknown unknowns on the journey. So if you do not have passion, you are going to hate every step of the way.
  • Make a schedule and stick to it. I mean, stick to it. Think in long-term and short-term. Sometimes applying for jobs might get in the way, but make out time for them in your schedule.
  • Follow the advice listed above in the beginning part of the document in any order you like.
  • Code daily, in terms of hours or in terms of a goal(like shipping a function/tidying up documentation).Coding is like a muscle. It needs to worked on at regular intervals.

That said, do I follow my own advice? I try to and fail, sometimes so miserably. After all, I am only human.

One of the ways I am trying to do follow it is by putting out this blog.The blog,

  • imposes artifical deadlines on myself as I have to dedicate myself to push out content(show what I have learned) on a regular basis
  • exposes my insecurities about my programming. Some of my code would be , for a lack of a better word , shitte.

Question of the day : So what realizations have you come to today?