Small companies aren't nirvana, and if there are few small companies, you're taking a big risk that you're stepping into an organization where the owner's dumb nephew will be made an SVP over you. In the valley, you jump ship. In the "company town", you need to uproot and move.
Defense contractors are a bit of an oddity, though. Its a quasi-government job, overall the most stable private sector employment, and has excellent benefits. Someone starting at my former employer out of undergrad today does have a reasonable chance of retiring from there. It seems like the workforce is slowly distilling down to those for whom such old-style employment is highly desirable.
[1] Its slowly changing, but it seems to be mostly B2B services, marketing and advertising shops.
We don't get a single qualified applicant. We use Ruby and Javascript, it's a ~ 25 person company so you can make a difference, you can work on iOS or Android stuff. If you only know a different programming language, we'll still hire you and let you learn if you can prove you're competent.
We're not silicon valley or a 'cool' city, but we're near a few state universities. I guess people would rather sit in a cube, in a suit, while they work on legacy internal apps in VB and .Net for a cold, dark corporation and wait 20 minutes each morning in line at the security gate just to get on the damn property.