I just thrown a book about C# away recently - since it has no value for me.
But I can confirm, frustration and bugs are considered as "normal".
While it's not a deadline sitting in the back of your neck - don't worry.
On the other hand - once it works like a charm it can be fun indeed.
When delivering extraordinary results - they might call you "Sir" :)
Regarding your question if it's the right job for you -
this depends, if you want to learn new things every day - whether or not.
Also, if you have the patience and the nuts to tackle problems.
I constantly apply TDD methodology - but this takes several years to learn.
Having a 3 weeks quick-starter course might bring you nowhere,
it's all about making mistakes and learning from them.
Everybody hates bugs and malfunction - but one can grow with them.
What I mean is, that making (or even provoking) errors is not necessarily a bad thing.
Probably the best tip I can give you is, to break things down into smaller milestones.
Because if the goals you've set are completely out of reach - this is what causes frustration.
I learned debugging on a Nintendo SNES - I was cheating like a hoe and got money from a console magazine for providing them with fresh cheats. Later on I got an Atari ST and learned to code Omikron Basic ... and I'm still here, currently self-employed as JS wizard :)
Your situation, as described, is rather "learning it the hard way"...
I'd also suggest learning it with way more basic applications than that.
A good language reference is all one needs, and maybe good examples.