What’s the advantage of working for someone else?

I have been in this situation many times before and always struggled with it. Until I figured something out…
“working in an internal IT department at a non-software company” can be a HUGE advantage.

Why? Because your “customers” are right there.

Please do not underestimate this as part of your career planning. Sure, we all want to create cool technology, but As far as I’m concerned, the single biggest shortcoming for developers that I’ve ever seen is what I’ll call “detachment from users”.

You don’t have that problem. You have end users right there at your fingertips. Take advantage of it! Learn from them. Practice your systems analysis skills. Find out how to make that missing link, the connection between technology and people, work properly.

I have written significant pieces of technology for software houses, but was actually “more” frustrated. Why? It took months, sometimes even years before anyone actually used it. And then, they were communicating with someone other than me. The technology was cool, but by not closing that loop with my customers, I always felt that my work (and learning) was incomplete.

By all means, continue your dreams and career plans. But don’t waste your current situation by being depressed about it. I can’t tell you all the times in my career when I stood head and shoulders above my peers because I had suffered in the trenches like you are now. Except you don’t have to suffer. Because now you know to look for opportunities to get a lot better in other ways. They’re all around you if you just look.