"Do you like apples? Well I got her numbah, how you like them apples B)" I love that moment when Matt Damon totally owns that guy who's probably thinking " :/ son of a b1t#h". The one thing I hated about that scene though, and it still gets to me, was Matt Damon's response to the shot about Matt serving fries to that guys kids on their way to a ski trip because he'll have a "degree". Matt Damon responds "maybe, but at least I won't be unoriginal". Buuurn >_<
That scene stated that this Harvard grad student sweater vest guy couldn't get a job after getting his bachelors, went back to get his grad school degree in History, looks like, spend time reading books about pre-civil war economics, because of his grand knowledge on the matter he'll receive his degree and joyfully spend his remaining days taking his kids on ski trips..while partaking in the french fry.
Paints a beautiful picture. But I mean call him out on it! Tell him "Which job exactly pays you to read books?" or something >_< . I mean, that's not how real life works normally he needs to know. Which brings me to the title of this post. Finally. It's not what you memorized in years upon years of college, it's what you do with it. That always comes back to good old fashioned experience. A surgeon can read every medical text in the world and memorize every last word, but I guarantee you won't want that guy performing surgery on you. I read and memorized tons of material in my programming classes. Then in the real world, turns out, they're not very practical. When I see many new ideas coming out nowadays I always say "Man, I could totally have built that!" But in the end, I didn't have that idea. I knew how sure, but I couldn't piece it together before I saw it.
Don't Get Comfortable Just "Knowing" Something
Knowing how to do something is a fantastic thing. Neurons fire, synapses form, memories are strengthened, and bam there you are playing 3 chords on a guitar. But if that's all you do, don't assume you'll be the next Tony Iommi. I've met many many people that spend hours and hours all day long just spitting out someone else's ideas word for word. "I just read this and that, it must be true". Not once questioning it themselves, until someone else does it for them.
I knew someone once that raved and raved about new JavaScript framework because it could do this and that and blah. Then 2 weeks later, they hated it, because they read somewhere the negative parts to it. Dive in, learn how it works, see if it works. If it's amazing, great, that's your defense for using it. Maybe you can build amazing things without it. That's great too. The output is important, not the source. A battery is a great invention. But if it's just sitting on a desk then it's nothing worth talking about.
The Relatable Story
Because I like telling relatable stories to the subject matter, here goes. An old manager I once had decided that the database should have zero Boolean values in it. That it was the wrong design. Mind you, our 200+ tables were shrouded with Boolean values for all kinds of things. IsValid=true, for instance. He gave a vague reason, which made little to no sense. If that's what the guy wanted, sure why not. So I did the logical thing. I Googled it. And around page 6 I found one single blog post that proposed this design. It wasn't a popular blog or anything, just some random guy on the interwebs. But I'll never forget that his explanation for doing it, was almost verbatim, what my manager had told me. Did he read the post one day and just take it for what it's worth? Possible. I don't agree with that design, not because I read somewhere "Booleans are fantastic". But because I've used them, alot, throughout the years and they make sense and, I mean, come on >_< True or False. "Things that are not, can't BE, then nothing would not BE".
And by the way, the reason given was "Say you have an IsActive for a user, then you want to ban them, now you have to create a IsBanned column. Are banned users active? Now you have to maintain two flags!". Uh, no, you don't. If you're possible states are Active, Not Active, Banned, then you have some schema redesigns ahead of you. That is not a concrete enough reason to postulate that boolean values should never be used ever.
Quick Conclusion
I wrote this because I spent the day yesterday learning how to use Microsoft's WebMatrix. Webmatrix is a light-weight cloud based IDE that makes development to deployment pretty fast if you get the hang of it. And in the midst of my learning, I realized I didn't really have any project in mind to use this with. Like nada. So I will be making use of my new found knowledge soon hopefully. And I will write about whatever wonderful thing I end up building with it.
Walter Guevara is a Computer Scientist, software engineer, startup founder and previous mentor for a coding bootcamp. He has been creating software for the past 20 years.
Last updated on:
Have a question on this article?
You can leave me a question on this particular article (or any other really).
Ask a question