CodeBork | Tales from the Codeface

The coding blog of Alastair Smith, a software developer based in Cambridge, UK. Interested in DevOps, Azure, Kubernetes, .NET Core, and VueJS.


Project maintained by Hosted on GitHub Pages — Theme by mattgraham

Having been with Citrix for over a year now, I’ve got a good hold on my job as a professional software developer, and an idea of what I’d be looking for if I were to start looking to move to another company. As I’ve learnt more about the role (albeit specific to Citrix), I’ve occasionally found myself thinking, “that would make a good interview question”. Note that I’m talking here about questions from the interviewee rather than for them. I’ll go over some advice that I’ve found previously, and present some of my own questions based on my new-found experience. And, of course, you’re welcome to submit your own suggestions by commenting below. There’s quite a bit of information on the web on questions for the interviewee, but not much on the sorts of questions in which I’m interested: the sorts of questions that tell me something I want to know but hasn’t been covered already, either in the interview or in company material (hiring brochures, etc.). Even the ever-faithful StackOverflow.com can only provide a list of questions posted by interviewers.

So, I’m starting a list here. I’ll divide it up into categories, and I’ll indubitably re-visit it a few times in the future to add new ones.

Office Environment

How noisy is the environment on a day-to-day basis?
Like most developers, I can't work well in a noisy environment. Individual offices would be fantastic, but it is sadly rather idealistic to expect this. Cubicles are anti-social and still noisy. Open-plan is a good compromise, but only if it's a quiet office.
Is the working environment I've seen today representative of the environment I would be working in?
An extension of the above. Some interviews include a tour of the office, although there is potential for them to show you only the nicer bits rather than where you'll actually be working. If you're not sure, you should ask to see the environment you'll be working in; there's nothing worse than being shown something close to your ideal working environment at interview and then turning up on your first day to find you'll be working on the roof. Unless that's your ideal working environment.

People

Which person or company do you most admire in the software industry, and why?
I came across this as a suggestion of what to ask an interviewee, but I think it can work both ways. The key is obviously in the qualification (the "and why?"), but an answer of Apple, for example, would indicate a focus on usability and maybe a predilection for shiny things with moderate substance. An answer of Adobe might imply a respect for solid engineering and quality products. If you're being interviewed by your potential manager, you could ask about inspirational leaders, or more simply what qualities they see as being good in a manager.

Product and codebase

How do you fare against the Joel Test?
Obviously I wouldn't ask this question in that way, but I would put the Joel test to the interviewer and calculate their score. This is a really important one to get right, although unlike Joel, I'd probably settle for a score of 10, maybe even 9. My department at Citrix gets a 9 (with a couple of grey areas), and we seem to be doing ok. I'm sure with a higher score we'd be doing better, though.
How long do your builds take to complete?
A product with a slow build cannot be a truly agile product. Slow builds have big issues with developer productivity, and discourage check-ins after a certain time each day, in case the check-in breaks the build.

The company/organisation

How do you measure developer productivity and performance?
I think the correct response here is "with weekly status reports and quarterly reviews" (for me, at least). Although I sometimes find writing status reports tedious, they are a good way of tracking productivity (and a good way of keeping all but the most lazy or disillusioned developers on track). Reviews should be at least biannual, and I personally prefer quarterly reviews, partly for the increased rate of feedback, and partly because it often makes sense to track performance against company reporting periods.
How much independence do staff have? What opportunities are there for side projects and self-development?
A company that doesn't give its staff independence tends to stifle its employees' growth. Google is famous for its "twenty-percent time", in which employees can work on something they're passionate about. Some of their next-gen products (such as Google Suggest, now integrated into Google Search) are a result of the "twenty-percent time". Google is relatively unusual in allowing this, but a compromise situation is to allow employees time for self-development, which is crucial to both the company and the employee.

So, that’s my list (so far). What would you ask? What are you looking for from your next place of work?