Return to Article List

Do I Really Need to Understand All That?


My computer has a power supply, without which it would not function. I don’t understand its inner workings, but I know what it's responsible for and how to plug it in. Is that enough?

I want to have a firm grip on every line of code I write, from the big picture of what task it’s intended to accomplish down to the reason for every comma, semi-colon, and curly bracket. What developer doesn’t? Lately, however, I’m finding it impossible to meet that understanding threshold and keep up in class. I find myself increasingly resorting to “hook it up and make it work and worry about how it works later,” which so goes against my nature that it’s really been bothering me. 

I’m not talking about a little cut and paste coding - if I’ve got working code that does what I need to do, snipping it from Project A and inserting it into Project B is a no-brainer. I’m comfortable with this even when I didn’t write the code that I’m re-using, as long as I could have. That was my yardstick, but in the course of this boot camp program, I’ve determined it’s time retire that yardstick, because it’s holding me back.

This is not traditional education, and my learning style of wanting to get every step of a process before I carry it out doesn’t work here. In fact it I’m coming to realize that it’s impeding my progress. The goal of this program is to walk out able to implement C# MVC .NET, AngularJS, Web API, and supporting technologies after just 12 weeks of training. That’s a LOT of stuff. This could never occur so quickly in a traditional education setting, where you learn theory and then put it into practice. Here at Coder Foundry it’s possible because that process has been inverted, with practice put first - not completely before theory, but with the bare minimum theory necessary to make it possible to get the practice started. Sometimes along the way they just hand us a building block that supplies some functionality that’s needed, and our task is to make the proper connections and get on with the rest of the project.

The process of practice first has been somewhat of an uncomfortable thing for me, but the results so far have been pretty impressive.  Just check out my Bug Tracker and Car Finder projects, for example. This doesn’t mean that theory and thorough understanding don’t matter, but rather they are not required prerequisites to success, and that they don’t always have to come first.



On 03/06/15 David.Jolly said:
Good post. And, more importantly, good observation. I think we are past the days of being able to understand the inner workings of all our tools. Modern development work is highly "recombinant" in nature. Success comes to those who grasp the larger issues and purpose, then assemble what's necessary for a solution. It's well beyond reusing your own code. Like it or not, modernity is mashups. But, I think that's ok. It fosters a sense of connectedness, and frees us to think about collaborating and solving problems. Indeed, I can hardly wait to see where it all leads.
On 10/30/09 Devin said:
testing your blog

Add Comment

Return to Article List