How Did I Get Started in Software Development?
My name is Gayle. I’m a former Java Web Developer, who recently started working with Ruby and Rails. This page tells a little bit more about me. I like this idea set forth in Michael Eaton’s Blog Post “How did you get started in software development?” so I have reformatted this page to fit that template.
How old were you when you started programming?
I feel like I was somewhat of a “late bloomer” in IT. Although I used to play around with a teeny bit of BASIC programming on the Apple IIe as a kid, I didn’t know how to use a PC at all when I started college, I did not really start programming until I decided to go into Computer Science at the very end of my 2nd year of college.
I’m always trying to absorb as much information as I can from the people around me. Because of my late start, that helps me feel like I’m catching up, it keeps me from getting bored, and keeps me out of trouble 😉
What was your first language?
The first language where I wrote any significant programs was Pascal, in my introductory Computer Sci classes in college.
But before that, around the time I was in Junior High School, my family got an Apple IIe. I used it to write papers for school, and played various computer games like Lode Runner, Lemonade Stand, and Summer Games. My older brother Kyle bought a book that contained BASIC programs. I took a few looks at that book and I remember thinking I can’t imagine how smart the people must be to be able to write such complicated programs! Sometimes I would type in some of those programs and see what they could do, but that just proved that I have an acute attention to detail, and that I can type.
From there I figured out how to write BASIC programs that would prompt a user, and print something out. Then I would make my brother “play” my game.
Hello! What is your name?
Kyle is dumb!
How did you get started in programming?
My freshman year of college, I had never used a PC. The first time I wrote a paper, was going to save it to a 3.5″ floppy disk, and I wasn’t even sure which way to insert it into the disk drive! I’ve come a long way, baby!
As I approached the end of my sophomore year, I still hadn’t declared a major. Yet, I was required to declare some major by the end of the year. The problem was that I was interested in a lot of things a little bit, but could not find one thing that interested me a lot.
So I started getting advice from a friend of mine who had changed her major many times since entering college, mostly within various Engineering disciplines. The conversation consisted of something like her listing off random classes that I should take just to try them out: “Take a drafting class!” or “how about education?” “psychology?” “nursing?” “You’re good at math, how about accounting?” “music?” “Try an entry-level computer programming class.”
* Teaching: While I enjoy explaining things that I know to people, I didn’t really have any desire to teach kids.
* Psychology: I’m fascinated by psychology but didn’t want to become a therapist.
* Nursing: Definitely didn’t have the stomach for nursing…
* Accounting: …or accounting 😉
* Music: I’m interested in music, played the piano and was a good band-geek in high school (clarinet), but not interested enough to become good enough to make a living in music.
* Drafting or Computer Programming: Well I didn’t feel qualified for drafting or programming.
Still, I was stuck. So I decided to see if any of those programming, drafting, or any other random engineering classes she suggested would fit in my schedule – i.e. fit around the few remaining gen-ed classes I had scheduled, and not occur before 11am. And so, it happened to be the programming class that not only fit well around everything else, but was not even offered until early-evening. Nice. I still did not feel qualified. But I was convinced by my friend that entry-level meant that nobody in that class would know anything about programming either, so I signed up.
The first day, the professor strolled in looking like Bruce Springsteen with jeans, a motorcycle helmet and a leather coat. And somehow the course material just clicked with me. Doing my homework had the same kind of problem-solving and and subsequent accomplishment that I felt when doing any of those hands-on brain-teaser puzzles, and solving those (like where you have a bunch of small cubes strung together and you have to fit them together to make a bigger cube, or you have metal pieces that are linked together and you have to figure out how to get them apart).
From there, I was hooked. I officially declared my major in Computer Science at the end of my Sophomore year. Within a year some of my friends from class had convinced me to get a job at the campus computer lab where they also worked. This provided the convenience of an on-campus job, satisfied my interest in teaching people how to do things even if that interest wasn’t strong enough to want to become a teacher, and showed me how well I learn just by being around, observing, and absorbing information from those much more experienced than I in my field.
What was the first real program you wrote?
The first real program I wrote, where I was not the only real user, was a simple command-line GPA calculator I used in college. I would use it primarily to figure out just how badly I could do in one particular class and still end up with [some specified] GPA that met my minimum expectations for the quarter. 🙂
What languages have you used since you started programming?
Pascal, C, C++, Ada, Java, Python, Ruby
What was your first professional programming gig?
I eventually ventured off campus from my computer lab job, and got my first co-op job in 1997, where I got to use C & C++ along with OpenGL/OpenGVS to write 3D graphics programs for a flight simulator. Coolest co-op job ever!! “Hey, I need someone to fly around in the flight simulator while I watch debug output on the screen, can you help?” “Um, YES!”
After graduation I began my career in Java circa 1999. In continuing the tradition of learning by osmosis from those around me, I’ve since involved myself in various local user groups such as the Central Ohio Java Users Group (COJUG) and the Columbus Ruby Brigade (CRB). So, props to those groups for helping me out just by doin’ what you’re doin’.
If you knew then what you know now, would you have started programming?
Absolutely. I just wish I could have figured it out that I liked and was capable of programming sooner.
If there is one thing you learned along the way that you would tell new developers, what would it be?
I know it’s scary to ask questions, and you feel dumb, but try not to be afraid to ask! It’s one of the best ways to learn. You don’t look dumb asking a question when you’re new – but you do look dumber and are more annoying other people if you wait and then ask the question you should have asked months ago! 🙂
What’s the most fun you’ve ever had … programming?
Since this question originally, although indirectly, stemmed from a blog post on Inside The Machine, I won’t reinvent the wheel and come up with something new, but I’ll reiterate what I already said in my comment there, which is….
“As I think back, I can think of several possible answers to that question, so I’m not going to list them here. But I noticed that the projects I had the fondest memories of were not because of the product, not because of the technology, not because of the location. By far, it was the other people on the team. Conversely, the ones that were the least fun were often things I was doing on my own, or with one of those “interesting” teams, if you know what I mean. Good team mates + good comradery = fun work.”