Software development is a challenging and rewarding field. However, it's not for everyone.
You've had three years, that should be enough time to figure out 1) if you're cut out for it and 2) if you like this sort of thing.
I love to code (a professional geek, some may say), however, I myself am at a crossroad. My background is similar to yours in that I started in programming late (a second career for me) I am 36 and have been coding for about 6 years. I came to the place where I had learned my platform and the dominant language fairly completely and new technical horizons were becoming scarce. That's part of the reason I started to learn
Java, a new frontier. Other reasons are: I've always been intrigued by OO, but never really knew much about it, Java's platform independent quality and Java's impact in software development, present and future. All these things attracted me to Java. Oh, the most attractive feature, the moose!

bigger and better than ever! Seriously, the crossroad I referred to earlier is that, where I work, I've been asked to be a project manager. This means less coding more administrative duties more responsibility, yadda, yadda, yadda. Anyway, now I must decide: stay with coding or take on this new challenge and change the path of my career.
The best advice I can give is really examine your own desires and goals and see which path will best help you to reach them.
There will always be a need for good software developers. If that is what you love to do, then do it. However, if it's just a job not a passion then maybe this other opportunity will be better.
I wish you the best on your decision.