> I'm also totally sick of the ideological crap at lots of startups. I don't want to have to drink the kool-aid. I don't mean to threadjack, but what are some examples of this?
Not O.P., but 1 type of "ideological crap" is probably in reference to how certain startups enforce and indoctrinate certain "practices" that they staunchly believe are core to their organization. Some even wear these practices like a badge of honor on their job listings. Example: Pivotal Labs is known for it's insistence on "Pair Programming" and touts it as an "extremely beneficial" practice. Source: Pair Programmi…
I can tell you from experience that good pair programming teams exist. They get tremendous benefit from pair programming. These benefits may not be obvious to those who do not want to do pair programming -- even after a month of trying. The same can be said of many, many, many other practices.
At some point, when you are building a team, you have to decide on practices that you are going to follow -- even if those practices are, "Do whatever the heck you like". Imagine if you are working on such a team and everybody is getting along well and is productive. Imagine hiring someone and saying, "Feel free to institute any group wide practices that you want. You may force anyone to do anything you like". Yeah, obviously it won't work
Similarly, imagine working on a team with an established set of practices. Imagine that everyone is getting along well and is productive. Then imagine hiring someone and saying, "Feel free to work however you want. You can ignore any group wide practice that doesn't suit you." It's not nearly as obvious, I suppose, but that's just as disastrous. Everybody then has to work around that person and none of the practices work any more.
So, as you are building your team, you need to hire people who will be willing to work with your practices. If it's a "do whatever the heck you like" team, then you've got to be pretty clear: "We value programmer freedom over group coordination. We are unlikely to value practices that require everyone to work the same way". On the other side of the coin, if you are working in a coordinated manner (and is there anything more coordinated than pair programming???) then you have to be pretty clear, "This is how we work as a team. If you do not like that, then you will be very unlikely to be happy on this team".
Neither one of these scenarios is "ideological crap". It's reality. Both scenarios are realities that some people don't like -- and let's face it: both scenarios are referred to as "crap" by people who don't like it.
So, I get the point that you don't think pair programming is a practice that is worth build a team around. I think that's a thing where reasonable people can differ. But from the perspective of this thread, my best advice is to pick a team where you think you will be happy and successful. If you turn out to make a mistake, then try to find another team. If you go through that experience many times without finding a place where you can be happy -- perhaps you should consider the possibility that external factors are not the driving force in your unhappiness. YMMV.