…The Recruitment Interview
… Thoughts on Joel Spolsky’s book “Smart and Gets things Done.”
In the appendix of this book, Joel Spolsky lists twelve questions that he advocates technical staff should ask of the hiring company, as an acid test of whether they are any good or not/ whether you want to work there or not.
His questions are:
- Do you use source control?
- Can you make a build in one step?
- Do you do daily builds?
- Do you have a bug database?
- Do you fix bugs before writing new code?
- Do you have an up-to-date schedule?
- Do you have a spec?
- Do programmers have quiet working conditions?
- do you use the best tools that money can buy?
- Do you have testers?
- Do new candidates write code during the interview?
- Do you do hallway usability testing?
I would suggest that the questions are just as valid for a software project manager, or a development manager, to decide which processes are missing/ need to be added, and why?
Having seen a couple of companies recently that prioritised new feature development ahead of defect resolution (ie, violating number 5 above), I am well aware of how the defect rate can shoot up, and how much time and effort stabilisation can take when done later, if at all. It has a direct impact on the morale of the team if the product is flaky, or if there is a ‘throw it over the wall’ culture. I once heard an emotional Russian engineer in the testing lab shouting that this practice was akin to ‘stepping over dead bodies on the way to my desk!‘ Of course there are always good business reasons, like the feature has already been sold to customers, or whatever. But still, standing back and taking a long view, it seems to me that rule 5 is very important and it is good to see it written down.
This is a good list, and it is surprising, especially on the Web side of software development, how often they are not done. Thirty years of experience in the industry seems to have been ignored by the new breed of startup, because they can. New, young developers are graduating every year with new hands-on skills. And the venture capital is there for new webby startups. There just may not be anyone around who has been through the pain of not using source-code management, of not doing daily builds, of having a spec that is something more than some UML-ish-looking drawings on napkins/ whiteboards and a list of bullet-points.
A developer who does his own proactive hallway usability testing is a rare and thoughtful individual with high personal standards. I have met one or two.
But I wonder if you can really ask these questions in J.I.’s if you really want to get the job?
- A candidate once asked us if he could taste the coffee and check out the comfort of the chairs before committing to come on-board. We just said, “Don’t bother. If those are your main concerns then your concerns are at the wrong level.”
- I heard of another candidate for a PM role who said something like, “Before I can finally commit, I will need to open your company’s books and see for myself the viability and profit expectations…” The interviewer marked him down for this, writing on his resume something like, “Who the hell does this guy think he is?”
- An accountant who had refused to sign off on the company report at his previous company, because of his integrity, fiduciary ethics and refusal to mislead the shareholders. He also didn’t get the job because the hiring manager said to me, “I thought to myself, ‘Well how’s he going to go around here then?’”
- I once asked the owner of a small software company (having been recently burned in this regard), whether he was making fair and reasonable profits, or if he was in business to gouge his customers and then flip the company for a large sum in a few years time?
He seemed to get quite annoyed and told me that it was damn hard work being an entrepreneur in this market, and he wasn’t doing it for love.
I think the subtext was that he wanted a project manager, not some smart-alec who was going to critique his business model, cost-structure and terms of trade. Needless to say, he found someone ‘better.’
Lots of the best small, innovative, creative software companies are run by entrepreneurs who are hugely leveraged, ‘operators,’ with little knowledge about best practice in SD and little patience for it if they can’t understand it, or if there isn’t a direct link to NOPAT (nett operating profit after tax). As the saying goes, “It’s my business, so it’s my business!”
So, I am loath to appear like a pernickety, ‘problem’ person when I am meeting new people, especially ones who might like to enter into a business relationship with me. But at the same time, it is of vital importance to be able to tell what one is getting oneself into, and it would be naive to expect that the people on the other side of the table are just going to tell you.
Joel Spolsky has his own software company, so I imagine that he isn’t going for many interviews these days. Even when he was, he was known as a former Microsoft go-to-guy, so he probably could go into interviews and say “What are you prepared to offer me?” or the like.
For the rest of us, it’s a bit of a unstructured problem, that we can only attempt to mitigate with experience, the informal network, and a lifetime of trying to get on the high-power rather than the low-power side of the table in these situations.
An old grocer once said to me, “You’ve got to prove that you can deliver the bread before you start asking for jam.” Assume nothing and deliver results, then (maybe) things may get better. Or they may not, and you may wind up rueing the day that you didn’t ask the question…
If any of my readers has any experience of using the above list and asking the questions, please comment and let me know how it worked out.