Don't worry, most if not all CS students and graduates have huge gaps in knowledge. Be it specific domains where CS is applied or concepts of CS itself, which they never heard about at university. There is simply too much to learn, to learn it in 5 years of university lectures. So you might not be as far behind as you think.<p>I've studied CS myself, but there is so much out there, if you are willing to get in touch with it, that I read something I don't understand or don't know what it is almost every day. Sometimes it is only new names for old things, but often it is something I simply never had to deal with. This might not happen at the job, but when I learn things in my free time.<p>I always recommend to look at and at least begin working on (doing the exercises of) SICP. That book has given me so much and led me to write so much more clean code and I am "not even" through the whole book. Well, it has 800 pages or so. So at least get to something like 40% and do the exercises, it will be enlightening. I have yet to read another book, that teaches its knowledge more to the point and gave me that many "Aha!" effects. Although my guess is, that the book will make you love Scheme, the knowledge within is applicable to almost whatever other language you use.
I wish I had started to learn with SICP, instead of whatever was used in school and university instead. Reading and doing the exercises really helped me to get some concepts straight and to actually understand some things, that I did not have a good grasp of coming out university.
Side fact: At least one of the authors taught EE.<p>Regarding to idiomatic code, you can specifically ask for idiomatic code or search for that, when you have a specific question. Over time you will absorb, how to do things best in this or that language. On top of that there is a certain amount of things that are objectively idiomatic, because they have the best performance available in that language for the task you want to get done _and_ have the most readable code as well. However, there are also parts, where idiomatic becomes a bit of an opinion. So worry about it, but don't worry too much about it.