i'm a software engineer and i love it. i do wish on the nice days that i could be doing stuff outside and what not, but that is just part of the gig.
i personally just love that every day is different. sure you sit at a computer every day, but the actual work you do is never the same. there really is no routine as far as what you do at your job. and there are always new challenges, and solving them is very rewarding. you also get to learn a lot of new technology which is awesome. learning new things has driven me to make my own mobile apps and stuff on the side which brings in a little extra cash too.
would love to someday come up with a huge idea that i could just work by myself on it and make money off of some mobile app store or something. then i could work from wherever as well. that would be awesome.
I enjoy it most of the time as well, but unfortunately, I don't get to have those fun "figure it out"/epiphany moments all that often, which makes it kind of boring. I mean... I enjoy parts of it to the extent that I'll sit at home on my own time designing software on my whiteboard. The only bad thing about doing that? Coding software
to a design is really boring. :|
The best software engineers I've met come across more as artists than engineers (I understand it is highly technical but they seem to enjoy the creativity involved). If that's a good comparison then getting paid $95k upwards of $120k, to be an artist in something you enjoy, not a bad gig.
I've joked before that there's a bit of "art" to software design and somewhat implementation, but there's a bit of truth to it. Just as a painter might become elated at his latest idea, a software engineer would enjoy designing an easy solution to a problem.
Hell, I've done silly things like write regular expressions that take a few lines of code and turn it into many, many lines of somewhat similar lines of code. I've done even crazier things like use
Excel to write lines of code by using its math functions combined with concatenating multiple columns together to form the full statement. It saved me quite a bit of time writing everything out manually.
That kind of stuff is a lot of fun.
I think every job title should be reengineered to include the word engineer.
You call them software engineers to differentiate them from computer programmers. Those are the plebes.