> How much does the environment you're in contribute to performance?

As an oversimplified answer, a lot.

I think this is actually a complex question, cause there's a lot of dimensions to go in. Even in your story, it seems like your environment is influencing in many different ways. I'm gonna point out some things that stuck out to me (sorry if any of this is obvious/long-winded/not what you're looking for...).

Company A sounds mid to large sized, and it sounds like they hire a decent amount of college grads. Their size encourages them to have a reliable/smooth/consistent hiring and onboarding process. I would guess that there's a decent amount of tutorial/guide resources (e.g. code labs), as well as various system and process documentation. There's probably more support/guidance, and more senior team members have likely done their fair share of onboarding (so they're presumably better, more friendly, and more tolerant about it). As a result of all this, the learning curve probably feels a lot smoother and less steep.

Company B, as you mentioned, is likely expecting more significant contribution from the jump. A startup is probably not optimizing/focusing on training. But it's not just that--startups likely task people with larger and more vaguely defined tasks. Having prior, relevant experience to draw on is likely very helpful here, as it helps with defining and dealing with these more complex tasks. The learning curve is steeper and progressing along it feels much more unstructured and confusing. (If this is interesting, look into kind vs. wicked learning environments.)

Note that this has largely just been rough job expectations and approach to onboarding/training. There's still the whole people/social front.

It sounds like the experience with people at company B was unpleasant. To be charitable, maybe they were stressed, tired, low on patience, etc. Regardless, it seems like there was pressure to perform and not to fail. As I understand it, this kind of situation tends to make people perform worse (because they're stressed/tense/not able to focus as much on the task at hand). It's also not as conducive to learning since that requires some space to screw up.

I don't have much to go on for company C, but it sounds more collaborative/cooperative. I'm guessing that if/when you did propose a bad option for a design, your coworkers at least heard you out and justified why they thought it wouldn't work. They might also have recognized that you were making an effort to contribute and that, as a new hire, you were missing important information/context for making a decision.

So far this has mostly been one-sided: how your environment is likely to influence you. But you're still an actor here--someone's performance in an environment also depends on how they react to the environment! One person might prefer ambiguous tasks while another person prefers a clear set of instructions. Maybe one person handles stress really well while another feels like it's crushing them. Being able to recognize elements of your environment often makes it much easier to navigate, kind of like being at home vs. visiting somewhere foreign.

Anyways I've written a lot so I'll just leave it there. I hope it was interesting and not too much of a wall of text!