I've been developing for around 10 years now without any formal training. I'm strong in problem solving and analysis, but feel like I'm not a well-rounded developer without a CS background, or at least that I look worse on paper for it.<p>Maybe someone can give me an overview of what they'd expect a fresh CS grad to know. Or better yet, a collection of CS topics that you've actually applied in your career.
Go to the CS department websites of universities that you respect. My two favorites are MIT (<a href="http://ocw.mit.edu/courses/#electrical-engineering-and-computer-science" rel="nofollow">http://ocw.mit.edu/courses/#electrical-engineering-and-compu...</a>) and Stanford (<a href="http://www-cs.stanford.edu/courses" rel="nofollow">http://www-cs.stanford.edu/courses</a>). Pick a bunch of courses that seem interesting to you. Download their syllabi, find the section that says "Textbook", and go buy it off Amazon. Read it. If you want, you may also want to download the lecture notes and a bunch of homework assignments and give them a try as well.<p>You're in a better position than someone who's strong in theory and weak in practice. There's a relatively straightforward roadmap to improving your theory skills - it'll take some time, your undivided attention, and intellectual engagement with the work, but all the steps are laid out for you in the courses and textbooks. There are often no such guidelines for improving practical skills, because most of the knowledge is locked up in the heads of practitioners, and they're only aware that they know it when it comes in handy.
I seem to have the opposite problem. Spent the last 10 years getting degrees and certifications, constantly reading, learning new technologies, techniques, theories, attending conferences, workshops and tutorials, yet during the work day converting the same old boring enterprise specification documents into the same old boring enterprise code.<p>I can suggest ways to leverage my knowledge, and convert it into practical experience, but unless the decision makers aka managers are familiar with it (i.e. whatever we have been doing up till now) it gets dismissed as fringe.<p>That is why I am becoming a manager, so I can finally turn that knowledge into practical experience in order to create great products.
You do look worse on paper. The only way to fix this is to get a degree.<p>However, you don't need to worry about this. I haven't used anything from uni that I learned, without having learned it by myself with a bit of elbow grease. I had already known SQL, javascript, etc before dealing with them at college.<p>Universities are quickly becoming obsolete. If I were looking to hire someone, and if one applicant had a very impressive Github repo, and another had a 4.0 from an ivy-clad school, I would choose the former.