What are the things you need to learn as a computer engineer?

I have been a Computer Engineer for over 3 years now, so I think I can speak to what skills you need to learn in rough order of complexity:

  1. Math. Math is the language of Engineering. If you can’t speak the language at least a little you are hopeless.
  2. Physics/Fields & Waves / Thermodynamics. You need to understand at some level how the universe you intend to manipulate works.
  3. Circuit Analysis. Without understanding how electricity flows and works with various basic components you are nowhere.
  4. Digital logic. Learn to use transistors to build gates and flip-flops, then combine those gates and flip-flops to do useful things.
  5. Microprocessors. Take the useful parts from Digital Logic and start building general-purpose processors. You don’t need to DO this, but you should understand the basics of how processors and memory are organized and used.
  6. Assembly language. This does not get a ton of use anymore, but if you are going to understand how higher-level languages do what they do behind the scenes you need to understand this to some degree.
  7. C/C++. Yes, I know these are old and crusty languages that your grandfather used to program with back in the stone age of 5.25″ floppy disks, but It’s still used to write a lot of low-level code and it lacks a lot of the convenient features of more modern languages. This forces you to really think about what you are doing.
  8. Signal Processing. You may or may not do a lot of this in your career, but you should be able to at least explain what a Fourier Transform is and why it’s a useful thing to do.

I love building Web applications using Spring. Open content and the free exchange of information. Java | Spring | XML