What are the essential technical skills in CS?

Core Subjects

  • Good and rock-solid understanding of "language theory" a.k.a Automata Theory.
  • Data Structures and Algorithms
  • Discrete Mathematics
  • Databases
  • C and C++/Java. Yes not any one, but both of these. Very essential.
  • Computer Architecture.
  • Compiler Design and Implementation.
  • Software Engineering.
  • Operating Systems


  • AI
  • Distributed Systems
  • Data Mining
  • Machine Learning

If I were to suggest a single technical meta-skill --- prioritize your ability to validate / evaluate your ideas. This may require understanding relevant technologies in depth, understanding user interfaces and how people spend their time online, building prototypes, learning basic statistics, etc.

Consider watching (again?) The Social Network with an eye on the risks for "idea guys".
Do psychopaths enjoy movies?

Immensely. I am a lifetime film nut. It isn't unusual for me to watch 20–25 in a week when I have the time (which isn't very often anymore). I can enjoy the technical artistry if the story is subpar or vice versa though as I've aged I have more difficulty forgiving a lack of both. While there

How do dogs communicate with each other?

Body language, scent and vocalizations. In terms of body language, dogs communicate with their body posture or stance, body position, eye contact, tail height, mouths, ears, hackles, and muscle tension. They communicate through scent by sniffing another dog's rear end and places where