I learnt programming at home and was a brilliant bootcamp graduate (that is, by the standards of that bootcamp, which is certainly not as good as top US bootcamps*), I found a job fairly easily considering how hard I think it should have been. The interview went really well.
Now I work for a tech company that basically has one main software it writes for other very large companies, and it poses a few challenges: 1) it's tough for me to grasp what everything is doing (they have been writing/updating this software for years now), 2) I'm seeing code written in ways I'm not use to, and finally 3) I don't understand all the code at first glance, sometimes not at all. My main task for the next 6 months will be to write unit tests then integration tests because "you need to get used to our software", which I think makes perfect sense, although my interview had nothing to do with that. Most people are really nice and friendly, and there is a good atmosphere in this company.
My problem is that I have to write tests for methods that I don't understand most of the time, I don't always understand which parameters they have to take, what it returns, I don't know what I have to mock in order to make my method unit-testable, and I don't always understand the instructions I'm given. After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.
I am quite frustrated because I am quite hungry to learn, however, it's not by watching videos on Pluralsight/read articles that I will get better at what challenges me (or am I wrong?), so I can't even practice at home. I think that I embarrass myself whenever I ask a question so I tend to be stuck a lot, staring at the screen and trying to make sense of what I'm reading. I feel like an impostor surrounded by people that 'get it', and to be honest my confidence has taken quite a big hit (I went from being arguably the best in class to definitely the worst in a company). During bad moments I sometimes catch myself wondering if going into software development was a good idea, and if I'm not a victim of a sunk-cost fallacy (as in, "I spent too much time learning this to quit now").
My questions:
Is it normal?
What can I do better?
How could I express this (or part of it) to the management and colleagues without coming across as a fraud?
Edit:
I have worked there only 2 weeks, it's my 3rd job. Previous jobs lasted 7 months & 1.5 years.
*I wasn't clear and didn't want to come across as arrogant; I don't think this bootcamp is exceptional, so being brilliant at it probably doesn't mean much on the job market, unlike the top of the US bootcamp. This bootcamp is Europe based, and I'd say it's average. Moreover, I believe a huge reason I was successful was that I was learning programming for 1 year and people next to me had no idea what a 'variable' was, so I had a huge head-start and it was overall much less overwhelming than for my fellow students.