On the other hand, I can’t conceive of any other career that I’d like to peruse with even half as much enthusiasm, so even if my fate is that of a mediocre code monkey, it seems better than the other possibilities. Comments are welcome.
Programming talent? A skill or an art?1 09 2008
Lately I’ve been wondering, how do I know that I’ll be good at computer science? It would be a shame to waste 4 years of college before finding out the answer to that. It’s difficult to answer such a question without more knowledge of programming than I currently possess. I can understand calculus better than the average person, but it doesn’t come to me particularly easy, nor do I remember it long after finals have passed. I got addicted to chess once and played over 1,000 games on the Internet, but never got my rating above that of a mediocre chess player. I wandered around some studies on the Internet and found an odd thing with computer science. Like math and theoretical physics, experience doesn’t play a huge role in how well someone does in the field. There are mathematicians that can solve problems in a matter of minutes that it would take others an entire lifetime to do, and programmers who can create elegant and efficient solutions to problems before they get out of college, while others write bulky and ugly code even after decades of experience. Logic, it seems, is an innate talent that some have and some can only struggle to try and learn, with minimal success. Do I have the art of programming? Nothing I’ve written is very impressive, half finished and unmaintained projects clutter my hard drives. The most complicated thing I wrote was a nearly 3,000 line IRC bot, with a plethora of useless features. The architecture got so bad that I couldn’t even figure out how to fix it to make it connect to esper’s servers correctly after they changed to a new version. The !google feature also mysteriously broke. I admit, when I started writing it I knew a lot less than I did now, and I wouldn’t make a lot of the same mistakes (variables all over the global namespace, lack of comments, horribly inefficient algorithms that make it take up over 100MB of RAM when the log files are loaded) if I rewrote it from scratch, which is the only way to really salvage the project, and too much work to bother with. Meh.