This is a follow up to this question. Recap is I began working my current job at the beginning of May and sometimes my boss speaks to me in a way that I'm not ok with. For example I will not tolerate him yelling at me. The worst option is I quit and the second worst is I report him to HR.
I usually work only with my boss. His name is Vincent (not really). He basically hired me because he doesn't know programming but then recently I started working with another person too. Call him Russell. Russell told me he can lend a hand and I can ask him questions since I'm new. It turned out Russell is the person my boss Vincent reports to.
Yesterday I couldn't understand my boss's directions and he yelled at me for it. I will not accept this kind of behaviour. I hadn't decided how to address the issue and decided I'd like to talk to Russell. Just as I was typing an email to Russell to ask if he had time to chat, Vincent walks up behind me and reads the email on my screen. He asks what I wanted to talk to Vincent about and even though I tried to avoid the question he pressed it. I told him I was having trouble understanding him (I had told Russell in the passed I had trouble understanding Vincent instructions). Vincent told me to come talk to him about any problems and told me to close the email. He explicitly said not to contact Russell about work related issues. I don't find that very professional for a person to tell me not to talk to another person.
Latter today Vincent got mad again for not understanding his directions. I find it very difficult as he gets mad when I get stuck and don't ask questions, but then he gets mad at the questions I ask too. English is not Vincent's first language and the directions he gave me were
export spatial layers (compliances rtc_pp_dist.dist_nbac and rtc polygons rtc_coastal_baseline.rtc_23, layer='LC' from DB as temp shapefiles to local working directory \...\someDir using utility pgsql2shp.exe, make sure that SRID value is set to 54812 for both files (this value is referneced to the table rtc_23 in the public schema table public.geometry_columns),
First off I have 0 background in GIS. I was confused about the layer='LC'
part and I asked Vincent what it means. He said LC stands for land cover. I was confused as he just listed two tables to export, and there was no table called layer or LC or anything like that. He said "LC is the filter" and asked if I knew what filter is. Since the conversation seemed to be going no where I said no, because I wasn't sure if I knew what filter in the sense meant. He hit the roof and started saying I lied on my resume about knowing SQL.
It turned out he wanted to only export records from the table where the column layer='LC' (and only on the second table).
What should I do in these situations?
Some more background is that I'm working at a research facility where everyone is in their own rooms and a lot of the scientists have PhD's and strong knowledge of their domain. A lot of the people are into forestry (which I know nothing about).
Russell had known that I had been having communication difficulties with Vincent and he told me "he had grown up in the Red Army" and that "because he speaks English so well [which is not the case] it's hard to see how different his culture is and that we're ultimately better off for the diversity". I really don't want to be labelled as prejudice for saying I can't understand him.
Who should I speak to and in what order? I don't really feel comfortable going up to my boss and telling him it's not ok to yell at me, but if that's necessary I will do it. Should I wait for when he's calm or when he's mad or right after he was mad and had calmed down? I don't want to cause trouble by talking to him when he's calm and everything is going well.
Sometimes it's not just yelling in the sense of being loud, but leaning in closely and breathing rapidly and clearly loosing his composure and looking really mad. Does anyone have any advice on what an "adaptable level" is? For example if once a month he raises his voice, I don't care, but if 3 times a week he actually yells then I'm reporting him to HR and considering quitting.
Another obstacle is my boss gives me long lists of instructions (the above example is part c) of a 15 items lists of instructions) and he comes over to my computer and tells me to open them and asks if I have any questions. If I say no, then latter if I get stuck he gets mad that I told him I understood the directions. It's like he can't understand that I can't for see all obstacles or things I may need clarification on down the road.
Sometimes he seems like it's bad that I'm "stuck" but isn't that why people have a job? If it's a simple task then it would be automated but since it's something that needs experimenting/tweaking/thinking put into it, there exists the job. For example today he asked me what I was working on and I said that the arcobjects library wasn't loading and it was like he got mad at me for it saying that I was a programmer and should know this. Should I phrase it differently so it doesn't sound like I'm complaining or asking a question when answering "what am I doing?"
I'm a co-op student and I had informed my school's co-op coordinator about this but he just said that I'm right I don't have to tolerate being yelled at. If it's relevant this job is for the federal government.