Is a PhD in Computer Science Worth It?
A PhD in Computer Science offers the chance to become a leading researcher in a highly important field with potential for transformational research. Especially consider it if you want to enter computer science academia or do high-level research in industry and expect to be among the top 30% of PhD candidates.
What you will learn as a PhD is: how to manage experiments, interpret results, and survive peer review; how to read and evaluate others’ research; how to develop expertise in a field; and how to focus on a very narrow (but hopefully significant) area of computer science.
Most people qualified to do a computer science PhD should seriously consider doing a PhD focused on Machine Learning
Why do a computer science PhD?
If you majored in computer science as an undergraduate, you probably spent a lot of time programming and writing code. You may imagine that a computer science PhD is a lot more of the same. You would be wrong: a PhD program primarily teaches you to be a scientist, not a super-programmer.
What you will learn as a PhD is: how to manage experiments, interpret results, and survive peer review; how to read and evaluate others’ research; how to develop expertise in a field; and how to focus on a very narrow (but hopefully significant) area of computer science. You will spend one to two years in PhD-level courses (with an additional two years earning a master’s, if you do not already have one).
Coursework may include classes in algorithms, combinatorics, and optimization; human-computer interaction; software engineering; computational biology; language and information technologies; machine learning; robotics; forensic science; biochemistry; and nanotechnology.
You will then dedicate a substantial amount of time (anywhere from two to six years, typically) to your doctoral dissertation, likely on an extremely specialized subject. What if your field of expertise becomes obsolete? Fortunately, your PhD also trains you to identify emerging fields of interest and to develop expertise through research and experimentation. You will be well positioned to pivot.
By digging deep into your specialization, you will develop an awareness and understanding of the deepest problems confronting computer science today, not only in your field but in all impacted areas. You will enjoy the satisfaction of attacking and perhaps solving important problems that few, if any, have previously considered: you will be on the cutting edge of a very important field. And you will get to do all this in the company of like-minded peers and mentors who are among the few people in the world who will understand your work. If all this sounds appealing, a PhD could be the right choice for you.
The most commonly cited advantage of a computer science PhD is that you learn highly advanced research skills:
- You learn the skill of choosing promising areas of research that are at the edges of a field: “Doing a PhD will force you to cast away from shore and explore the boundary of human knowledge. There’s a real trick to picking good problems, and developing a taste for it is a key skill if you want to become a technical leader.”
- You become fluent in both written and verbal technical communication: There is a noticeable gap between the software engineers who have PhDs and those who don’t in this regard. PhD-trained folks tend to give clear, well-organized talks and know how to write up their work and visualize the result of experiments. As a result they can be much more influential. This is a skill that’s important for entering data science.
- You learn to run experiments and interpret the results and get every aspect of your methodology closely critiqued.
- You learn how to read and critique research papers.
Other benefits
- You often become the leading world expert on the area of your dissertation.
- You gain a much deeper understanding of complex computer science topics, which can help with reaching technical leadership positions in industry, which are in-demand and well-paid. People with PhD’s also frequently get more freedom in their subsequent jobs than those with bachelor’s or master’s degrees.
- Highly intelligent peers, and close mentorship and feedback from some of the smartest people on earth.
PhD level research can be extremely satisfying. You can discover previously completely unknown knowledge, you gain deep understanding of your area and you get to prioritise accuracy and truth over functionality and speed much more than you do in industry. - It is generally easier to move from a computer science PhD into industry than it is to move from industry into a PhD.9
Who should most strongly consider a computer science PhD?
You should only consider a computer science PhD if you are incredibly motivated to do high-level computer science research. All the advice we read was emphatic on this point. Here is a representative quote:
The only reason to do a PhD is because you love doing research. If you don’t love research, don’t bother — it is not worth the time, money (in terms of opportunity cost vs. making a real salary in industry), or stress.
There are downsides to pursuing a PhD, and a good candidate for the degree must be comfortable with them. First, the process involves a massive time commitment. While most PhDs take four to six years to complete, more than a few extend beyond a decade’s work. Your dissertation work will likely be in a very specific area, so you’ll need the perseverance to continue when your work inevitably gets boring and the endurance to complete a long and extraordinarily challenging task.
Graduate research requires a great deal of self-discipline. PhD programs are basically unstructured; you’ll be doing most of your work independently, chasing bad leads and extricating yourself from dead ends
What can you do with a PhD in computer science?
We generally think of PhDs —in any field—teaching and conducting research at a university, and in fact there are academic positions available to computer science PhDs. The majority wind up elsewhere, however; according to research, only about 30 percent of computer science PhDs wind up working at a university, and fewer than 10 percent ultimately find tenure-track positions.
Thankfully there are other options in business, government, and nongovernmental organizations. Your first step may actually be post-doctoral study, in order to accrue further expertise to bolster your CV. In many instances, research will continue to be an important, if not the sole, focus of your work, but that’s not universally the case: according to the most recent Taulbee Study of computer science degrees, just over half of new PhDs found work in research.
Job titles include faculty, research scientist, computer network architect, security architect, data modeler, database administrator, software developer, computer hardware engineer, and computer systems administrator.
Through extensive study in areas like numerical analysis, networking, systems administration and artificial intelligence, prospective job applicants will have a deeper knowledge of cutting edge technology and be better prepared for an ever-changing world. They will have proven their desire to learn and shown employers that they are willing to put in the time and effort necessary to remain competitive.
Listed below is a table filled with five careers that those with such degrees generally fall into and their respective median pay as well as job growth statistics.
Job Title | Median Salary (2019)* | Job Growth (2018-2028)* |
---|---|---|
Computer and Information Research Scientist | $122,840 | 16% |
Computer Hardware Engineers | $117,220 | 6% |
Database Administrator | $93,750 | 9% |
Software Developers | $105,590 | 21% |
Network and Computer Systems Administrator | $83,510 | 5% |
Source: *U.S. Bureau of Labor Statistics
Degree Program Requirements(UoN and JKUAT)
Within most graduate programs, students will be required to have a Bachelor’s in computer science.You need an undergraduate degree in computer science or a closely related field like engineering, maths or physics. A master in computer science can help you enter if your major wasn’t in computer science.
Admission Requirements – University of Nairobi
- Applicants must satisfy the University’s general admission criteria for Doctor of Philosophy Degree programmes.
- The following shall be eligible for admission into the Doctor of Philosophy in Information Systems; Holders of a Master’s degree in Computer Science or its equivalent from the University of Nairobi or any other institution recognized by Senate
- Applicants shall be required to :
a) Pass an entrance examination
b) Submit and present a research concept note at the time of entrance examination - Read more
Admission Requirements – Jomo Kenyatta University of Agriculture and Technology
- The common regulations for Doctors of Philosophy in the University shall apply.
- The common regulation for the Doctors in Philosophy at the School of Computing and Information Technology (SCIT) shall apply.
- The minimum requirements for eligibility into Doctors of Philosophy in Computer Science are Holders of a Masters degree in Computing/Computer Science/Information Technology/Software Engineering/Computer Technology/ Information Systems, Computer Engineering (thesis option) or related field from a recognized university
- Read more
Reasons not to do a computer science PhD
- It takes a long time: “Nobody finishes in four years. The typical time to completion is around five or six years.
- You don’t get wide exposure to different career areas during this time – you only learn about academic computer science.
- Currently only around 30% of computer science PhDs get jobs in academia, with less than 10% getting tenure track positions. To get a tenure-track position it is increasingly necessary to do one or more post-docs first, meaning you face even more time with relatively low pay.
- Currently only around 55-65% of those who get jobs in industry after their PhD get research positions (suggesting it may have been better for them to enter industry directly). Overall, only around half of computer science PhD’s get research positions immediately after their PhD’s whether this is in academia or in industry.
- The PhD is extremely unstructured – you do highly open-ended research with no clear guidelines on progress or how to organise your time. “Research can be very rewarding and very frustrating. Most students describe graduate school as a roller-coaster with tremendous highs and tremendous lows.”
- The pay is not that high – median stipends range from $17,000 to $29,000.
So… is a PhD in computer science worth it?
Let’s consider the arguments against a PhD in computer science. First, there’s all the lost income. Depending on whether you have already earned a master’s, you can spend three to 10 years earning your PhD; that’s 10 years of low stipends and serious debt accrual. Second, there’s the job market. Plum computer science positions on university faculties open rarely, and there’s a lot of competition for them. Your PhD may actually over-qualify you for some jobs in the private sector.
So why pursue the PhD? Because you love computer science, love doing research, and need to be at the cutting edge of the field. You may also end up with a high-paying job as a result, but if that’s your primary goal, you may want to reconsider your plans. There are lots of easier and more reliable ways to earn a lot of money.
Overall, especially consider a computer science PhD if:
- You meet the entry requirements.
- You’re highly motivated to do computer science research.
- You expect to be among the top 30% of PhD candidates.
- You want to go into computer science academia or do high-level research in industry, especially if you want to work on artificial intelligence.