Practice, Practice, Practice !!

In the pursuit of becoming a better programmer, I have come across lot of good things, which in fact have a lot of positive impact on my thinking, attitude and the way I approach a problem.  One of such thing is the book “Passionate Programmer” which I am currently reading. It is all about creating a remarkable career in software development. If you are a developer, it is a highly recommended book.     

There are a lot of impressive tips we can learn from this book of wisdom. One of Such tip is “Practice, Practice, and Practice!!” It talks about how to practice as a software developer. Though it seems like a mighty task, the author “Chad Fowler” convey this by breaking the might task into the following three category (Divide and Conquer Approach).

  • Learn and master the unexplored areas of the language that you are working with. Say for example, Regular Expressions
  • Dig your language’s API and don’t reinvent the wheel
Sight Reading
  • Learn by reading the code
  • Pick any of your favorite open source, explore it understand and learn the tips and tricks of the trade
  • Add some new feature
  • Be sure to vary the software you work with
  • Takes some structure or constraint and creating something new, on the fly on top of that structure. For example pick a simple program and try to write it with the self-imposed constraints
  • Play with Code Katas

It’s time for action

I believe these three very fundamental aspects makes a lot of difference. So, I’ve decided to get my hands dirty with these three things and here is my list of to dos.

Physical/Coordination – (I pick C# as its my primary language in my current role)
  • Regular Expressions
  • Dynamic Programming
  • Multithreading
  • Parallel Programming
  • LINQ
  • Reflection
  • Streams and Networking
  • Entity Framework
  • Data Structures and Algorithms
  • Customizing MVC3 Framework
Sight Reading
  • Exploring ASP.NET MVC3 source code
  • Exploring Nunit source Code
  • Blog my understanding during this exploration
  • Make most of Code Katas
  • Active participation in Technical Forums