Should I Learn Computer Science?

Most developers who’ve been through a “bootcamp” learn the first steps of computer programming, which I would classify into four areas: what programming languages are, how to use variables and manage data, how to display things on the screen, and how to save data into a file or database.

After the bootcamp is over, some folks are fortunate enough to find employment as a software developer, tester, or technical writer; while others keep working to up their skills to they can pass the (often archaic) interview process.

A common question from folks at this stage is whether they need to "learn computer science" (whatever that really means to them) in order to get a job.

My answer is almost always the same:

No.

The gap from bootcamp to first job is best bridged with demonstrable practical skills, not computer science theory. Computer science is great and you'll want to learn some of it eventually, but it's probably not keeping you from your next job. Skills that fill the gap are tactical and applicable to day-to-day development.

Here are some gap-spanning skills to consider:

  1. I just pushed a commit with a bug in it. What git command can I use to undo that commit?

  2. Our site is crashing when a user clicks a certain button. How do I determine the root cause?

  3. One page on our site loads really slowly. How do I determine the root cause?

  4. I want to start a business and need to host my application somewhere. How would I decide between hosting on Heroku vs AWS vs Digital Ocean?

  5. How does DNS actually work?

  6. What's similar and different about React, Vue, and Hotwire?

  7. How do I fix a React application that's getting CORS error messages in the browser devtools?

  8. What does "bundle install" really do on my machine?

  9. How do I contribute an idea to an open-source project?

Demonstrate that you’re able to pick up the essentials of day-to-day programming. Take away any doubt that these common situations might cause you to fall into the chasm.

Now, with all that being said, picking up some computer science (well, the good parts anyway) will indeed pay some dividends. What are the good parts, you ask? Well, that’s a topic for another day…