Just 3 Questions to An Awesome Programmer Job

Conventional business wisdom states that every business wants to improve.  They want lower operations costs, higher profits, happy customers and to retain their best employees.  Virtually every business will attest that’s what they want too, albeit in varying orders of priority.  But they don’t.

Fun will now commence – Seven of Nine, Star Trek Voyager

They say they want to make more money, but are content to live with failed software projects, poor programmer productivity and operate on software that isn’t fit to be used.

They say they want happy customers and happy employees, but they plow through both of them with high turnover rates like they’re completely expendable, replaceable and without value.

Great programmers are not made for companies like that.

As a great programmer, how do you spot a great company from the rest of them?  Here are 3 questions to ask the hiring manager or recruiter.

1. What sort of technical exam do you use to screen programmers?

This could be a coding sample, a coding test, a strenuous technical interview or even an aptitude test.  A few rounds of “What is your experience with X technology?” does NOT cut it.  If they’re considering hiring you without  properly testing you, just imagine the low level of talent that has crept through their process over time.

2. What do you do to make your programmers lives easier?

Some crappy managers will actually pause in confusion at this question.  After all, managers are only there to tell the programmers what to do, and then reap the rewards.  Other crappy managers may come up with some lame answers, like from an HR cover sheet. Good answers might be to allow them to work from home occasionally, to give them the freedom to use new technologies, etc.

3. What percentage of the developer’s time is spent in meetings versus uninterrupted coding time?

The ideal answer would probably be something like “a few minutes every day, a planning meeting every two weeks at the start of the iteration.”  A more realistic but possibly acceptable answer would be, “a couple of hour-long meetings with different businesspeople, as needed.”  It’s up to you how much is too much.  Beware an answer like “we try to limit meetings and restrict them to as needed” without specific time durations.

Let’s take it to the masses.  What do you look for in a great company to work for?

What do you look for in a great programming job?

7 Responses to “Just 3 Questions to An Awesome Programmer Job”

  1. I would definitely look for flexible schedule and a low meeting vs. coding/working/whatever ratio. Of course, a must has to be hardware and software “freedom” (i.e. using whatever tool you want if the company can afford it).

    Rubén

  2. tz says:

    And if they have a technical exam, is it how well they memorize trivia (write all the C operators in order of descending precedence) which a reference card usually works better it, or how creative they are. For example, the “question” was to write a sort routine. The results were varied, but the correct answer was “what do you want to sort”. And “what should it be optimized for”. Merely asking would have gotten you the job since anyone experienced knows you should assume nothing.

    Also, apropos, “What petty and obnoxious rules and policies do you impose on everyone”. Have you so little trust that you are going to require drug tests, background checks, arbitration agreements, … Geeks often read everything. Don’t pretend to care about them or trust them verbally when every bit of text you say they have to agree to says you’re lying.

  3. Cameron says:

    When I’m interviewing people, I have a basic list of questions I ask candidates, not so much to get the right answer, but to use it as a platform for discussing the area of technology. An OO question, “can you directly access static methods in an abstract class”, even if they don’t know, provides opportunities to talk about OO, static methods in OO design, just generally sound them out and find out what they do and don’t know. I don’t think that giving people a paper exam and hiring the top scores is going to get you good candidates.

  4. London says:

    I dont think the meeting question is really relevant. If you are not a code monkey, you realise there is more to business than code. You need to understand the business to be able to meet its needs by building (coding) good applications.

  5. Amber says:

    @tz You are right about that. The quality of the technical test can tell you a lot about what sort of things they value.

    @London I definitely don’t dispute the need to have meetings with the business-side of things, but it’s a relevant questions because the proportions can vary wildly. Businesspeople who’ve properly done their homework, so to speak, can usually get a decent status update/requirements meeting in an hour a week, with clarifying emails in between. On the other hand, some companies consider day-long strategy sessions and multiple back-to-back meetings to be the norm for their developers. Those developers either get very little coding done, or they have to come in early, work late and work weekends to get it in.

  6. I would usually be very careful about technical questions and examination – I have refused to work for a company after completing a multiple-choice on-line technical test (albeit achieving high score) – I understood that neither high score on the test guaranteed that someone is a good developer nor does a low score represent someone’s poor skills or abilities.
    When looking for an IT job (and recruiting people) I primarily focus on learning – as this is the essential skill and ability in today’s fast-paced world of technical change. It is both the ability to learn quickly (if you’re a candidate) or opportunities for learning (if I’m the candidate).

  7. Maxime Caron says:

    I cannot agree more :)

Leave a Reply