My dad has a PHD in physics from Yale, and he always encouraged me strongly to get into maths and sciences. I also had a natural tendency toward mathy sorts of things, and science too although to a lesser degree. At the same time though, I was imaginative and artsy. I loved to read and write and imagine, and had a zillion different interests. My childhood dreams for my careers span the gambit from astronaut to first woman president to hollywood stunt artist to novel writer.
My dad wanted me to go to the best college I could get into and major in something that had career potential. (basically, something concrete - like science.) Although he claimed I could do whatever I wanted, he would get very uncomfortable when I brought up ideas like a philosophy major, for example.
Anyway I really liked math in high school. I especially loved geometry. I liked the puzzle-solving aspect of it. Given this set of assumptions and tools, how can we make this happen? My junior year when I was college-shopping, I tentatively declared my plans to major in math. This continued right until I started taking advanced placement calculus my senior year. There it all fell apart -- partly it was the teacher, and partly it was just that calculus (calcuseless, I called it) wasn't my thing. (I did fairly well in the class, but I didn't like it.)
Meanwhile my senior year I also took a computer science class and learned to program in Pascal. I had a very good time in that class, learned a lot, and it was fun. I didn't really think about it much though, because I already knew my plan was to do either math or science. At the same time I found that I really enjoyed writing, so by the end of my senior year my vague plan was to some something sciencey until I wrote the Great American Novel and became famous enough that I could write full time.
So I applied to a bunch of good colleges, and went to the best one that accepted me - Amherst College. Building my schedule for the first year, I didn't really know how to choose college courses. I just figured it was supposed to be like high school, so I signed up for math, english, and something social-studies-ish (I've forgotten what). The math class was Calc II, and I hated it. I passed, but not with a great grade, and not with any further love for mathematics.
Then I found myself a bit lost. I was supposed to be a math major, but I hated math (well I hated calc, and didn't think about the fact that there might be other kinds of math). I took a variety of random philosophy, sociology, english, and psychology classes. I decided maybe what I needed was a philosophy degree -- after all that was kind of logic and puzzle-solving, which was fun. My dad pointed out all of many types of nothing one could do for a living with a philosophy degree.
At the end of my sophomore year, still directionless, I found myself with a hole in my schedule. Looking for something which would fit, I stumbled across the computer science part of the course catalog. It was in the math department, which might explain why I hadn't thought about it prior.... "Huh", I thought to myself. "I had a lot of fun with that compsci class in high school. And it fits my schedule, so what the heck."
I started that class, and I was hooked. Why had it taken me so long to remember computer science? I don't know. I had forgotten how much fun it was figuring out computers, and telling them what to do. Look at this - technical, puzzle-solving, logical thinking, fun challenges, and it's something that people make money with! Right around the same time I started working in the computer lab , and I got to know some of the computer people on campus. I felt good, I'd found a niche that I fit into. I understood how computers worked, and I liked the challenge of making them do stuff. The coursework was interesting and the people were fun to hang out with.
I declared myself a computer science major. At Amherst the CS degree was part of the Mathematics and Computer Science department. This meant that there were a bunch of math courses required - including two calculus classes. But I hated calculus! Fortunately, my freshman decision to take math because I just thought that's what you do at school meant that I'd already taken and passed Calc II (or Math 12 they called it). My high school AP calculus had been enough to pass out of Calc I (Math 11). So the two classes that could have made my CS degree a lot more painful were already out of the way. Hooray!
Two more math classes, several more computer science classes, an AI honors thesis, and a hodge-podge of liberal artsy classes that I still enjoyed, and I stumbled down the hill, sheep-skin degree in hand, looking for a job as a Professional Computer Scientist. But really what I wanted to do was computer programming, because it was neat. It took some searching and false starts and some spiraling in on my goal, but eventually here I am.... a Senior Software Engineer. What is that? Somebody programs, who writes software, for a living. I made it!