Asking to see employer's code/database in an interview

You can definitely ask. The answer may be "No," but nobody should consider that to be a bad or inappropriate question.

If they won't show you the code, you should definitely take that into account when you decide whether you want to accept an offer. I would take it as a sign that at least one of the following things is true:

  • The code is so horrible that they know you'll run away screaming.
  • The company has an ultra-secretive trust-nobody culture (which I would hate).
  • The company thinks they have such amazing code that just glancing at it would turn you into a superstar competitor. (In other words, they're self-deluded morons.)
  • They have glaring security holes that they hope to keep secret.
  • The people who are interviewing you don't know how to get the code themselves. (In which case you are not talking to the right people.)

I'd be more interested in seeing the company's systems - i.e. test framework, release process, autobuilds.... The presence or absence of those would tell me a lot more than a couple hundred lines of code.


I did ask: "Can I see some code and talk to programmers working here?"

The employer replied: "Sure! Come you can directly talk to our lead programmer of our information system!"

What an honor!

  • they showed me concept papers
  • I could talk to the lead programmer
  • they showed me a small part of a very new project telling: "this is just a prototype, direct3d is so sketchy, that's why this code is so messy"

It turned out that:

  • the lead programmer left the day I arrived
  • the software he had the lead, was a big mess
  • somehow I ended up spending 50% of my time, fighting against the mess

None of the candidates we have interviewed have ever asked that; however, many of them have been co-ops/interns in the company so they are familiar with our code...

Having said that, it is highly unlikely we will show our code to ANY candidate, regardless of an NDA. I would be happy to answer questions about what technologies we use, what system we use for revisions, practices around, etc. Actual code though? No.

Also in a large enough system (as ours is) someone can just show you the "best" code there is...and you would be where you started :) As for a database design...both companies I have worked at have had enormously large databases (university, corporate company)...so that wouldn't work either.