As smart people who deal a lot with binaryness (there is a right answer), we place high regard for education, as we should. But please understand that business and academia are 2 different animals with only a little overlap. I have lots of education and lots of practical work experience, and I have to be careful when to apply my formal education, which isn't often.
Classic example (I'm sure many of you have many more):
I graduated Allegheny College with the founders of ijet.com. At an alumni event, they presented their business case and web site. It was very interesting. At the end, a business professor summed things up. Not a single thing he said made any sense or had anything to do with the presentation. I wondered if he had even watched it. That's when I decided to stop feeling bad about sleeping through all that Cost/Value Curve B.S. many years ago.
"all the things that you would need to learn in a full-time 2 year MBA program"
I can't think of a single thing that would be on that list. Business School is not like Law School or Medical School where you must remember the "things" you learned. Employers use the MBA to differentiate candidates. It's unlikely that you'll use all that much from the curriculum on your first job. You even say so yourself, "firms hire MBAs on their abilities to learn and not what they've already learned".
"Instead of students studying Literature, Art, History, and Science they would be going through the motions of a scholar while occupying their minds with things that formerly had been learned at a desk as an apprentice in a dreary Victorian counting house."
That may be the best description of the concerns of the MBA I've ever read.
I place high value on my MBA from the University of Pittsburgh, but for reasons one wouldn't expect.
I remember almost nothing from the course material itself. You can get that from almost any book. The time value of money, how to read financial statements, the 4 P's of marketing (or was it the 4 B's?), different management theories, etc., etc., etc.
What I remember vividly are the interactions with other people, professors and other students, some of whom already had many years of experience. I'm not sure how else I could have had this experience. Some of my most vivid memories:
"You will NOT become an engineer, programmer, or web developer, but you will be able to put a prototype of your idea together and maybe get one or two beta users for feedback:"
You will also be able to have an intelligent conversation with a developer.
I get sad whenever I encounter a business person with no technical B.S. filter. Not because I'm judging them, but because if I can B.S. them, any other developer can. Which probably means there's a problem somewhere that will hurt all of us.
When I hire, I'm not looking for a person or a resource. I'm looking for a solution to my problem. Sometimes that problem is big, sometimes it's urgent. But there's always a problem needing to be solved. The more a candidate looks like a solution to my problem, the closer to the front of the pile he/she gets.
The most important thing for any candidate to do is to identify my problem(s) and present themselves as the solution. The problem could be:
- We just got a bunch of new business and need someone to do immediately to satisfy those customers.
"Do you prefer a single page resume or multi-page? If multi, then how many pages of resume you think is good enough to sell you?"
Single page. If I absolutely, positively have more to say, I occasionally attach a one-page Appendix, "Sample of Project Particulars," which includes 5 or 6 quick stories about major projects I completed that are relevant to the company and position I'm submitting to.
"Do you elaborate on your work experience (like, job description, responsibilities, etc.) or you want to keep it short?"
I was recently contacted by a head hunter for a job I thought was worth investigating. I wanted to talk to the company directly, but the head hunter made it clear that Step 1 was always a web-based programming aptitude test, no matter who you were. 20 questions. 18 correct was considered passing. They would only talk to candidates who got 19 or 20 correct.
So I took the test and got 20 correct (as I imagine many would as well). I thought it was very easy. The headhunter later told me that in 9 months, she had sent 52 people to the test, only 2 of us got 19, and I was the only one who got 20.
I'm not really sure what this means. That there are a lot of posers out there? That she wasn't very good at screening talent? That the companies seeking the best talent gladly pay $100 for automated screening 50 times to save their time?
The entire test was about a fictitious language. I forget what they named it. Every question built upon the previous.
The first question was something like, "These are the definitions of variables: A string is: An integer is: A date is:" Then the question would be something like, "What can '15232' be? a. an integer b. a string c. a date d. any of the above e. a and c".
Another question might be "Here are the rules of precedence: What is (1 + 2) * (3 + 4) / 3 a. 4 b. 2 c. 7 d. 12 e. Can't tell for sure."
As a hiring manager, I look for someone who "gets things done". No surprise that this takes many things: knowledge, skill, smarts, creativity, experience, team work, and maybe most important: attitude. You have just self-identified your bad attitude. If you think this is "draconian and insulting", just wait until your knee deep in digital crap with customers barking at you all day long.
"I cannot vouch for its efficacy as I've never used it when hiring people."
I can. Nothing works better. Period. If I have 30 to 60 minutes to find out how well you'll perform, I'll have you code and teach me what you've done. I don't care what you've done before, your state of mind, or even if your code ever runs or compiles. If you're any good at all, I'll find out. If you're a poser, I'll find that out, too. And if you don't want to play along, then either you're a poser avoiding exposure or a prima donna who is saving me a lot of suffering down the road.
1. You say "during the application process". Have you even met the hiring manager at this point? Worse yet, have you met "anyone" or are you just stuck in some automated process? Never forget that employment application is a two-way street; you're evaluating them as much as they're evaluating you. They haven't earned the right to see your code yet.
2. This approach should be a red flag to any applicant. They want to see old code to evaluate you when they are 64 better ways to do that? Something's fishy here. Someone has no idea what they're doing.
"No, coding on the whiteboard or on paper, or even the 5-minute exercise on the laptop is not really coding."
It doesn't matter whether or not it's "really coding". All that matters is how effective it is in evaluating your candidate.
I have interviewed over 2,500 developer candidates and every single one has had to code with pencil and paper, in a room alone for 15 to 30 minutes. This has always been, by far, the most effective thing I could have done.
Huh? You're worrying about whether or not what you write on a white board will compile? How do you know? Press a magic button to OCR what you've written, download it into some computer somewhere, and compile it? Sounds like you're interviewing at firms with technology I didn't know existed.
Your interviewers have you code on a white board so that they can evaluate "you", not your code. They want to see how you handle a problem, how you approach your work, how you think on your feet, how you deal with interaction, and how your intelligence and experience applies to their business. Anyone who worries about whether white board code actually compiles is missing the point. If they're more interested in perfect syntax than embracing you and your potential contribution, then you don't want to work for them anyway.
Here's one of my favorite examples that can work for almost any language.
Remember, before any of this happens, I have already helped the candidate get comfortable and have made the purpose of the exercise clear: to assess where they're at and how/where they might fit in. It is not a test. Just an exercise to help us both. I offer them a soda or coffee, a little privacy, and this little problem:
You have an array. Call it "a" or whatever you want. It has a bunch of elements, numeric, alphanumeric, or whatever. You decide. Sort it. Without using a second array or a pre-existing function or routine. While I'm explaining this I'm sketching it out with my own pencil and paper. I suggest that they sketch out what they want to do themselves and then write some code (in the language being evaluated) or just pseudo code for general purposes. Be prepared to discuss whatever you want to present. Don't go nuts, just a few pages and 15 to 30 minutes. And have fun.
"My biggest pet peeve with these types of tests is this: there are a lot of companies out there, and I'm sending out resumes to each one that I can find."
That's your first mistake.
Why should a company take you seriously if you don't take them seriously? Every resume you send out should be custom written and carefully crafted to address their requirements, not yours. Do you do any research into the companies you're applying to? You should.
I take it a step further. I always send a hand written Thank You Note by snail mail. Always. I have never failed to do this.
Why? Because if someone has spent an hour of their time (I don't care if it's on company time) to potentially change my life, the least I could do is take 5 minutes to share a sincere Thank You. I always take the time to hand write it, I always make it personal, and I am always sincere. (If you're going to be even 1% phony, don't bother, people will see right through it).
As a former developer turned manager turned developer again, a few suggestions:
1. Never lose your developer mindset. Personally, I have great difficulty respecting a non-technical manager of technicians. I bet I'm not the only one.
2. Manage things. Get good at project management. Very good. A good plan, agreed upon, well built and administered, will always be your friend. Something for everyone to fall back on when things get hairy.