On Sat, 13 Aug 2005, jan V wrote:
> I recently had an unpleasant experience accepting an in-house job for a pure
> Java company, only to quickly discover that I had landed myself in a
> nightmare sweat shop. I actually blame myself for not having asked enough
> probing questions at the interview stage.
>
> I'd like to avoid making the same mistake in the future, so now I've drawn
> up a list of questions I'll be asking the interviewer(s) in the future, and
> wonder if any of you can suggest more of the same...? (For the [OT] police,
> see end of list for Java-specific content!
I spent two years interviewing companies for a good position. Rather than
ask a lot of detailed questions I found I could ask some questions that
immediately identified some companies as a sweatshop.
First, if they don't let you ask any questions they are probably a
sweatshop.
If they let you ask questions, start off by asking if it is okay that you
take notes. They always said "yes" for me. Making it apparent you are
keeping notes means they cannot just say whatever they want. They tend to
choose their words more carefully.
Ask them how they handle overtime. The company I currently work for told
me they view overtime as a failure of project management. No one has
worked overtime in the past 3 years. I've worked here for a year and never
done overtime. We either change scope, change the timeline or hire more
people.
Most sweatshops will either be honest because they believe being a
sweatshop is the norm. Easily eliminated. Some shops try to hide it but
you can tell because they are nervous or vague in their answer. Ask for
clarification if they are vague. If you have to ask for clarification more
than twice they are probably a sweatshop.
Ask them about the reporting structure. If you are not being interviewed
by the person you report to then you want to have a chance to talk to this
person. If he is too busy to talk to you then assume he'll be too busy
when you become an employee.
> Here's the list:
>
> Financial/Benefits
> At least 4300 Bruto without car. [This figure is Belgium-specific,
> please ignore]
> At least 4000 Bruto with car. [This figure is Belgium-specific, please
> ignore]
> Company pension and/or health insurance scheme?
I never ask questions about compensation during the interview. When they
offer me the job I expect a package detailing all the compensation. At
that time I will ask HR about anything not clear in the offer letter.
> What's the company's financial health?
If they are publically traded you can find this out by doing a little
research. Even if they are not publically traded you can still do some
research. I tend to research the company before I go in for the interview.
I'll ask deeper questions based on my research. This sends a clear signal
to the employer that I have done research on the company.
> Do you regularly disclose financial performance statistics to your
> employees? How frequently?
If the research bears no fruit then this is a good question. I rarely got
far enough to ask this question. Most the time I've eliminated the
employer by this point.
> What proportion of time do you spend on inward investment (research,
> projects not directly funded by clients)
Interesting. Not one I had been asking. I might use this.
> How frequently are there pay reviews? Is this frequency part of the
> employment contract?
I'd ask this when I get the job offer.
> Company Culture / Working Atmosphere
> What are the job titles (junior, plain, senior, project leader..?)
I'd be more interested in if they had job titles. Most the companies I
have worked for have a job title but the real job is nothing like the job
title. Most hiring managers realize this.
> Invest in training? How frequently?
> Book library?
> Attitude to quality?
> Attitude to process improvements? (SEI CMM Level?)
> Time sheets?
> Flexitime?
> Dress code?
These are okay and I usually ask them at some point but usually after I
get a feel for whether or not I'm seriously interested in the company.
> Obligatory travel?
> Where to?
> Recuperation for significant TZ crossing?
> Compensatory arrangements?
I've never had this be a problem.
> Internal email used a lot?
> Yes? -> BAD.. suppresses person-to-person communication, team spirit
Why ask such a pointed question? I'd be more inclined to ask, "How do you
keep morale up?" or "How do you maintain good communication between ..."
> Health/Safety/Comfort
> RSI-aware, RSI-safe?
> Ergonomic keyboard, gfx tablet
> Rest breaks
> Air conditioning
> Tea/coffee machine?
Government regulated in my country.
> Room set-up?
> How many people to a room?
> Rooms have windows? (Peopleware)
> Meetings?
> How often?
> What kind?
> Canteen?
> What regular activities are there after hours?
>
> Physical Tools
> Fast machine? (3.0Ghz+)
> Screen
> One or two ?
> TFT or CRT?
> Size? At least 19 inch
> Project Tools
> Requirements tracking? How?
> What Design tools? (UML MagicDraw?)
> CVS or similar?
> IDE? IntelliJ, Eclipse,..
> Code qualtiy analysis? Used? How frequently?
> Profilers?
> Bug tracking?
A lot of detail questions. I'd be worried I was going to annoy the
employer at this point. My attitude is, if you don't give me something to
be productive I'll approach you once I have the job and explain why I need
the things I need. I'd tend to spend the interview talking with my
potential manager to see if they are approachable and reasonable.
If there is room for process improvement then I see that as an opportunity
to shine. I'll present data showing how not only myself but others can be
more productive.
> Software Engineering
> Explicit concentrating on early stages?
> Do you use whiteboards or other large-surface drawing areas for
> analysis/design? How frequently?
> Extreme Programming? Any elements of?
> Use cases?
> Write tests first?
> Can you describe your coding guidelines?
> What degree of enforcement do you use?
> Do you use Sun's Java naming convention?
> If not, what's the naming convention?
> Refactoring?
> What's your attitude to code duplication?
> What's your attitude to code reuse?
> How do you achieve reusability? At what source code scale do you
> achieve it? (packages, classes, methods?)
> What's your attitude to Java package hierarchy issues?
> What's your attitude to javadocs? Do you enforce the need for javadocs
> for all public classes? How about all methods?
> Automated GUI testing?
> Code reviews?
> How frequently?
> How many people?
Again, room for process improvement is room for me to shine.
--
Send e-mail to: darrell dot grainger at utoronto dot ca