What skills do self-taught programmers commonly lack?

Quora Feeds

Active Member
David Pollak

I've taken 3 CS courses in my entire life (and almost got kicked out of all three for being a smart-ass, but that's another story).

I went up the imperative language side of things: assembler, BASIC, C, Java...

I did not believe there was any science involved with computing until I started reading Odersky and Wadler and that was only 3 years ago.

The two things I miss and am playing catch-up with:
  1. Composition. It's very difficult to compose OO programs... they very quickly devolve into looping/branching as the vast majority of LoC. When one can compose ones program by "piping" stuff from one function to another, it leads to different designs. I have had very little rehearsal in compositional idioms and my Scala code suffers materially because I still have to think about composition rather than having it "come naturally." I wish I had time to spend a year learning category theory to better understand how to structure things to be compositional. If I had better compositional skills, Lift's binding would have been done right the first time around... see http://logji.blogspot.com/2009/1...
  2. Types. I've been working through Pierce's Type's book. The theory underly type systems is something that I missed during my formal education (although to be fair, there was very little research on type systems in the early 80s.)


See Questions On Quora

Continue reading...
 
Top