I certainly understand where the idea comes from in regard to this line of questioning for an interview, but I belong to another school of thought entirely in regard to “getting it done” as a programmer. I’ve been programming since I was 12, I would be some what annoyed by that line of questioning and not be interested at all in working for people who thought being so linear was so important.
The mindset revealed by your questions is that only linear thinkers matter, those who are centered around facts are more valuable than those who are focused on process. The questions reminded me of the busy work they gave me in grammar school, just to hammer in multiplication tables, repeat, repeat, etc.
I would never waste my brain cells memorizing all that stuff, it’s dumb really, if I needed it I’d look it up, if not I’d keep it out of mind as it should be. Of course, all the linear thinkers love that stuff and they assign a belittled lable to those who don’t belong to their club, the posts from that school of thought takes on a snobbish allure here. I understand why they think it’s important and it’s a self fulfilling vicious cycle that other members of the linear thinkers club only want to hire and value other members. It’s also the flaw of being a linear thinker, you don’t understand any other way of thinking.
That’s not to say knowing this stuff isn’t valuable, it is to a particular type of thinker. The problem is that those type of thinkers are stuck thinking in a linear, one size fits all manner - thus the trap this sort of thinking creates. The problem with programming companies and IT in general is the over abundance of this one line way of looking at things.
Someone who doesn’t approach problems in this fashion is not “dumb” or unvaliable to a company and yes even as a programmer. Programming is about solving problems, how someone approaches problems when they really are problems is what makes a good programmer. The flaw with these type of busy work questions is that a programmer doesn’t create needless problems for themselves, they avoid them. When a needful solution is prevented by a real problem that can’t be avoided, then that’s when a programmer’s skill jump into action and finds the best short cut possible.
One does that by understanding the fundementals and using whatever means necessary to solve problems within the context they arise.
Being a spherical thinker and not a linear one, when I don’t need to be that is, I get why certain people would put out this kind of litmus test out there, but the flaw is that not everyone thinks like that and being a linear thinker would limit you to thinking that yes they do. Someone, like myself, wouldn’t be interested in doing a bunch of busy work for someone trying to se how many hoops I’d jump throw to prove to them how badly I wanted to work for them. I’d see the interviewer as flawed in his approach and limited in their concept of what makes a good programmer. The flaw is that this line of reasoning is so limited in scope.
Now of course the linears would brand me “not worthy” and would never question that their questions were off not me, but that’s what the limits of being a linear thinker consists of.
I’ve intereviewed for these kinds of jobs and this kind of mindset has come up almost always, and I’ve never wanted to work for any of them because of how they approach things. I’ve found out that my best bet as a programmer is working for myself because these IT companies just don’t “get it” when it comes to solving problems. Now that might sound like sour grapes but there’s a reason IT companies are always “looking for people”. If they’d stop hiring people who waste their time knowing things that don’t really matter and were more process oriented problem solvers, they’d get people who had broader forms of thinking. that would translate into better solutions and not just a code monkey’s code monkey with a code monkey stamp of approval.
That guy’s post, chaching, was actually right on - he said it in a brusque fashion, but I thought he was being humorous whihc was in sharp contrast to the stodgy approach presented in the post. He was right, someone who ws that “stuck” on factoids needs a figurative lead pipe to the head, as to say a reality check. The approach in the psot was someoting out of some geek wish list, someone who lives in a vacuum seeking validation by evaluating others on linear thining prowess, as if that was all that mattered or was the only way to approach problems. It’s funny how the linears took such offense to chaching’s post, again they can only see things one way - that’s the problem with having problem solvers that all linear thinkers. Yes, their focused thought process gives them on edge as far as mental reach - into the depths were others wouldn’t bother. But what linears fail to realize, because they are linears, is that they gain that edge at the cost of breath. Haivng great depth and limited breath is a liablity in many circumstances, especially as a problem solver. Again programmers are problems solvers not code monkeys just creating code for the sheer joy of creating code. A problem solver dedicates their brain cells to what they need to know at any given moment, the right code at the right time is a tool to get to a solution. Showing off how much code you can rattle off from the top of your head in spontaneous spurts over the course of a phone interview is the sort of bragging rights a linear thinker would deem important. I understand linear thinking and thinkers so I get that, what tells you something is that it doesn’t work that way the other way around and that is the fundemental flaw of linear approaches to things.