How to Earn a Computer Science Degree
Unlike other high-prestige professions, many notable figures in the CS universe did not get where they are because of their college degree, but rather through their own genius. Luminaries such as Mark Zuckerberg, Bill Gates, Larry Ellison, and Steve Jobs all dropped out of college before creating multibillion dollar companies. While it would be silly and rather dangerous to conclude, from these handful of famous examples, that college doesn’t matter, there is a more truthful kernel that can be extracted—the tech industry is more meritocratic than the world of law, medicine, or business. If you possess the requisite skills, a high-paying job can be obtained even with less-than-stellar academic credentials. Literally any computer science degree will put you in a solid position on the job market.
On the contrary, it is important to note that an examination of the top tech companies in the country quickly reveals that many employees graduated from universities with strong computer science programs. Yet, not all of these feeder schools have names like Caltech, MIT, Carnegie Mellon, or Stanford. In fact, many are schools that accept closer to 60% than 3-4% of those who apply. What follows is a look at key considerations for future tech-professionals. Questions answered will include:
- What is the difference between a software developer, computer engineer, and computer programmer?
- Do you need to major in computer science at an elite university?
- Is it hard to register for classes?
- What high school courses should I take to get into a computer science program?
- Which computer science-related major should I select?
- What are the salaries for computer science majors?
- What is the job outlook for computer science majors?
We begin with an explanation of the tricky nomenclature encountered in this field of study.
What’s the difference between a software developer, engineer, and programmer?
These terms are sometimes used interchangeably which can be confusing. While there is a degree of overlap in terms of job duties and educational requirements, software developers, engineers, and programmers all have unique job duties and educational requirements.
Programmers’ primary duties are creating and inputting code. Most programmers have computer science degrees; others are self-taught. In a Venn diagram, the ability to code would overlap for both programmers and those termed software developers. Typically, the job title of software developer goes to someone who is a generalist. This individual is well-versed in a number of systems and languages but not necessarily an expert in any one. Developers lead teams of programmers and possess strong communication skills. Additionally, they help connect employees with expertise in different areas to work toward a bigger-picture goal.
Here’s where things get unnecessarily confusing…some software engineers hold the title of software developer. However, the designation of engineer carries some weight. Your average engineer would not enjoy being grouped as a “developer” with individuals lacking a degree in engineering. By definition, engineers explore the practical applications of scientific and mathematical principles as related to the creation of software. They, like developers, are looking at the big picture of a project, but with a lens more focused on science than art.
Do I need to attend a prestigious undergraduate school?
One might assume that the colleges recruited at most heavily by a premier tech company such as Microsoft or Apple would be the usual suspects: Stanford, MIT, Berkeley, Harvard, etc. Yet in reality, a school’s proximity is also of great importance.
Redmond, Washington-based Microsoft plucks the majority of their employees from places such as nearby University of Washington, Washington State, and Western Washington University. Apple, located in the heart of Silicon Valley, draws a large portion of its workforce from nearby San Jose State and the University of Texas at Austin. Visit our free Dataverse for a complete look at the top feeder schools to companies like IBM, Google, Apple, Cisco, and Intel.
As with the engineering profession at large, entering the field of software development is more about what you can do than the name on your diploma. That being said, a computer science major from an elite school who also possesses an exceptional skill-set will be at a premium on the job market. For a complete list of top schools check out College Transitions’ Best Colleges for Computer Science.
Is the computer science program overcrowded?
More important than the name of the university where you study is the fact of whether you will actually be able to enroll in the CS courses you desire to take. The number of undergraduates majoring in computer science doubled from 2013 to 2017. Unfortunately, schools have not been able to add tenured faculty at a commensurate rate, leading to scheduling problems at many universities.
In 2022, small and large schools alike are struggling to meet CS enrollment demands. We’ve recently seen 400-seat lecture halls at UC-San Diego and lotteries to get into classes at Swarthmore College. Ironically, one of the great draws of the computer science major—high starting salaries—is the very reason that too few students elect to pursue PhDs in the subject, thus limiting the number of future professors willing and able to train the next generation of undergrads. This is a storyline that future CS students should be following. All applicants need to be aware of the staffing/enrollment situation at their prospective schools.
What courses should I take in high school?
It should come as little surprise that math is going to be of paramount importance. Taking a rigorous algebra, trigonometry, geometry, and Pre-Calc/Calc class is a must. Yet, none of these branches of mathematics translates directly to computer science.
If possible, find a way to take a discrete mathematics class. Discrete math is the foundation of modern day CS. It includes topics like combinatorics, probability, number theory, logic, and graph theory. While discrete math is a staple of most high school math competitions, it is not always offered by schools due to the fact that its content is not the primary focus of high-stakes state standardized tests or the SAT. You may have to take a summer course at a local college or study the subject on your own, but the rewards will be ample.
AP Computer Science
Of equal “duh” status is to partake in any and every computer course offered by your school. AP Computer Science is immensely beneficial. However, it is only available at roughly one-quarter of American public high schools who offer any of AP programming. Only 45% of U.S. high schools offer any level of computer science courses. However, the number of high school students in the U.S. taking the AP Computer Science A exam has grown exponentially in recent years. In 2021, there were 74,676 takers of that exam and another 116,466 students who sat for AP Computer Science Principles.
While these numbers represent just a small fraction of participation compared with AP Psychology, U.S. History, or Calculus B/C, there is still a clear upward trend. As with discrete math, ambitious students should seek dual enrollment opportunities or even opportunities to take a college course online or at a local institution.
What computer science degree should I pursue?
Appropriate fields of study for entry into this profession include computer science, computer information systems, software engineering, or mathematics. For computer programming, you’ll need to be well versed in programs such as C++, Java, html, Python, and SQL. Opportunities to complete independent research projects and obtain internships during your four years of study will be key. This will show employers that you have the practical experience and knowledge needed to land your first job.
Average salary for computer science degree holders
Software engineering is a well-compensated field, with a median salary right around $107,000. This is a rare career where the starting salary for a bachelor degree holding individual reaches almost $70,000 per year. Experienced engineers working for major multinational corporations such as Amazon, Apple, Salesforce, Oracle, and IBM will achieve average salaries in the low-six figures.
Computer programmers, without the “engineer” title attached to their name will typically earn roughly $55-60k out of college. Later in their career, they will average out at around $87k. Those who go on to become IT Managers or take on other administrative duties can easily bring home much greater compensation.
Job Outlook for computer science graduates
Jobs in software development are projected to grow at 22%, much faster than the average occupation, through 2029. In addition to the continually-growing world of mobile applications, this field will also benefit from the expansion of information technology in the healthcare field as well as increased investment in electronic security for government and private networks.
For a more in depth look at salaries within various tech fields as well as projected job growth view our Occupations by Salary and Expected Growth Dataverse chart.
CT’s Bottom Line
Jobs in the software development field, whether you are an engineer or a programmer are stable and well-compensated. Those who are knowledgeable, experienced, and efficient will see a tremendous return on their educational investment. This is true whether you earn your computer science degree from a selective tech powerhouse or a state school.
A licensed counselor and published researcher, Andrew’s experience in the field of college admissions and transition spans more than one decade. He has previously served as a high school counselor, consultant and author for Kaplan Test Prep, and advisor to U.S. Congress, reporting on issues related to college admissions and financial aid.