I was a consultant for about 13 years. I agree that one of the good things about it was getting a new set of problems every few months. It was great for generalists, because you never knew what skills you'd have learned by the same time next year. In consulting, I got to (had to) learn front-end and back-end development, design, marketing, sales, video editing, even 3D modeling. When I left consulting, I was surprised at how rigid the career ladder was in regular offices: you pick a specialty and just do that until you have to learn to be a manager.<p>I don't know that I agree so much with the thing about mutual respect and appreciation. Clients never saw us as friends, they saw us as mercenaries, or at best temporary employees they didn't have to form long term relationships with. I was very close with other consultants in my office, but out of the 100 or so projects I worked on, I probably was on a "joking around" basis with only a couple of clients.<p>The downside of consulting was never getting to work on v2 of anything: you parachute in, build something, and then Fulton out of there a couple weeks after launch. I never got to hear feedback and then iterate. If something didn't work, too bad, I'm working with a different client now, and you're not on my radar anymore.