Recovering From a Computer Science Education
Programming in the 21st Century - James Hague - January 15, 2012I was originally going to call this “Undoing the Damage of a Computer Science Education,” but that was too link-baity and too extreme. There’s real value in a computer science degree. For starters, you can easily get a good paying job. More importantly, you’ve gained the ability to make amazing and useful things. But there’s a downside, too, in that you can get so immersed in the technical and theoretical that you forget how wonderful it is to make amazing and useful things. At least that’s what happened to me, and it took a long time to recover.
This is short list of things that helped me and might help you too.
Stay out of technical forums unless it’s directly relevant to something you’re working on. It’s far too easy to get wrapped up in discussions of the validity of functional programming or whether or not Scheme can be used to make commercial applications or how awful PHP is. The deeper you get into this, the more you lose touch.
Keep working on real projects related to your area of interest. If you like designing games, write games. If you like photography, write a photo organizer or camera app. Don’t approach things wrong-way-around, thinking that “a photo organizer in Haskell” is more important than “a photo organizer which solves a particular problem with photo organizers.”
If you find yourself repeatedly putting down a technology, then take some time to actually learn and use it. All the jokes and snide remarks aside, Perl is tremendously useful. Ditto for PHP and Java and C++. Who wins, the person who has been slamming Java online for ten years or the author of Minecraft who just used the language and made tens of millions of dollars?
Don’t become an advocate. This is the flipside of the previous item. If Linux or Android or Scala are helpful with what you’re building, then great! That you’re relying on it is a demonstration of its usefulness. No need to insist that everyone else use it, too.
Have a hobby where you focus the end results and not the “how.” Woodworkers can become tool collectors. Photographers can become spec comparison addicts. Forget all of that and concern yourself with what you’re making.
Do something artistic. Write songs or short stories, sketch, learn to do pixel art. Most of these also have the benefit of much shorter turnaround times than any kind of software project.
Be widely read. There are endless books about architecture, books by naturalists, both classic and popular modern novels, and most of them have absolutely nothing to do with computers or programming or science fiction.
Categories: Blogs Programming in the 21st Century
Comments
Computer Science is great field, I can’t believe after all these years, they still pay good, even though the best ones are in India!!
Montreal Massage
A very nice post..thanks for your advice.
marirea penisului
I can’t believe after all these years, they still pay good, Azithromycin uses even though the best ones are in India!
Posted by Azithromycin uses on 08 Feb 2012 at 10:08To follow up on the up-date of this matter on your web-site and would wish to let you know simply how much I loved the time you took to publish this helpful post.
Within the post, you really spoke regarding how to truly handle this thing with all ease. It would be my pleasure to get together some more tips from your web page and come as much as offer others what I have benefited from you. I appreciate your usual fantastic effort.
Looking for Room buddies? Now you can find them with ease!
I can’t believe after all these years, free grants for single mothers they still pay good, even though the best ones are in India!!
Posted by free grants for single mothers on 21 Feb 2012 at 10:57
Add comment
Erlang on Twitter
» diogobaeder (diogobaeder): @fmorgenstern Sugestões de experimentos: Go (language), Python, Erlang, Lisp, JavaScript+NodeJS
» rerongs (laehyoung, kim): RT @iamkimtree: 트위터가 제공하는 라이브러리들: ActionScript/Flash, C++, Clojure, ColdFusion, Erlang, Java, JavaScript, .Net, Obj-c/Cocoa, Perl, PHP, Python, Ruby, Scala
» voluntas (V): 自分の知る限り XMPP 関連やってる会社はほぼ ejabberd で、確実に求人に ejabberd ガチで使える Erlang 使いを募集している。ということは ...
» petrohi (Peter Hizalev): RT @jedisct1: #erlang in production: “I wish I’d known that when I started” http://t.co/WwC8GAoW
» Ghezhaa (Reigheza_Tappei_48): Nih ajak @BennyMahayana ama @HaqGhif ..lagi krumah erlang tuh RT @veemaw13: @Ghezhaa @wisnuwardana__ bwakakakakakakak,, mau ya zaa??
» iamkimtree (Namwoo Kim): 트위터가 제공하는 라이브러리들: ActionScript/Flash, C++, Clojure, ColdFusion, Erlang, Java, JavaScript, .Net, Obj-c/Cocoa, Perl, PHP, Python, Ruby, Scala
» jedisct1 (Frank Denis): #erlang in production: “I wish I’d known that when I started” http://t.co/WwC8GAoW
» juanjhs (Juan Herrera): ¿Cómo puedo imprimir un número en erlang? Osea, el caracter de escape en io:fwrite(”“, Num),
» xnotn (メメント・ぞんもリ): xnotnにおすすめの関数型プログラミング言語は『Erlang』です。ゆっくりコーディングしていってね! #functionallang http://t.co/tzoQXben
» hama_du (hama_du): hama_duにおすすめの関数型プログラミング言語は『Erlang』です。ゆっくりコーディングしていってね! #functionallang http://t.co/CcwLQlcd
Statistics
Number of aggregated posts: 10462
Number of comments: 1502
Most recent article: February 20, 2012
Latest comments
» Jisan on OpaDo: Personal ToDo Lists: I actually don’t like to use to do list. I am not as much busy to forget my regular schedule.…
» Torres on OpaDo: Personal ToDo Lists: I use Opa Do to keep my to do list updated. Very helpful. I even write about What To Do When You’re Bored in it.
» Mike on Erlang Queue and Merle.: Still couldn’t figure out how this is functioning and had to read the whole manual to get at least some idea vocabulary answers