You know them, so do them. ---- '''Always UnitTest''' I am not sure I agree with this. In some domains being "nimble and cheap" is the guiding principle. They will tolerate some mistakes in order to be first and fast to market. YouKnowYoureInaWildWestCompanyWhen. ---- '''AlwaysUseScratchMonkeys.''' (http://www.catb.org/~esr/jargon/html/S/scratch-monkey.html) Unless the scratch monkey says "No". No means no! Bad human! Is this like, "Hey, let's hire a naive programmer for this project. I don't want to waste good scape-goating on one of our own programmers. That would be bad for internal morale." ''Is this why so many projects hire contractors?'' No, they hire contractors because the indigs aren't up to the task. The fact that you have to ask this question is proof enough of that. ---- '''Always keep your resume' up to date.''' ---- '''make backups''' ---- Always, always, always use good, unabbreviated, correctly-spelled MeaningfulName''''''s. ---- '''Learn'''. Never stop. There's no reason to; your time is running out. ''That's kind of a contradiction, isn't it? Learning for the medium- or long-term doesn't make much sense if time "runs out" and you have a kissing date with the bumper of a moving bus tomorrow." ---- '''Always''' use a '''verifiable, repeatable, known-good process''' to develop your product from requirements gathering to production test. If you can't verify that it's good then it ain't. ---- See: ThingsYouShouldNeverDo