Yep, that's exactly how I do it. I've seen people use whiteboards and pens and paper to solve problems, but nothing solves a problem like tactfully tackling it head on and persisting until you solve it. Having said that, some people work better writing down their problems on a whiteboard and others physically solving them.
In my day-to-day I try and avoid writing as much code as possible. If someone else has solved the problem, I'll read through their code and understand it, then implement. Developers at the end of the day are hackers. I think as long as you know how and what to Google, then you're more than capable. The difference between a good developer and a bad developer isn't knowing all the answers it's knowing where to find the answers when you need them whether that be documentation, a Google search or even a physical book.
Because lets be honest here. In the day-to-day life of a developer what percentage of developers actually solve their problems manually using their brains as opposed to finding the solution on Stackoverflow, forum or blog post? I'd be willing to bet a large percentage do. When I get stuck on something I hit Google, in an interview if they were to take into account your problem solving skills in the form of a Google search, then that would be more than fine. But I am willing to bet most interviews don't allow you to search for answers.
nothing solves a problem like tactfully tackling it head on and persisting until you solve it
The problem with this approach is it very often leads to you getting stuck on a local optima. For many problems that is good enough, but there's a good chance you might miss an entirely different approach that will lead to more optimal solution.
I'm torn on this. I get what quanticle is saying, that Big-O is very important. I've developed an appreciation for it even if I didn't take CS in college (I took the redheaded bastard stepchild major of CIS).
quanticle is suggesting there is a purposeful, formal means of discussing and identifying performance, irrespective of how it's measured/profiled or addressed.
Here's the rub: why don't job openings eliminate the other requirements and just put Big-O (and a language) as the two must have items on the list. Keep it short. Eliminate the History majors, the non-college types and the CIS (almost but not good enough) types.
That, more than any FizzBuzz, should weed out the chaff instantly. If it's that important to that specific job, then just say so explicitly. Help folks self-filter themselves out.
Let's just hope getting in the door with that Big-O knowledge isn't wasted on run of the mill CRUD apps.
Or he realizes he doesn't understand the hard core mathematical basis, but knows to go looking for the most efficient algorithms for a given problem type.
The history of computing is largely dominated by software which got done, not done perfectly.
He probably does it the same way you do, idea, code, build, test, analyze.