Wednesday, February 15, 2006

Key Moments in My Life

In every life there are pivotal moments. These events can be very recognizable – like a marriage, a birth, a death, or a divorce. But sometimes there are moments that are completely unobservable to the outside world and yet are filled with profundity for the individual. Key moments are those moments that shape who you. They change the course of you life. They have a profound impact on how you think and process information. Hopefully over time, I can share several of my key moments with you… today I’m going to start with one, small, quiet experience.

In order to get my BA, I had to take six credits of math. I was a serious math-phob. Not only did I hate math but it hated me. Three math credits were pretty easy. I was a psychology major and we had to take a class call Statistics for Behavioral Scientists. It turns out that I really enjoy statistics and easily aced the class. But then I was left with the problem of how to fill the second three credits.

After much ruminating and quiet hysterics, I decided to take Fortran. I was also a computer-phob, but I figured intro to Fortran HAD to be better than Calc I. Turns out, I LOVED Fortran. It was my second favorite class after experimental psych. I had put Fortran off until second semester of my senior year (a very dangerous trick I might add.) As I was completing my final exam, I started to cry. I was convinced I would never touch another computer in my life – I was accepted into Divinity School and I didn’t think there would ever be a church rich enough or techincally savy enough to have a computer.

Despite my success in statistics and Fortran, I still had serious doubt about my ability handle math. In fact, I was pretty insecure about a lot of my skills.

When divinity school didn’t work out, I decided to study computers. That seemed like a good way to make some money and I really had loved Fortran. I ended up going to a small state school. Except for the two assembler classes I took, all coding projects were to be done in C for DOS. (This was before the days of C++ and Windows wasn't even a tinkle in Bill Gates' eye.) Most of our projects were fairly simple and could be completed with basic commands.

I started hearing people talk about this thing called malloc(). Everyone seemed to think that this malloc() thing was impossible to understand. I hadn’t gotten to that chapter in Kerrnighan and Ritchie (the C bible.) I had been able to complete all my projects without malloc(). But it made me really nervous when the really smart guys in the computer lab said they just skipped the chapter on malloc() or that they read that chapter twice and it still blew up their brain. I believed if these guys didn’t get it, then there was no hope for me. After all, I was just a dummy through and through.

When I got a job at AT&T as a c/UNIX programmer, I had to take a six month class that ended in a two-week programming project. If you didn’t pass the class, you were fired on the spot. In other words, completing the project 100% correctly in two-weeks was a condition of employment.

I was petrified. How was I going to learn how to do this malloc() thing? I just wasn’t good enough. I worked myself up into a frenzy. I made myself sick over it. I lost sleep over it. There was no way I could do it.

Then the day came. In the training class we were going to talk about malloc(). I sat in my chair nearly frozen with fear. I almost couldn’t hear the instructor talking about the function because there was so much negative chatter going on in my head.

But ever so slowly what he was saying started to make it’s way in. This malloc() thing was really so, so simple. Basically, it sets aside a certain amount of memory for you to use in your program. What makes malloc() special is that every time you run it, you can set aside a different amount of memory – in other words, you can use just enough memory to run your program each time. Never more than you need – which would be an ineffective use of resources. And never less than you need – which would cause the system to crash.

I was totally and completely blown away by how easy malloc() really was. I had spent hours, days, and weeks worrying about this and it was friggin’ nothing! I had an epiphany in class that day. All of a sudden I realized with the clearest of mental clarity that I had wasted a lot of time and energy doubting myself. I worried about my abilities when there was really nothing to worry about. Somehow it started to dawn on me that I really wasn't that dumb after all. I'm not saying I'm the smartest person in the world... cause I know I'm not. But I'm no dummy either.

Ever since then, when I’m faced with the possibility of a difficult task or having to learn a new skill… when I feel myself starting to doubt that I can do it I remind myself of malloc(). I wait until I get all the facts about the task or the skill before I worry. If I can master malloc() what else is there to fear.

2 Comments:

Blogger Maggie said...

I think that this unwarranted self doubt is tragically common among girls. I wrote a post about math awhile back and this is kind of what I was getting at. We don't let ourselves be good at things that we're not 'supposed to' be good at. It's not just math, but girls aren't supposed to be good at math and that's what I was involved in, so that's what I noticed. In college, I never had an epiphany moment about it, but by the end of my senior year I realized that I was good at the math stuff, among the best in my class. But, at the beginning, I pretty much thought I was the least capable in any math class I had. And I was a math major! I realized later that most of those classes would have been much easier had I given myself some credit.

4:45 PM  
Blogger Mike Croghan said...

Great story, Liz! I was right there with you. To this day, I hate having to program in C for this very reason - give me something like Perl or C# that handles memory management for me! It's not that it's hard, it's more the memory of stress. :-)

1:30 PM  

Post a Comment

<< Home