Two approaches to programming
There are two approaches to programming life when it comes to
resolving issues.
First one is: get the hell on with it. The engineer’s mindset. Who cares if it’s suboptimal or if it’s just reinventing the wheel (again). Just fucking do it. Don’t google about it, don’t read and don’t ask. There’s you, there’s this keyboard and there will be code.
And the second one is? Academic. Probably someone on this planet has had this problem before. And perhaps that someone was nice enough to document the solution. Even better, there was a poor-ass PhD who spent a couple of years thinking about just this problem, solving every edge case of it and inventing the most optimal solution ever. The challenge is to find it, to understand it and to re-use it.
And obviously life offers no absolutes and the optimal approach is problem-dependant. However we all have our tendencies for one or another approaches. I just realised I am more of an academic type. I quietly accumulate knowledge so that if I ever need to sort by two fields simultaneously I apply a search by the first field and then a stable search by the second. And then do a little smug dance in my head: “I knew that blog-post/book chapter would eventually pay off!” imagining a poor soul somewhere on this planet debugging his deep recurrence who is still proudly thinking to himself what a clever-ass he is for solving such a challenging problem… But he’s not! Evil cackle. I hope you can forgive me for such an occasional bout of smugness.
But it’s not good to be too academic-minded either. In a search of the best solution known to humankind I am wasting my time as it’s often unnecessary to solve the problem in the best way possible. What’s amazing about life is that the most intuitive and simple solution that you implement… just works and it’s good enough. Beats me every time.
This brings me to the essay that I really enjoyed reading. The essay is publish by Prometheus Society which is a high IQ society but much more restrictive than Mensa. They have a journal with a heavy focus on the topic of intelligence. In The Changing Face of Intelligence the author tells us how society’s idea of intelligence has changed over time. In the past abundant and snap memory used to be more valuable than it is now, hence the notion of intelligence was strongly attributed to having good memory. Recently the idea of intelligence has shifted away from just having a good memory more towards fluency: ability to solve puzzles quickly, infamously used by recruiters at many big tech companies (until recently - I heard Google stopped using brain-teasers which means every self-respecting tech company now must follow the lead. Snap.). Finally, the author argues that the trait he calls “resourcefulness”, which is the ability to quickly find relevant information and make use of it will become the defining characteristic of the intelligence in the nearest future. Here’s why:
The body of modern knowledge is enormous—too huge for one individual to master—even 5 lifetimes; continual advancement, especially in the technologies, assures that every man will always be “slightly ignorant” (even regarding the developments in his own specialty) and that, inevitably, he will often need to consult references for an explanation of new discoveries. The efficient use of such reference sources, necessary for adaptation to an ever-changing society, is of vital practical importance; gaining access to the facts of interest, when (abundant) information is stored in a complex manner, is facilitated by a divergent type of thinking called “resourcefulness.” This “resourcefulness,” as a key determinant of success in the modern world, may be a valid criterion by which to evaluate adult intelligence. - See more at:
C. L. Frost
And there you have it. The academic approach is THE WAY, says Frost. Well, thank you Mr. Frost, I feel better now.
Thanks for reading. I don’t know how to end this properly, so baduabum tish.