Let’s Talk Computer Science

4

I have finally reached the end of the semester and although I missed you all dearly, I had to take an unintentional break for the sake of my studies. Which brings me to the topic of this post. As many of you know, I am currently a senior in college majoring in Computer Science. After receiving a  surprisingly high amount of emails about my major and since it’s the reason for my unexpected blog hiatus, I figured I would finally dedicate a post to answering a couple of frequently asked questions about Computer Science and my journey in the field. CS is more than just my major, it’s one of my biggest passions and one of the all consuming type of passions at that. This post will simply skim over the surface and isn’t intended to be in-depth in any way, but please feel free to leave follow up questions in the comments or via email! Also, I am not an expert in all things Computer Science, but I have worked as an engineer at a couple of tech companies such as Intel, Twitter, & Microsoft and am currently pursuing a Bachelor’s degree in CS. This might be a long post so grab a cup of tea, some kettle corn, and let’s get started!

To give some insight in my background, let’s rewind about 10 years when I was first introduced to computing. I received my first laptop around the age of 9 and was immediately enthralled by the world of the internet. It felt like the entire world was literally at my fingertips and I was hooked. That summer, sometime during my middle school years, I made my first website. Using resources like Dreamweaver, Lissa Explains, and Dynamic Drive, I created the world’s tackiest website hosted on Geocities. There were snowflakes falling on screen, hearts following the cursor, a Mariah Carey or maybe Chris Brown song automatically playing in the background. It was bad to say the least, but I was so proud of myself. There was something about turning lines of gibberish into something visual that completely captivated me. So I continued building websites, started learning how to design, and tried to absorb all the knowledge I could about computers and technology. By high school, my source of income was freelancing my web development work. When college applications came around, I wasn’t exactly sure what all “Computer Science” entailed but I knew that I could dedicate my life to working with technology, so I went for it.

What is Computer Science?

This is a question that warrants a vague answer because the term ‘Computer Science’ covers a broad spectrum of study and work. I think the most common misconception is that Computer Science is creating websites or building mobile apps. Those are two very very very minor applications of the study. I’m going to leave the definition of CS to our good friends at Wikipedia and other sources and will rather talk on what a Computer Science education entails. Along with those common misconceptions I mentioned, many don’t expect that academically you can expect to study theory, algorithms, and logic much more than you will study application. As quoted from Boston University,

“Computer Science is not just about building computers or writing computer programs. Computer Science is no more about building computers and developing software than astronomy is about building telescopes, biology is about building microscopes, and music is about building musical instruments… The solution of many computer science problems may not even require the use of computers—just pencil and paper.”

 I really can’t express this enough. Computer Science is derived from Mathematics, and honestly quite a few of my courses don’t require the use of a computer at all. For this reason, I always recommend those who are interested in building websites or such things, to self-learn rather than pursuing a degree in Computer Science.

Why Computer Science?

As everyone can probably tell, technology is everywhere. It has made its way into every facet of our lives and technological innovation is moving faster than most of us can keep up (like the fact that self driving cars are already a thing). Despite the fact that this makes being a programmer a highly sought after profession, I chose to work in this field because I wanted to be a part of that growth. I think that’s one of the most exciting reasons to be a computer scientist; having the ability to contribute to the technology that’s changing our world for the better. Someone a few years ago told me that software exists to make life easier and that has stuck with me since. It means that software and technology aren’t worth it unless they make life better for someone out there. A programmer’s job? To make the world a better, faster, more efficient, and enjoyable place. Isn’t that an awesome reason to choose a career?!

Is the tech industry like “The Social Network” or “The Internship”?

I’m just going to keep this short and go ahead and say yes because the tech industry (at least young tech companies) is a fun and exciting place to be.

I want to learn how to code, now what?

It’s a great time for that, because there’s this big movement for everyone to code meaning there are tons of resources. I would recommend figuring out what type of work you’re interested in doing and then going from there. Different programming languages are intended for different things, but learning the syntax of a new language has a small learning curve after you already know another language. So for example because I’m sure that didn’t make much sense, if you know Java, it’s not too difficult to pick up Scala or C#. I would recommend heading to Google, Bing, DuckDuckGo for resources and it’ll bring up sites such as Code Academy, Treehouse, and more. Simply searching “learn how to code” should offer promising resources. If you then decide that you would like to understand computing and software development a bit more or explore something more specialized, I would then recommend exploring degree options in Computer Science.

What’s the difference between a computer scientist, programmer, software engineer, etc…?

These are honestly just titles. The subtle differences usually depend on your line of work. But like I said, titles.

Is this a hard major?

Hard is a relative term, but I think all of my classmates would agree that the answer to this question is yes. It may be difficult but it is also exponentially more rewarding. There’s usually much frustration that  goes into writing a program; tears are sometimes shed, hair pulled out, etc. But the satisfaction that comes when the program or software compiles, runs, and does what you need it to do… that is unrivaled.

Thanks for reading and thanks to everyone who sent in questions or reached out to me about this. I’ve skimmed over a lot and there’s still much ground to cover so stay tuned for a possible part 2 which will cover internships, startups, and other FAQs .

Love, Darbie now has a Facebook Page! Like to stay up to date with latest posts and my random musings.