I just recently graduated with a degree in mathematics, and a minor in computer science. I can program well, for the amount of experience I have, and I would love to get better. I, personally, think that one of the best ways that I could get better is to contribute to OSS projects. However, I can't lie, reading stories about the abusiveness of the community is a huge turn off. Now, I realize that I am probably not one of those people who 'should know better,' and I realize that really extraordinary outbursts are rare (which is why they get reported on, obviously), but I still have enormous trepidation about joining the OSS community. I feel I may have talent and ideas to contribute, but when I see stories about the way that people get treated when they make mistakes, it makes me want to avoid the whole thing. I wouldn't be doing it for money, I would be doing it for fun, and to learn. And as far as I'm concerned, if I'm going to be abused for making mistakes, I am not having fun, and I am likely not learning much either. Now, again, I understand that this is not usually the case as far as OSS development, but I'm just relaying my gut reaction to hearing about behavior like that.
Ok, your first problem is that you are going to need a job.
I hate to break it to you but sometimes managers can be a little caustic, they are generally very well paid but have to put up with quite a lot of stress. Sometimes, this makes them get angry with you if you are contributing to that stress or they feel you are. They should not, they know they should not but we are only human and sometimes we make mistakes. You are just going to have to get used to it.
I have worked in a few different roles (shop assistant, telesales, rigger, developer). The only job I had where people were always polite to each other was when working a rigger because you had an awful lot of very large, physically able men who would seriously make a mess of you if you were rude. In every other job I found managers sometimes get stressed and pissed off. They might try not to, but if you make mistakes you will sooner or later either get shouted at or you just get fired. People always make mistakes so sooner or later you will get shouted it, even if only because the underlying reason was the boss having a bad day.
The difference with the linux kernel is that every time this happens everyone hears about it. That should not stop you getting involved though because you are unlikely to have to deal with these people as you are just not good enough yet. In about 5 years you might be if you can get your million hours of C coding in but by then you might be more tolerant of people being caustic. You might not, but cross that bridge later. You might find you contribute to other open source projects where everyone is more polite, the kernel is one of the most stressful and complicated so not all OSS projects are like that.