by Stephen Buckley, Product Specialist
The computer science major can seem like a mystery at first. Whether you are someone that is majoring in it because you’re passionate about it or someone who decided to do it because you heard it makes money post-graduation (I hope it’s the former but I don’t judge), it can be a bit daunting figuring out what career options there are and what their differences are. Well, as a first-year computer science major with little professional experience, I feel qualified to tell you about some of these options (in simple terms of course). Enjoy.
“Software developer” is an extremely general title that can pretty much describe any person that writes code for a living. Typically, this is what happens as a software developer: a person, either directly or indirectly, says “I need this problem solved, please solve it because it’s your job”. Then, a software developer uses their brain to figure out what they need to make, and they make it with code. After testing to see if it works, they discover that what they made is broken (they’re human after all) and they spend some time fixing it. They release their code, get feedback, and make changes using the same process I described. This process is formally known as the “software development life cycle”.
Web developers are basically software developers that only work on websites. Front-end web developers work on all of the stuff you see and interact with when you go into websites: images, buttons, and anything of that nature. Back-end web developers work on all of the stuff you don’t see or interact with but are necessary for the website to work. For example, how do you think a website knows the correct password for your account? The people placing buttons and images on the webpage sure as heck aren’t worrying about that. Except for full-stack web developers. They do everything.
On the subject of users and passwords, imagine websites and applications that have millions of users. That’s millions of usernames, passwords, and all of the information that comes along with each user that these websites/applications have to remember. These websites/applications need places to store this information, and these places are formally known as databases. Database administrators are the people that create and organize databases. If anything goes wrong with these, database administrators come to the rescue.
Information Security Analyst
Unfortunately, some people are mean and try to hack into various websites, applications, accounts, etc. Information security analysts recognize the meanness of these people and work on security measures to prevent the hacking of various applications and other “cyberattacks”.
Machine Learning Engineer
You might be familiar with the terms “AI” or “artificial intelligence”. This is what machine learning engineers deal with. They’re essentially software developers that create code that learns on its own. There’s a lot of math involved, but if you’re cool with that, it’s pretty neat.
Data scientists are like machine learning engineers, except they use the code machine learning engineers make instead of writing it themselves. They’re tasked with particular problems and lots and lots of data, and they figure out ways to make sense of that data to solve those problems.
Engineering managers are the ones who think about code instead of writing it. They figure out what has to be made and how it should be made on a high level, but they leave the actually-making-it part to software developers.
Computer and Information Research Scientist
Finally, we have computer and information research scientists. These are the people that generally concern themselves with theory instead of application. They use decades of other research and their brains to make new innovations and discoveries in the field of computer science. Their theoretical findings allow people in other professions to apply those theories and advance the field.