I'm only 24, but I've been working as a programmer for the last 10 years (not in my current company). Programming is not only my job - it's my hobby and my passion, and I'm very good at it.
I did not attend college and I'm stuck as "developer assistant", as the company requires a college degree for higher ranks. The thing is: people with no experience who barely know how to do stuff are being hired as system analysts and senior analysts, ranks that get paid up 6 times as much as mine, because they have college degrees.
As of right now, no one in IT has as much experience with development as I do and yet I'm the cheapest employee. Everyone comes to me for technical opinions and almost everything related to development goes through me, for council (which technologies to use, time of development needed, cost, etc).
There is no distinction between the workload/responsabilities for those different ranks and I feel like I'm being underappreciated because I don't have a college degree.
There are many other employees in the same position as mine (who have fulfilled all the requirements for a promotion but the degree, and are stuck on lower ranks because of that), but in other departments, and HR has already stated they will not open any exceptions.
This company is the best paying company in the small city I live in. Even as developer assistant, I get paid more here than I would as a senior analyst anywhere else, so quitting and looking for something else is not an option (for now, at least).
I'm going trough some serious financial issues (I'm getting married), and I'm not really sure what to do. I suppose I could go to the CEO or to my manager and have a heart-to-heart, by I'm not really sure I'm in the position to demand things. If those are the rules, should I bend to get a college degree while working a full time job (which is almost impossible where I live), or am I entitled to some recognition for my skills/experience? If I am entitled, how should I approach the issue?
Edit for clarification: My current position is not meant for hired developers, it's meant for trainees. Hence the low payment. I have been here for a few years, work as a hired developer, but cannot ascend in rank because I don't have a degree.