Hi OP, I'm in much the same position. Perhaps with a few differences - I was more interested in computer hardware and setup, but got into coding because I was told that is where I would make money. These people were not wrong; hardware monkey jobs pay considerably less than developers, but I hate my job. I've stuck with it for 2.5 years now (age 25) for the money and convenient location (not in London) but I've been desperate to move on for over 12 months.

The problem with working in IT, I find, is that it saps the fun out of your hobby. The best place to work if you actually want to code and enjoy it would be a start-up, but those are uncommon in the UK and come with their own drawbacks - unusual/long working hours, impossible deadlines, holding the future of the company quite literally in your hands. Big corporations give you more stability there and reduce the pressure, but at the cost of your input having little to no direct impact on the company. You also have to fight corporate bureaucracy which seems to be inevitable once a company reaches a certain size. The company I work at has recently crossed that tipping point, so I'm watching everyone's work ethic come crashing down.

The other option is to go freelance. If you can do web development, there will always be people wanting websites built, maintained or enhanced. Obviously you would become self-employed but you would have ultimate freedom over your work life. You could also start a local computer maintenance business for companies to outsource their IT work to; not all companies will hire someone in-house for small projects. It's difficult but not impossible to do at our age.

I've considered a lot of options in the time since I've graduated university. Computing was always my hobby: working in the same field seemed natural, but I'm finding the drawbacks are numerous. I'm moving teams within my company into more of a DevOps role - it means I will be doing less hands-on coding, and no client interaction, so my immediate contribution to the company's product will be essentially zero. However, I'll be working on systems that support other developers which sounds like a better option for me. It will also give me a break from coding professionally, which might leave me some energy to code in my spare time. Ultimately though, I've decided to get out of IT completely and do something else, because it just doesn't fit in my long-term plans.

The problem with IT in the UK is that everything is based in London, and we do not foster as much of a startup culture here as other countries, so most work is with big, historic companies where it's easy to become a small cog in a very big machine. You'll need to do some soul searching to decide if you can keep going with that.

I have also thought long and hard about complaining about my situation; correct, all our basic needs are addressed by having a job - food, shelter, even transport - but being in a bad job is equally bad for your mental health. I know it takes less effort to complain about it than do something about it - believe me, I've done enough of that! - but that's what you'll need to do. See if you can move sideways in your company into another job, or look into other options.

Hope this helps.