i've been in situations where the lead, alpha programmer(s) pretty much decided everything and criticized the work i was doing to an extent that i felt helpless and demotivated.
it's probably good to somehow radically adjust your role/attitude/relationships in such a working environment, if reasonably and sanely possible.
if not, it's probably better to leave than to try and "stick it out."