Code Every Day
April 14, 2014Inspired by John Resig (who was, in turn, inspired by Jennifer Dewalt), I am going to write code every day, starting today. I hope to write about my coding progress regularly on this blog.
Why I intend on writing as I go along
- Obligate myself to actually code every day (though this may not work because this blog has practically no readership)
- Keep a log of my progress over time
- Recall the reasoning I used when justifying decisions (e.g. this list describes why I decided to blog while doing this)
What I hope to gain from this
- Better programming skills and intuition. Improved familiarity with tools, paradigms, etc.
- Learn new frameworks, languages, etc. by application rather than just reading docs
- Improve ability to create habits. Build willpower.
- Create some interesting projects, hopefully some worth mentioning in a technical interview or something (for those “describe a time you ran into a problem when programming and how you fixed your problem”-type questions)
- Spend my free time more productively (as of now, coding seems like a much more useful way of spending my free time than playing video games or watching Netflix. I have also heard that, after programming reguarly and a lot, one comes to realize that not all coding is useful and there are better ways to spend time than coding without a clear, predefined outline/action plan)
- Meet people, become more familiar with the many programming communities on the Internet.
Ideas for what to do each day
This section is more of just a brainstorm/dump of different ways I can code each day.
- Learn a new language or framework. On my to-learn list: Haskell, Scala, R, (possibly) D, express (and other web JavaScript frameworks), Fortran (for class)
- Write code demonstrating topics taught in class (while I’m not currently taking any computer science courses, I am taking High Performance Scientific Computing (available on Coursera), which I can write code for)
- Play with APIs and write tools for myself and others
- Collaborate with others on projects
- Contribute to open source projects