I'm a software engineer. I work on a contract basis, contracts last 3 months to a year. I've recently made CI pipelines, Win 8.1 apps, IOS apps but mostly web-apps. The pay is good and the people I work with are cool.
I don't love it though. It's OK. It'd be better to code 20% of the time and observe, talk, think the other 80%. I think that this might make me more efficient and more productive.
My best job was my first. A guy had a profitable web-site and no technical knowledge, there was no notion of best-practice, and he hired me to do everything/anything. The environment was smokey, the equipment shoddy and the business practices disordered. I was straight out of uni and free to make any decisions I saw fit, any mistakes were on my head.
[edit] Thinking about it, it was the shear honesty of the place. I don't think anyone even tried to dress up what they were doing in jargon or exaggerations. Words like 'passion' were never applied out of place.