Recovering from a Computer Science Education


Recovering from a Computer Science Education

This is a list of things that have helped me and may help you, too.

If it is directly related to what you are working on, avoid technical forums. It's easy to get caught up in discussions about the validity of functional programming, whether Scheme can be used for commercial applications, or how terrible PHP is. You lose touch the deeper you go into this.

Keep working on real projects that are related to your interest. If you like designing games, write games. Write a photo organizer. You shouldn't think that a photo organizer in Haskell is more important than one that solves a specific problem with photo organizers.

If you find yourself repeatedly putting down technology, then it is worth taking the time to actually learn and utilize it. Perl is a tremendously useful tool, despite all the snide remarks and jokes. The same goes for PHP, Java, and C++. Who will win, the person who has been slamming Java online since ten years or Minecraft's author who used the language and made tens to millions of dollars?

Do not become an advocate. This is the reverse of the previous item. If Linux, Android, or Scala can be helpful in building your project, then that's great! It's a sign of its usefulness that you rely on it. It doesn't matter if everyone else uses it.

Focus on the end result and not the "how" of your hobby. Woodworkers can turn into tool collectors. Photographers can become addicted to spec comparison. You can forget all that and just focus on what you are making.

Do something artistic. Learn to pixel art, write songs, or short stories. These projects also have a shorter turnaround time than any other type of software project.

Read widely. There are many books on architecture, naturalists, popular novels, and they all have nothing to do with programming or science fiction.