

Ask HN: Strong practical knowledge, weak in theory. Where to start? - smokestack

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.
======
nostrademons
Go to the CS department websites of universities that you respect. My two
favorites are MIT ([http://ocw.mit.edu/courses/#electrical-engineering-and-
compu...](http://ocw.mit.edu/courses/#electrical-engineering-and-computer-
science)) and Stanford (<http://www-cs.stanford.edu/courses>). 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.

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.

------
StudyAnimal
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.

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.

That is why I am becoming a manager, so I can finally turn that knowledge into
practical experience in order to create great products.

------
JoelMcCracken
You do look worse on paper. The only way to fix this is to get a degree.

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.

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.

~~~
smokestack
Thanks. I've had the option to return to school for a while now and couldn't
find the long-term motivation to do it for the reasons you cited. I think,
especially in software, that there are many more useful criteria for judging a
candidate, and degrees don't represent too much more than your ability to
operate in the real world (which can be supplanted with experience), and an
understanding of foundational theory without necessarily being able to apply
it </sweeping generalization>. I'm not too worried about being out of work for
lack of degree. My primary concern is being stuck on a rung in my career by
not taking the time to learn it. I have an idea for what my gaps are but
wanted to get some feedback here in case I'm missing out on something.

