I saw a link to this article on DZone and figured they were good questions to answer publicly.
How old were you when you started programming?
I can't remember my exact age, but I was in elementary school. My brother and I had two games that we liked to play in QBasic. I can't remember the names, but one of the two had two apes on buildings that threw explosive frisbees at each other at different angles, trying to take in account the wind. We would go into the program and try to hack it to change different settings. That was my first experience with programming.
I didn't actually write my first program until high school (besides some HTML, making my own webpages in middle school). At the beginning of 9th grade, we were told about a computer programming contest called the ACSL. I hadn't ever written a program before, but I really wanted to give it a try. So I opened up QBasic and with what I learned from playing with settings, I programmed a solution to the given problem. The teacher was shocked that anyone in the class had tried at all, since she knew none of us in that class had any real programming experience.
How did you get started in programming?
Well I guess being in the Math, Science, and Computer Science Magnet Program at Montgomery Blair High School, we were required to take programming classes all of freshman and sophomore years, as well as the beginning of junior year. The classes were easy for me, and I ended up taking Artificial Intelligence with LISP, Computer Graphics, and Networking II as electives later.
For most of my life up until my senior year of high school, I had thought I'd go into some sort of science. Then I started applying to colleges and needed to decide on a major. It seemed like I liked engineering, but it had become pretty clear that I had a natural knack for computer programming. A friend suggested robotics as a combination of the two. I entered Carnegie Mellon through the School of Computer Science, declaring a Computer Science major, Political Science second major (which through the course of college, turned into a minor), and Robotics minor. The math minor I eventually got, I got by accident through just happening to take enough math courses that I thought were interesting.
What was your first language?
My first language, as stated earlier, was BASIC, unless you count HTML.
What was the first real program you wrote?
Well, I'm not sure what would be classified as a real program. My first program for that programming contest was perfectly functional... it took 3 numbers as the lengths of the sides of a triangle, and outputted whether it was an equilateral, isosceles, irregular, or not a triangle. For someone who had never programmed before nor taken a class in programming, it was a nice achievement. I wrote a number of programs after that for classes, some games for myself on my TI calculator, etc. My first program that I used that got to be used by other people was during an internship at one of the national labs in the area during high school. I was working as a chemistry intern, and had programmers who I could ask to write programs for me. They were bogged down with work though, so after they hadn't gotten to my program for a few weeks, I sat down and wrote it myself in Pascal. The programmers who were originally assigned the task were shocked I knew how to program. My program had a very short lifetime though, because as soon as they had the time, they rewrote it in C++, which was the language the rest of their programs were in, for consistency's sake as well as ease of maintaining the program.
What languages have you used since you started programming?
While learning BASIC, I also was taught a modeling and simulation language called STELLA. Sophomore year of high school, I learned Pascal through classes, which I loved for three years even though it wasn't as sophisticated as other languages. Junior year I got a 5/5 on my AP exam in C++, which I studied for on my own though I had never written a program in C++, and did some Java and LISP in classes. Senior year, I played around with perl on my own. Then I got to college. I don't think I really picked up any new languages in college, but I certainly ramped up greatly in my knowledge and skill in both Java and C++. I was a TA for Java for three semesters, and I did all my robotics work for five semesters plus three summers in C++. Now in the work industry, I mostly use Java and SQL with some perl and HTML. I have also picked up shell scripting, and have done some work in PHP as well. I am trying to learn Ruby on the side.
What was your first professional programming gig?
After my display in the chemistry lab, the next two summers the lab decided to actually pay me to be a programmer. I wrote some HTML and perl scripts to display data from a weather vane on the top of the building to a website, I programmed a stepper motor in one of their custom devices, and I wrote the front end application to their colorimeter.
I had several other part-time professional programming gigs in college. I worked at one company whose software could tell you how much you'll like or dislike a song before you hear it. The rest were all robotics related.
My first full-time professional programming gig was with a government contractor. I worked for them for over two years. The first project they put me on was a project tracking system for the FDA and IRS.
If you knew then what you know now, would you have started programming?
Sure, I don't see why anyone would take back their choice to start programming. Now if you change this question to "would I have become a software developer", I think that's a different question. This does not mean that I learned anything negative about software development though. Instead, I have learned that other professions that I previously thought were boring or no fun are actually pretty interesting, and it may have been interesting to have tried delving into them earlier in life. The biggest negative I've learned though, is that being a social person, my position doesn't seem to allow me to interact with people as much as I would've liked to otherwise. I do interface with clients sometimes, but not to the level that the analysts or other colleagues on the business side do.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Speak up, and show motivation. Always strive to take the next step in your career. Doing what you're told and getting your tasks done shouldn't be your goal; it should be what's expected of you and your goal should be to advance in your domain expertise, technical expertise, and technical leadership. Also, to reiterate from a previous post, look for a job that will help you grow your career; don't just accept the highest offer.
What’s the most fun you’ve ever had… programming?
I loved working on robot soccer. I got to go twice to the international competition, and it's really satisfying seeing your code work in a game. You cheer on the little robots as if they were your kids and they could hear you. You watch them shoot that ball into the wooden goal and hear that satisfying *THUD* against the back of the goal. You stay up until the wee a.m. hours programming for the next round after every match you win (our team triple code reviewed any piece that went in during the competition, since we were so prone to errors when programming so late. Errors still made it into the system though). I loved it. So much, that I ended up volunteering and helping Johns Hopkins start a team as well.
Feel free to ask me any other questions if you feel this was incomplete, or share your own answers if you'd like.
20080915
How I Got Started Programming
Posted by
RoboJenny
@
Monday, September 15, 2008
Tags:
carnegie mellon,
job advice,
personal,
programming
Other sources on this topic: Related Content by Sphere
Other sources on this topic: Related Content by Sphere
Subscribe to:
Post Comments (Atom)

5 comments:
Jenny,
I hope you don't mind my responding to your comments here - but this is EXACTLY the kind of article I think we want to read. As I told you a few months ago, there are precious few brainy, articulate, female programmers out there - so by default the hows and whys of what you do, what you think about, etc. is rare and (to a certain audience) potentially very interesting.
Thanks for this one - keep 'em coming!
EDIT: should say "are rare", rather than "is rare".
Thanks! And of course I don't mind you responding here... I love feedback and don't get enough of it!
How old were you when you started programming?
17 (30 years ago)
How did you get started in programming?
Assembled an 8-bit microprocessor kit with a whopping 4k of memory. Taught myself assembly language programming.
What was your first language?
Signetics 2650 assembler.
What was the first real program you wrote?
Interactive debugger for the Z80 based Microbee computer. Payment for it was an Epson dot-matrix printer.
What languages have you used since you started programming?
Assembly language for many architectures, Pascal, C, C++, various flavors of Basic, Cobol, Fortran, Common Lisp, Forth, Ingres SQL, PostgreSQL, M4, Unix shell. Still using C, PostgreSQL, Common Lisp and Unix shell daily.
What was your first professional programming gig?
Programming the first Apple Macintosh in assembly language.
If you knew then what you know now, would you have started programming?
Absolutely.
If there is one thing you learned along the way that you would tell new developers, what would it be?
1) You cannot learn too much theoretical computer science or mathematics.
2) Money is irrelevant.
What’s the most fun you’ve ever had… programming?
It's all been so much fun that I couldn't choose. Robotics, AI, database systems, web applications, you name it. The only time that wasn't fun was working for a lottery agency.
@Andrew Thanks for your answers! It's great hearing from different people about how they got involved. I particularly enjoyed the bit about getting the dot-matrix printer as payment. The printer I used for the most number of years was a high-quality dot-matrix printer... its output was actually as good as or better than the early ink-jets for quite a while. One picky English teacher I had demanded that all papers we wrote had to be printed on an ink-jet printer. I used this trust dot-matrix and she couldn't tell the difference. =)
Post a Comment