I might be wrong, but it looks to me you lack confidence.
Every time that happens do anything outside of your comfort zone.
In professional context: Learn a new programming language, get familiar with a new framework, study fundamental CS.
In social context: Go out more, talk to ladies if you're guy, talk to boys if you're girl.
I sense in your case you're dealing with passioned/opinionated people and you should take constructive criticism and advance yourself. But don't take shit from them.
Have your own opinion on things even if it's not the right one. I love reasonably opinionated conversations because I can learn new from those if I am wrong or incompetent in certain areas.
In the end you don't owe them anything and they don't owe you anything (aside from money).
Think of your job as a process of you helping the company with your talent and time. Move on if it's not fun for you and you don't learn anything new.