Software engineer for over 20 years and communications electronics and networks for 10 years before that. Then if you count my hobby as a child, software was what I enjoyed since I was 10 years old. I learned different versions of basic before my first programming class for turbo-pascal in HS. Then learned C and a few other niche languages while I was in the Army before college where I learned a few more (cobol, c++, perl, java, jcl, sql). And most recently I've learned proper client side javascript and Node.js.
I enjoy the problem solving aspect of software development. Finding elegant solutions to complex problems is always rewarding. Elegance seems to be a lost art when most people just throw more RAM and CPU at their problem when a better solution would resolve the issues while being generally more scalable.