Sounds like you've got a great opportunity to learn what you don't yet know: you already have a list of things you know you need to work on, a codebase, and a job. Do you think one or more of your co-workers would be willing to give you feedback? Would you be willing to take time (maybe extra time, 'off the clock') to practice?
If, e.g., hard-coding is where you're at, maybe something like working your way through 'Code Complete' would be of help, but I would pair the reading with doing, as close to the company's codebase and personnel as makes sense.
I've heard tell of people who asked to be shifted to a lower-level position so they could work at the level they were comfortable with.