Blog by Sumana Harihareswara, Changeset founder
Hi, reader. I wrote this in 2007 and it's now more than five years old. So it may be very out of date; the world, and I, have changed a lot since I wrote it! I'm keeping this up for historical archive purposes, but the me of today may 100% disagree with what I said then. I rarely edit posts after publishing them, but if I do, I usually leave a note in italics to mark the edit and the reason. If this post is particularly offensive or breaches someone's privacy, please contact me.
Leonard and I have decided that we'll stay in New York City through the end of 2008. I'm now looking for a tech project management job in Manhattan or environs, so if you have a position or a lead please let me know.
Till now, I've been trying to concentrate on my master's degree and on some personal projects. One of them: learning programming basics, with an emphasis on Python. How am I to manage technologists if I don't have personal experience in at least the bare basics of their craft?
Surprisingly enough, van Rossum's Python tutorial is for people who already know how to program. I looked at a few introductions to programming for non-programmers and saw more than one recommendation (example) of How To Design Programs. It has more exercises than How to Think Like A Computer Scientist, and I already knew the basics of Scheme from my intro-to-intro-to-CS class at Berkeley. But I do want to learn Python, so I've implementing my exercise solutions mostly in Python, using IDLE, with a few stops in DrScheme for the cute GUI bits that make use of DrScheme's teachpacks. Thanks to my husband and to Magnus Lie Hetland, and of course the Python documentarians, for encouragement and reference material.
However, after the intro to data structures part of How To Design Programs, I began to run into more substantial burdens in the dual-language approach. I'm on functions that consume and produce lists now and haven't done much in Python for the last several weeks. So I'll be getting back into that in December. Being able to read and write code in some modern language is, after all, the point of the thing.
When I was at Fog Creek, Joel Spolsky helped me learn how to learn programming. It's not like history, he explained. When you read a how-to text, you have to do all the exercises and then some, playing around till you learn the abstractions by bumping into all their edges. So the abundance of exercises in HTDP is exactly what I needed.
I've also figured out how to focus and program for hours straight: turn off the Internet (I used lovely Unix toolness to How to Design Programs onto my laptop so I can read it anywhere) and sit with a friend who's also trying to focus and program. Michael Rehse and Fureigh have been great partners for this. Also good for general Sumana productivity: specific daily schedules, not just to-do lists, but task lists with time estimates.
With these career plans, I've laid out some tracks in front of me. Now I just need to stoke my engine.