After getting Bachelor's degree from Computer Science I changed my field to Applied Mathematics. The previous degree was mostly programming-oriented, so I know quite a lot about software engineering, databases, Linux etc., but not so much about maths.
To be honest, we had just basic single-variable calculus, basics of linear algebra and a little of graph theory.
After finishing my B.S. I got some awards for my bachelor thesis and because of that I was offered a job in our research centre. I changed my field to mathematics to be more useful there (most of my colleagues are concentrating on computational mathematics).
The problem is, that while I'm studying for final exams of this term, I recognized, that I don't understand things thoroughly and some of them at all. The biggest problem for me is Functional Analysis, where I'm simply stuck on very basic concepts and I have to look up something for almost every lemma or proof I want to understand.
I takes tremendous amount of time and even then I feel like I know nothing about it, because in every subject there are exercises I don't understand and proofs I'm not able to invent on my own.
The truth is, I was able to pass somehow all the tests so far and to finish all the projects with full score.
But still, I feel I'm not very confident in this and so I thought about the possibility I'm simply not talented enough.
So, is there any way to find out if my problem is caused by the lack of talent or just by gaps in my knowledge I'll be able to fill one day?
I'm mean something like what amount of knowledge one should be able to grasp in one half of a year, one year etc.
I've read several questions about studying maths here on SE. For example:
Stop doubting yourself right now: you're talented enough. The only question is will you work hard enough? Listen to Terence Tao, the idea of lacking "talent" should be done away with: https://terrytao.wordpress.com/career-advice/does-one-have-to-be-a-genius-to-do-maths/
You've got to find the problem areas where you lack understanding and spend some time carefully learning everything. Analysis and analysis proof-writing is difficult and requires time. Sit down with a copy of Spivak's Calculus or Rudin or something and go over every part with a fine-toothed comb until you understand everything. There's no other way to do it. If you have the willpower to make yourself concentrate, and can come away with some understanding, you shouldn't have any problems.
Also, talk to people about math. Go to your math department (or a message board or something) and have a discussion about what you want to know. That's the easiest way to learn, from other mathematicians.
But, most importantly, STOP DOUBTING YOURSELF!