J
jan V
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! ;-)
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?
What's the company's financial health?
Do you regularly disclose financial performance statistics to your
employees? How frequently?
What proportion of time do you spend on inward investment (research,
projects not directly funded by clients)
How frequently are there pay reviews? Is this frequency part of the
employment contract?
Company Culture / Working Atmosphere
What are the job titles (junior, plain, senior, project leader..?)
Invest in training? How frequently?
Book library?
Attitude to quality?
Attitude to process improvements? (SEI CMM Level?)
Time sheets?
Flexitime?
Dress code?
Obligatory travel?
Where to?
Recuperation for significant TZ crossing?
Compensatory arrangements?
Internal email used a lot?
Yes? -> BAD.. suppresses person-to-person communication, team spirit
Health/Safety/Comfort
RSI-aware, RSI-safe?
Ergonomic keyboard, gfx tablet
Rest breaks
Air conditioning
Tea/coffee machine?
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?
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?
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! ;-)
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?
What's the company's financial health?
Do you regularly disclose financial performance statistics to your
employees? How frequently?
What proportion of time do you spend on inward investment (research,
projects not directly funded by clients)
How frequently are there pay reviews? Is this frequency part of the
employment contract?
Company Culture / Working Atmosphere
What are the job titles (junior, plain, senior, project leader..?)
Invest in training? How frequently?
Book library?
Attitude to quality?
Attitude to process improvements? (SEI CMM Level?)
Time sheets?
Flexitime?
Dress code?
Obligatory travel?
Where to?
Recuperation for significant TZ crossing?
Compensatory arrangements?
Internal email used a lot?
Yes? -> BAD.. suppresses person-to-person communication, team spirit
Health/Safety/Comfort
RSI-aware, RSI-safe?
Ergonomic keyboard, gfx tablet
Rest breaks
Air conditioning
Tea/coffee machine?
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?
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?