About

Major subjects

Minutiae
Learn the ins and outs of C#.

  1. Read ‘C# in depth’ by Jon Skeet

Algorithms
Learn complexity theory.

  1. Understand complexity theory
  2. Understand P v NP, halting problem, etc
  3. Implement various algorithms in at least two lanuages

Data structures
Understand the popular data structures.

  1. Implement popular data structures in at least two languages

Problem Praxis
Solve word problems from:

  1. Code jam
  2. Top coder
  3. reddit.com/r/dailyprogrammer

Self
Make sure to spend time on myself:

  1. Read novels
  2. Go for walks and work out

Minor subjects

Project Praxis
Word-problems and tiny problems are not enough. Improve project-level skills by:

  1. Creating medium to large pieces of open-source software
  2. Contributing to an open-source project

Eclectics
Move out of my comfort zone and work on unfamiliar languages and technologies. Focus on breadth as opposed to depth. Goals-

  1. Code in Haskell, Forth, Pike, Ruby, Objective C

Ideas in software
Read:

  1. The Pragmatic Programmer
  2. Programming Pearls

Leave a comment