Of course, we hope that our job will be more than a source of income. The dream job should be gratifying, inspiring and rewarding on a professional and personal level. This is not always the case for everyone, but I can assure you, it is for me.
I am currently a Software Project Manager for Premier Aviation. We fix aircrafts so you can fly securely on your holidays. Personally, I do not touch the "Metal Birds" as I am part of the software team. The solution called PAMC, manages the internal projects. There is a lot of people involved into repairing an aircraft and a lot of procedures and regulations to comply with.
A few months ago, I didn't know anything about aircrafts beside that they could fly. I had to learn about (and still learning) regulations, manuals, processes and technical "mumbo-jumbo" of the aviation industries to be able to work on a software that is basically ensuring that an aircraft will be fixed properly.
Before that, I had to learn about accounting when I worked on an accounting software.
Before that, I had to lean about health regulations when I had to work on a Health and Medical oriented software for doctors.
Before that, I had to learn about the telco industries when I had to work on a monitoring solution for telecom sites.
I went to school the learn about coding, databases and how to create softwares. The reality is that my career is about learning others job so I can translate their work process into a computer process.
It does require "re-learning" each time you get a new job. It does require a great deal of time to become an "expert". Everything changes as you're career evolves and reaches new heights. Being a developper means that your job is never the same.
If you wished for a 9 to 5 job that requires static knowledge for the next 40 years, the software industry is not for you.
If you like the challenges, learning and moving into unknown territories, the software industry needs you!
Me.happy = (Me.job = Others.jobs);