Being a hacker has come back to bite me in some ways, though. Poor architecture decisions can really slow you down once you’ve gotten past the proof-of-concept stage. I’ve rewritten products from scratch after POC and I gained iteration speed because of it, but I do wish I had thought a bit harder about the arch before I jumped in.
Agreed. That’s what pushed me the other side. I think the answer is somewhere in the middle… at least, for me.
This article is neat because I think that it explains the difference between NJ style and MIT style on a personal level, rather than on a project-wide level, looking into the root causes of the MIT style. Although Ritchie could just dig in and make what people wanted, the lispers got stuck doing the right thing. CL was something of a concession, with loops, etc, but not “hack”-ish enough to cut it.
My favorite part of this is definitely the Into the Woods quote though.
My favorite anecdote about MIT vs. NJ style comes from Richard Feynman in “Surely You’re Joking” (pg 62). Feyman graduated from MIT undergrad and entered a PhD program at Princeton, because all the best results from experimental physics were coming out of their cyclotron. When Feynman showed up he realized why. Everything at Princeton was a hack job — wires strewn everywhere, a real mess. But they were agile, hacked things fast and got the best results the fastest. But all that chaos eventually caused a fire that destroyed the cyclotron.
Startups hack because that’s how you make big wins. But once you’re established the risk of fires outweighs the potential gains, so you slow down and do things MIT style.
Funny seeing a post by Beau on here already! Small world. I think I’m correct in saying that Beau is hacking here in either Ruby or Clojure? I feel exceedingly happy as a hacker more often now that our prototyping no longer resides in static languages (ala Java).