Monday, March 14, 2016

The they don't teach you in school a.k.a. Any idiot can follow a recipe

Due to the accelerated nature of the curriculum, there was an awful lot of "don't worry about it, just follow the cookbook".  Because the teachers knew what they were doing, the cookbook worked.  The problem: you can give any idiot a recipe for pie, and you'll usually get a decent pie.  The challenge: adapt the recipe to a new filling, a new crust, a different stove...

This bothered me at the time, and it drove some of my cohort to distraction.  The simple truth, though, is that a bootcamp just doesn't have time to cover every possible contingency and the background.  The more I work on computering, the more I believe in the "Become an expert programmer in 10 years" paradigm.  And you know what?  I'm fine with that.  I got into this to have a project that would take me a long time to mastery (but would have measurable milestones along the way.)

The things I did get from bootcamp are a) a curated list of topics that I should focus on, b) familiarity with how things should look when they're working; and c) enough knowledge to understand the reference I do find.

Part a) is important because there's an unlimited ocean of possible paths out there.  I learned a foundational technology (python) and one solid implementation (django) deployed on the web via heroku.  I can modify these, and improve them, and refer back to them as I improve.

I also have other things that I need to keep working on: javascript (including Node, Backbone and Angular libraries), server archtecture, and so on.

Part b) (knowing what a working prototype should be able to do) is vital.  Knowing something is possible is more than half of getting it work yourself.  It's vastly harder to do something when you don't know what the finished product should look like.

Part c) is probably the most valuable.  Before gocode, the Python documentation was over my head.  I usually had to find a Stack Overflow answer at an ELI5 (explain it like I'm 5) level.  Having the self-confidence to find answers is so useful...I'm really beginning to believe I can do this.

This all comes up because I spent a lot of time today wrestling not with python, or django, or JS...but with OSX.  I started following the heroku tutorial on setting up a new pyton app (to see what I'd missed in following the cookbook when setting up catfinder).  In the process, I got a an error in that my installation into a virtual environment couldn't find my PostgreSQL install.

End result: I know a lot more about paths, config scripts, and OSX than I did a few hours ago.  That wasn't what I set out to learn, but knowing how your own computer works is pretty essential part of making everything else work.


No comments:

Post a Comment