Interviewing the Interviewer: A Rubric

October 07, 2008

Sad to say, my time at Gliffy is at an end (:sniff:), so I'm heading back into the job pool. I was lucky to get some time in at Gliffy, because, living in Washington, DC, my opportunities for sexy cutting-edge jobs are about zilch. Instead, I'm facing a huge market of "Senior JBoss Portal Maintenance Archiect" type jobs.

I guess I should feel lucky that there's lots of positions out there, but I really don't want to be the cog in a huge machine. Gliffy has shielded me from the Horror That Can Be Consulting, so I need to keep my perspective in such trying times. So, calling on my experiences before Gliffy, I've made this handy rubric to make sure I explore all facets of a potential position.

I don't expect anyone to get all positives and no negatives (I've certainly never been anywhere that perfect), bit it's always good to know. For example, if I have to put up with PVCS, I better be sitting on an Aeron chair and be using a normalized database. Further, this is obviously in addition to standard questions regarding what the project is about (i.e. is it interesting) and what the people are like. A whole lot of this can be forgiven by being part of a great team or working on a really cool product.

QuestionPoints forPoints against
How do you fare on the Joel Test? · High score
· Good explanations for missing items
· Low score
· Never heard of it
Describe your development process · Structured
· Easily described
· Overly draconian
· Lack of
· Not easily described
What kind of computer will I be using to develop? · Two monitors
· Mac
· Linux
· Administrator access
· Vague answer
· Small monitor
· Windows
· Locked-down
Do you block certain sites or applications on your network? · Open network · Closed network
What is the physical environment like? · Good Chairs
· Private office
· Natural light
· Reasonable Temperature
· Old, crappy
· Bullpen style
Am I required or encouraged to use Windows? · No, few devs use Windows · Yes
What collaboration tools do you use? · Wikis
· IM
· Bug tracking
· Sensible PM
· Email word documents
· MS-project
· SharePoint
· Other proprietary crap (e.g. eRoom, Documentum)
· No tools
What are some of your HR policies? · Few, if any
· Loose dress code
· Flexible schedule
· Draconian
· Dress code
· Core hours
Can I see the code I will be working with? · Letting me see it
· Meaningful javadocs/API documentation
· Structured, consistent style
· Sensible class names and file organization
· Sane build process
· Not letting me see it
· Mix of styles
· No javadocs
· Empty javadocs
· Convoluted file organization
· Broken build file
How do you do testing? · Have testers
· Do unit tests
· Maintain tests
· Bug tracker
· Ad hoc
· Lip service to test-first
· No unit tests
What is your approach to configuration management? · Having an approach
· Git
· Database migrations
· Know the versions of 3rd party software/have a baseline configuration
· Organized
· No approach
· Perforce, ClearCase, other closed crud
· Shared drives
· Can't describe versions/configuration
Can I see the database schema I'll be working with? · Letting me see it
· Normalized
· Sane names (no TBL_* bullshit)
· Synthetic numeric keys
· Referential integrity
· Documented!
· Versioned!
· Not letting me see it
· Unnormalized
· Dumb names
· Incorrect types
· String-based keys
· No constraints
· Undocumented

What else am I missing?