It sort of worked out OK but I have regrets. I grew up wanting to be a hardware engineer but I'm not one.
If you switch to software development, I would recommend that you stay as low level as possible. I recently got back into embedded development and I became a lot happier because of it.
Good luck.