I started programming when I was 20. My original college plan was to major in mathematics and become a saxophonist (I didn’t feel like starving while I tried to make it as a musician).
Luckily, I had a crush on a computer science major so I tagged along with him to a programming team meeting. Progteam blew my mind: programming was like math, only fun! Majoring in math made me feel smart and dignified, but it was never like “Wow, this it fun.” It was more like “Ow, my brain hurts, but I guess it’s building brain muscles…”
It turned out I was good at computer science, so I decided (somewhat randomly) that I was getting into MIT for grad school, dammit. I knew they’d want to see research, so I asked a professor to mentor an independent research project. Over the next year, I did researched a classic optimization algorithm and wrote a paper on an algorithm I came up with to improve its performance for certain cases.
The problem was that, when the time came to apply to grad school, I wasn’t sure I wanted to go to at all anymore. I had liked learning about optimization and coming up with a new algorithm, but I had hated research, in and of itself. I asked my parents for advice.
“Just apply,” they said. “Keep your options open.”
Grad school had been my goal for a while, so I applied to a couple of PhD programs. I half hoped that they would all reject me and make the choice easier. Of course, they all accepted me, even MIT (poor me</sarcasm>). I thought about it some more and told my parents that I still didn’t think I wanted to go.
“Just try a semester,” they said. “You can always leave if you don’t like it.”
I ended up accepting Columbia, not MIT. I had really liked every professor I met at Columbia, which I figured would give me more advisor options. Unfortunately, I continued to hate research and I was thoroughly sick of school. The next three months the most miserable of my life.
“Just stick it out,” said my parents. “Until you get a master’s degree, at least.”
I finally put my foot down. Usually they have good advice but I realized that this was their thing, not mine. I dropped out of grad school and got a job I loved. My parents were happy that I was happy and got over the disappointment that I would never be Dr. Chodorow. I’m still at the same job and couldn’t be happier.
So, in the spirit of Thanksgiving, I’m really thankful that I lucked into discovering computer science. Math kind of sucks.
9 thoughts on “How I Became a Programmer”
Great story. A bunch of DBAs in the Microsoft SQL Server (its a pretty popular YesSQL database on windows) community did “what three things got me here” posts in a similar vein to your a while back.
This was my addition to that life story series: http://www.justaprogrammer.net/2010/01/21/what-three-things-got-me-here/ Also, if you want a real interesting story I think Paul Randall’s was the best in that series: http://www.sqlskills.com/BLOGS/PAUL/post/What-three-events-brought-you-here.aspx
Perhaps its time for the mongo community to do a “how I became a programmer” blog series.
I love origin stories 🙂
Thanks for the links!
How did you feel programming was like math but fun? Do you use a lot of math in your area of programming? I’ve been told that majoring in math is good in the sense that you develop good problem solving skills, but you don’t actually use math in programming all that much, unless the specific program you are developing requires it.
Math and computer programming both tickle the puzzle solving part of my brain. Math was, however, extremely difficult (at least for me) and less rewarding. When I finished a proof, I’d think “ah, now I am done with a proof,” which was much less exciting than finally getting a programming running correctly and seeing it actually work.
I was done with calculus and linear algebra by the time I got to college, so the courses I took were all proofs, all the time. I’m glad I learned how to write a proof, I’m proud to have “math major” on my diploma (wherever it is), but I can’t think of a single thing from those courses that I’ve used in day-to-day programming.
In math the fun is in the exercises plus independent discoveries. If you do front-end development, math can be used for animations, even though only basic geometry and trigonometry. You end up not using most of what you learn in your major but, still, you’re quicker on the basics.
Glad that you found your way though, we Android devs need motivated Gradle devs to speed up our favorite building system 😛
Well, I work on Bazel, not Gradle, but hopefully that will be speeding up Android builds soon!
Sweet story .. 🙂 Very film like !
life is a journey its always interesting to hear how someone landed where they are and its not always a direct path.
I’m kinda facing the same thing! I love working but I dislike research!