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?