Joel on Software has a great article stating how it is nearly impossible to become a "master" programmer in all fields, or even more than one field.
Leaky abstractions mean that we live with a hockey stick learning curve: you can learn 90% of what you use day by day with a week of learning. But the other 10% might take you a couple of years catching up. That's where the really experienced programmers will shine over the people who say "whatever you want me to do, I can just pick up the book and learn how to do it."
I've found this to be quite true through my own trials and tribulations. In my time off, I tried to create a WinAmp plugin. The idea would use a simple database to track what you've listened to. There would then be a GUI where you could generate reports of your listening habbits and playlists based on your listening habbits. So, the way I figured it, there really were three pieces to the puzzle.
Basically 1, 2, and 3 added up to three new technologies for me to learn in order to pump out this simple little idea for a program. Three technologies turned out to be too many -- the time commitment to learn all three at once for a "side project" was too much. I was able to learn bits and pieces of each fairly quickly, but when it came time to debugging cryptic compile errors in Visual Studio and understanding the poorly documented WinAmp API, I needed the last 10% that Joel talks about.
It's good to look at another competing domain every now and again. I've already seen things I like in ASP.NET, things that could be (and are being added) into J2EE or supporting open source tools. Overall, I think it helps me better understand that last 10% of each platform that Joel talks about.Posted by Eli at December 11, 2002 05:25 PM | TrackBack