In the efforts of forever growing and learning, I've decided to break out of my shell a little bit, and work my way through a popular MIT course-book, Structure and Interpretation of Computer Programs or SICP written by Hal Abelson, Jerry Sussman and Julie Sussman. It's available freely online, and comes with useful exercises along with it, as well as videos by two of the book's authors, (Hal Abelson and Gerald Jay Sussman.)
One of the reasons that I think this would be a good practice for me is it's return in the long road on my path towards becoming a programming craftsman. I've begun to note a bit of a rut that I've gotten stuck in. It all began when I revived a 100-200 member social community as admin, mainly centered around a forum. In the process of administrating this community, I was exposed to a lot of technical issues. Most of my work at that time was in managing the social dynamics, as well as extending the forum software with "skins", or new looks. At the time, it was difficult, as I did not know much about HTML, CSS, or Web Standards.
As time went on, I began to grow more confident in my skills, and began to look at what was "under the hood" of the forum (Invision Power Board 1.x-2.x, for the curious.) With that, I began to learn about, and use, PHP. All was well, in that I was learning how to make interesting web pages, and it was easy to pick up.
Fast forward some amount of years, to the time I began attending Midwestern State University. I was cocky, and sure of my skills, despite only being a "web guy." It wasn't long before I was exposed directly to C++ and Assembly. Learning them academically for the time that I was attending, however, was not enough. I began to dabble in communities of programmers, observing the way that they operate. In particular, I looked at game programmers, and open source application developers. Fortunately, what I found out was that I knew very little.
At this point, I decided to strike out in a new direction, and picked up Python. Quickly. It was extremely easy to become comfortable with it, and with my newfound language, I became satisfied.
But this isn't good, is it? If I become complacent, and decide to stop learning about everything else that is going on, then how will I be able to tell what is good, and what is not? This dilemma, then, is why I've resolved for the new year to work my way through the SICP, and it's exercises, all the while logging my thoughts down.
If you're still reading, then congratulations. You were able to withstand some of my personal history, and that's quite an accomplishment! In any case, onwards with the learning, onwards with mastery!
-AndrewBC

0 comments:
Post a Comment