A few weeks ago I was approached by a freshman at a high school in Ohio who asked if she may ask me a few questions about my experience learning how to program and starting my career. I thought it would be a great Q&A to share on this blog as well!
Dear Ms. Ober,
Hello! My name is Ashley, and I am a freshman at [redacted] High School. In my English class, we are currently doing a research project on our career of choice, and I have chosen the occupation of a computer programmer. I did some research, and I found out that you’ve taught many classes on computer programming. If you have the time, I would love for you to answer these questions for me!
1. When did you realize you wanted to become a computer programmer and why?
I started learning how to program websites back when I was a freshman in high school. I first thought I would work as a digital artist and spent a lot of my free time drawing and using Adobe Photoshop creating designs.
Eventually, I wanted other people to see my art, and thought that putting them on the internet would help me do that. I first learned HTML from a large tome my dad had on his bookshelf and when I first started to read it I had no idea what I was looking at! After attempting to decode the message inside, one day everything “clicked” in my head (I swear it was magic) and programming HTML made perfect sense to me.
Learning HTML was a gateway for me into doing much more complicated things on the web. Soon I asked my father to buy me a domain and hosting and I was able to learn more about servers, databases, and other programming languages.
Soon, I realized that I was much more interested in the programming aspect of displaying my art than the art itself. When it came time to choose a major, I chose a dual major in computer science and cognitive psychology. Why? When I chose Northeastern University, they were starting a pilot program that was structured for students interested in using computer science in a specific discipline. In my year, we had dual major in Cognitive Psychology, Math, and if I remember correct, business. The have since gone on to offer many more pairing such as an option with music and one with health care.
2. What subjects/ courses were the most beneficial to you in preparing to become a computer programmer?
This is an interesting question. I had a discussion today with other programmers about the courses I took because I was a dual major, while I had exposure to psychology, I did not get as much exposure to things like machine learning, designing my open programming language, and algorithms, which I think would have been very helpful for my career. If your future university offers a dual major, you may want to think hard about what part of programming appeals to you. Your future job will be much more than just sitting at a computer every day. You will be taking with other people and trying to work on problems that humans have and that computers may be able to solve. This usually means that it will be in conjunction with other disciplines and industries.
At co-ops (or internships) I’ve had exposure to doctors working on cancer cures to customer service representatives working with customers who need to fill their prescriptions to publishers working on magazines. What kinds of things outside of computers do you enjoy? Can you think of the problems these industries may have that you can solve by having computers do the work?
If you can make that connection before you head off to college, you can focus on combining your computer classes with electives that will educate and expose you to other industries!
3. Around how many languages do you have to learn? Which ones are the most important?
This depends on your classes. In my first year everyone was required to learn a language called Dr. Scheme (It has since been renamed Racket). When I was in one of my final classes, I was required to use the .NET framework for my web design class, but when I took my Software Development class I was allowed to use a language of my choosing. Sometimes as a college student, you don’t really have that choice. 😔
Depending on whether you want to be a web programmer or a native programmer, that might influence your choice on which languages to concentrate on. Prior to college, I had taught myself PHP, CGI scripting, Perl, JavaScript, and C++. During my time there I became comfortable with Ruby, Scheme, .NET, and Smalltalk. Since graduating, I experimented with Objective-C and spend a lot of my time writing Ruby on Rails, Sass (which compiles to CSS) and Haml (which compiles to HTML). I am spending more of my time lately looking into starting React.js applications.
If you want to work on the web, my biggest piece of advice is to get comfortable with JavaScript, HTML and CSS. Once you learn the basics you can move into more JavaScript frameworks (any of them will probably do for now) and experiment.
4. What degree is needed to be successful?
Honestly, I am sure your parents aren’t going to want to hear this, but it is becoming more and more common to meet developers who do not have a Computer Science degree. Often they will find that programming was a solution to something they were working on, realized they enjoyed it a lot, and decided it would be a great career move for them to do something they enjoyed more.
That is not to say a Computer Science degree is worthless! I enjoyed my time at Northeastern University and would never trade it for anything. With my course work there I was able to learn things that I may not have tackled on my own. It also gave me a history of computing that I think has helped me in understanding programming problems.
For some people, college is the best path, for others they don’t seem to need it and come to programming by another route. Both kinds of people can be very successful!
5. What is your favorite aspect of programming?
My favorite aspect of programming is that basically out of nothing I can create something. As I mentioned above, I was a very artistic person. In conversations with other programmers/developers/engineers, we all have a very deeply held belief that our code is our craft. We take pride in creating something that works well and can be used and to us it looks “prettyâ€.
6. I have been looking into the topic of women and minorities in the field and discovered there haven’t as many in recent years. What do you think has contributed to that?
I am sure through your research you’ve read many articles that offered to give you an insight into why there are so few women.
I can’t tell you definitively why that may be, as there are many factors, but I may be able to tell you what I am doing to try and help those numbers.
One aspect is the entry into the “pipeline.” As a child, my father never treated me like a princess. As we had no brothers, my sisters and I were expected to mow the lawn, work outside, carry things, etc. I realize that most parents/fathers may not instinctively treat their daughters this way and expose them to things not considered “girlyâ€. When I was growing up, along with dance classes (that I hated) I went to science camps and robotics classes. Older, I competed in science fairs and won awards. I figured out that I was good at science and enjoyed what I did. In many of these experiences, I was one of maybe a few girls (if any). I am not sure that parents have these types of experiences on their radar for their daughters or we’re selling science in a way that doesn’t attract girls.
The second potential stalling point is when young women, such as yourself, are making the decision for their majors in college. I think that many can feel intimidated to choose to purse a Science, Technology, Engineering, or Math (otherwise known as STEM) degree because at this point in their lives, they have often heard that “girls aren’t good at ‘x’â€. What can we do to attract more women to study these subjects? Secondly, how do we keep women to complete their degree? When I graduated, many ladies changed out. Was it too hard? Not interesting? Intimidating?
Finally, once the woman has been in her career there is a dropping off point. Many factors may be influencing this statistic. By the age of 25, many women are thinking about marriage and children. If you are dealing with discrimination and unequal pay at your job, it is very easy to become frustrated and decide to leave your job to pursue other fulfilling tasks. If women (and any parent for that matter) starts to think their day job is eating too much of their work/life balance, they may try and look for something else that fits into their life style. Stereotypically, software development and start ups have been know to have longer work hours.
Through my work in RailsBridge, we look to introduce women to programming and offer free workshops and free childcare because we found that these were huge hurdles for women to pursue or continue their education. We want to lower the bars for entry and are constantly looking for ways to make it easier for disadvantaged people to have access to education. Soon we’ll be experimenting with holding workshops at venues that have free computer access so that the poor can take advantage of our curriculum.
At Write/Speak/Code, we are looking to create a tribe for women to gather in to help them grow their skills throughout their career. After working for almost 10 years, at a certain point you can feel like you’re stalling out. We want to continue to offer inspiration to women to stay in engineering and make that next step to a promotion. We too offer free childcare at Write/Speak/Code and also offer a quiet and relaxing space to breastfeed or express milk, as this is a distinct need for new mothers. We are eagerly exploring other ways to make it even more accessible for women to attend.
If you have any other information you can share, feel free to add! I’d like to get as much feedback as I can.
I hope this was an entertaining read and it was helpful for you. Thanks so much for reaching out to me. 🙂
Thank you so much for taking your time and reading this email. I really do appreciate it and I’m looking forward to hearing your insights in computer programming!
If you’re a programmer, have you been asked about how your career has progressed? What would you have told Ashley instead?