In my first year of college, learning games development, I was told repeatedly that a lazy programmer is a good programmer. Why do work when someone else has done it already? (It was meant in terms of code re-use, but that transfers nicely to this. After all, I'm only re-using someone else's code)
In my opinion, it's similar to the difference between depth-first and breadth-first. You can spend a few weeks learning the ins and outs of something and become and expert at it, or you can do several things in the same time (using the jigsaw method - just find the pieces and put them together) and learn small parts of each.
There're merits to both sides. [Shameless plugging going on now] For example, for a html5 game engine I've been working on[0], we spent several weeks just learning the underlying frameworks, then looking into other game engines and how they're architected, etc. It's still not finished - we ran into college time and put it on hold. However, I've since gotten a job because of the skills I picked up through working on the engine.
However, for a geolocation alarm app [1] that I decided to work up, I used the jigsaw method. I finished it in a few days. I learned a couple of things, but nothing major. A very small addition to my skillset. On the other hand, it was enjoyable to do, and it flled a hole that I had come across.
So, I suppose, deciding on which method to use is just a matter of context. Two-day deadline? Stackoverflow. Six weeks and lots of free time? Actually learn it and add it to your CV.
Comments
In my first year of college, learning games development, I was told repeatedly that a lazy programmer is a good programmer. Why do work when someone else has done it already? (It was meant in terms of code re-use, but that transfers nicely to this. After all, I'm only re-using someone else's code)
In my opinion, it's similar to the difference between depth-first and breadth-first. You can spend a few weeks learning the ins and outs of something and become and expert at it, or you can do several things in the same time (using the jigsaw method - just find the pieces and put them together) and learn small parts of each.
There're merits to both sides. [Shameless plugging going on now] For example, for a html5 game engine I've been working on[0], we spent several weeks just learning the underlying frameworks, then looking into other game engines and how they're architected, etc. It's still not finished - we ran into college time and put it on hold. However, I've since gotten a job because of the skills I picked up through working on the engine.
However, for a geolocation alarm app [1] that I decided to work up, I used the jigsaw method. I finished it in a few days. I learned a couple of things, but nothing major. A very small addition to my skillset. On the other hand, it was enjoyable to do, and it flled a hole that I had come across.
So, I suppose, deciding on which method to use is just a matter of context. Two-day deadline? Stackoverflow. Six weeks and lots of free time? Actually learn it and add it to your CV.
[0] http://flax.ie [1] http://flax.ie/an-app-in-under-five-hours/