Rules to finding a new job/contract/whatever...

As a contractor I find myself in the position of having to find new position at a much more steady rate then as an employee.  The more I work on different contracts the more I solidify my rules for finding a new position...

Interview Rules

#1 Technical Skills Testing - Do not take a job that doesn't test your ability to write code.  Testing on OOP concepts should be mandatory.  This is important because the rest of your team should have gone through the same process and at the end of the day your job is so much easier (and fun) if you are working on a team that has a certain skill level off the bat.  This is THE Golden Rule.

#2 Verify, Verify, Verify - If they say they are Agile then which methodology are they using?  Scrum? How much experience do they have with it?  First project?  Do they have a ScrumMaster (on staff/hired/whatever).  If you have the knowledge to fill the gaps that you find then that's great.  Verify that they're willing to use your knowledge (but be prepared to back it up with experiences you can point to that make you the man for the job). 

#3 Let Me Do My Job - How much of a pain is it going to be for me to get the tools installed that make me productive?  Personally Resharper, ViEmu and Visual SVN are requirements.  Without them I am so much less productive which wastes their time and my time.

#4 Best Practices - Continuous Integration, Unit Testing, etc.  Which practices are going to be in place.  Which ones do they need help bringing in place? 

 

One thing to mention is that I have actually broken half of these rules on at least one occasion.  Sometimes the project is just too interesting or it's too important to your future career that you work on it to pass up.  In that instance all you can do is the best job you can in the situation you find yourself in and try to learn as much from the experience as possible.  Time is never wasted if you are learning something. 

Later I'll post about other things I look for...