I recently graduated with a Master's in Math/Engineering (dual degree) and I was hired as a junior/freshman software engineer in a consulting company, working in the financial software industry. It was an incredible opportunity and I did well during the phone interview, but informed them point blank about my lack of experience and I was more than honest with them about my coding background. I've done a few projects on GH and have done coding in University, but I do not come from a CS background and have been very honest in my own personal assessment. In spite of that, they hired me and figured they could train me to develop anything/everything I'd need to know.
To make a long story short, it has been difficult. I was hired in mid August, but didn't start getting my hands dirty (coding..) until September because there were issues with my credentials. I was given minor/medium level programming assignments and topics, and while I did complete all of them, some took me a bit of time. At first, this was acceptable; now that it is 2 months down the line, the time I'm taking is starting to grate on my supervisor's nerves. He is very busy most of the time and although he has set aside time to train me, sometimes I ask him how to do something more than once, which can annoy him sometimes. The system I'm working with is relatively complex and I've already developed about 20+ documents on how to troubleshoot through some common errors/steps, code workarounds and basic debugging. But I still lack fundamentals and basic coding skills, which I've been working on, but I sometimes struggle with basic introductory problems that I shouldn't be having an issue with by this time. I'll be moving into another environment soon where I'll be expected to do much, much more and be able to solve any/all problems within a handful of minutes. I am also being asked about and he is defending me to supervisors, but I do not want major expectations placed on me afterward.
I'm learning more and more everyday, but it isn't fast enough. I've asked him, point blank, if I'm a right fit for the company or not; I've also asked if I am not moving fast enough and he said I should, I need, to move much quicker. Sometimes, it takes me a while to process information to know exactly what I need to do and I've been like this since University (even if I got 100% on my engineering/math exams, I was the one to typically use ALL the time and I rarely, if ever, left early).
How should I proceed? I want to succeed in the field of software engineering, but I don't know what to do. Studying at home is helpful, but it seems to not be enough because I just, point blank, don't have enough experience. In the next few weeks, what can I do to make myself better? Sometimes, when he speaks very quickly or goes through a complex series of steps in 2-3 minutes, I try to ask for clarification but, again, I sometimes get the impression he is annoyed and feels I should just know after him saying it once.