Solution? Do your best. No one is perfect. Make sure to document the code well (comments) for future revisions. But realize that this is how a lot of software is written. In all size companies.
Thats pretty much how I started and why I still prefer startup jobs over jobs at bigger companies with more focused roles.
You get there by working your but off. I recommend specializing and going deep in one area. Knowing a little about a lot if things with no real world experience is not a competitive position. Having experience with mongoDB and rails landed me a position over developers with significantly more general experience. At the time MongoDB was an up and coming technology with rapidly increasing demand. With out the specialty I had little chance competing against more experienced developers for general positions. Having a specialty I knew very well gave me the ability to compete.
Also had published some software that got me the first couple jobs. Publishing some software (open source, or an app in an app store) is a great way to get the credibility you need.
If these are not an option, you could work for a friend, long enough to get something you can point to as yours.
In case of learning the more technical terms, open source projects are the way to go, no need to be active committer, try to understand the workflow and language they use.