Since I shared in an earlier article about going back to school for a Computer Science degree, some readers have reached out to me saying they are considering the same path. A lot of them are also already working in the data science/ engineering field or a totally unrelated field, but feel that they might still want to study — for whatever reasons.
Hence, I’m writing this follow-up article to share with you my “refined” opinion on taking a second undergraduate degree in Computer Science, after almost completing my freshman year. Hopefully I can inform and hopefully help you make your own decision. At the end of this article I also list out some free resources for you to look into. It might be a good place to start.
A brief history of myself: I have a Bachelor and then a Masters in Economics. I had worked for 3 years before taking a second Bachelor degree in CS. It is delivered online (except for final exams), which allows me to combine study with my current job at PwC.
Alright, you are thinking if a CS degree is something for you, especially when you are already working. It is a hard question that involves a lot of different aspects in your life, but let’s not make it harder than it should be. Here are a few simple questions that might help.
1. What value do you want to get from a CS degree?
To be qualified for that damn job?
I’m afraid it may not be worth it.
Believe it or not, most of us don’t need a CS degree to get the job we really want. So far I’ve only heard of some engineering jobs at Google that explicitly don’t hire people without an undergraduate degree in CS (and that will probably change). So if this is your only goal, you might be better off doing online courses, reading books and building a good portfolio. You can actually find a whole CS degree online (I listed some useful resources at the end of this article). It might save you tons of time and money.
But if a degree is what it takes to make you feel more confident and well-rounded in the field, do it!
To satisfy your curiosity?
Some of us are blessed (or cursed) with an unprecedented curiosity.
We value knowledge and understanding more than a lot of things — including the grueling experience of learning and studying for exams. If you are very interested in programming and abstract stuff, you might find yourself in a sweet-spot learning computer science.
I can tell you, it is very satisfying to finally understand how the Internet works and how computer works, even though most of us take them for granted. It can be also very fulfilling to know well different computer algorithms.
That said, parts of any CS program will bore the hell out of you. You might find yourself one day reading about those insanely abstract computational theories, which might feel utterly uninteresting and irrelevant.
If you feel you are curious enough to study, this is a very good motivation. That said, you can as well learn everything by yourself, the only difference is that you have people who guide you, support you and study with you, and you get a degree at the end.
To be more creative and better at solving problems?
Another value you might get from a degree is the access to a lot of ideas and resources from teachers and schoolmates. You get the chance to create some very cool apps, games or tools. Those are often projects as part of different modules, and they can be really fun.
You also learn to solve many different types of problems, not only through coding practice, but also through conceptual understanding and designing skills.
Computer science is a bizarre discipline — people basically create things out of thin air. Therefore, if you love creating real-world applications of technology and solve problems from technological perspectives, you might find taking CS degree a very rewarding experience.
That said, by no means I’m suggesting that a CS degree is the only way to be creative. But I do believe it helps you open your mind to new concepts and ideas; and the best thing is, you also know the nitty-gritty of how to implement them with your knowledge and problem-solving skills.
To be open to more opportunities?
A CS degree is probably one of the most versatile credentials there are. It can pave a good foundation to some pretty exciting careers, from software engineer, machine learning engineer, full-stack developer to technical writer.
Here is a cool list of 100 careers for computer science major.
Do you see yourself doing one of these jobs in a few year down the line? There are many jobs that probably do not exist yet, so don’t be disappointed if you do not yet find the perfect career.
Honestly, I still don’t have an exact answer myself what type of work I will be doing in say, 5 years, but I can see myself tinkering with software, data, security and thinking about how it can help us as human. Or I might end up being a writer or an artist — when computers finally take our jobs and we don’t need to work anymore :).
This brings me to the next big question.
2. How do you want to FEEL in your career?
Given that a CS degree might twist your career path in whatever direction, it’s worth thinking how you like to feel in your work and career. This idea comes from Danielle LaPorte and The Desire Map. They suggest we should focus more on how we like to feel in your career and work, instead of what we want to do.
Do you like to be in the state of flow?
Do you like to feel helpful to others (in a nerdy way)?
Do you like to feel capable when it comes to solving important problems (with logic, software, algorithms and data)?
Do do you feel motivated in certain situations, by something?
Do you like to be surrounded by certain types of people?
These might be useful questions to ask when you want to take an honest look at what you want and expect from your career with a CS major.
3. Have you weighed the potential costs?
Time and energy
Studying for a degree is not an easy feat. It is a lot of work, especially if you are working almost full time like me. And that means you need to be prepared to:
Work longer hours than most people:
Yes, it sounds very cruel. But it is a sad reality. Next to 8 hours at work, be prepared to study 1–2 hours each day, or you will have to study a lot in the weekend. I find 10 hours study per week sufficient for the program I’m taking, but this might extend in the exam periods. In addition, you will soon find a lot of new things that you might be interested in outside of a CS program.
Last semester I did a Web Development course. Somehow I got so interested in learning more in depth in this area that I ended up spending another 30 hours on the Advanced Javascript and the Zero to Mastery Web Developer courses on Udemy. You might also want to read related books in certain modules apart from the textbooks, which will quickly add up the demanded time.
Some people pace out the study and take less courses per semester, so that they can easily fit study into their busy lives. I’m taking almost normal pace (as a full-time student), so to be honest I might be complaining more than I should be 😉.
I also try to manage work and study as efficiently as possible. This includes:
- keeping a good note system (to me, this simply means to take understandable hand-written notes and index them).
- keeping daily/ weekly to-dos and might-do lists
- planning well ahead (still struggling with this sometimes as I always tend to leave things until last minutes)
- all while applying different tactics like playing videos at 2x speed, focussing on the core knowledge that are most essential and valuable, and a bunch of productivity hacks. I used to dislike hacks because they sound a bit “cheap”, and my pride screams “I don’t need to hack anything in my life”. But well, they work!
Opportunity cost:
You may have already learned that nothing is really for free. Economics professors like to call it “opportunity cost”. We only have a finite amount of time, energy, and money. When you spend it on something, you sacrifice the opportunity to do something else.
Is there anything you would rather do if you are NOT studying for a degree?
It might also be useful to think whether you are in a low-opportunity cost period of your career and your life.
It is analogous to a lazy Friday afternoon after a long working week, when you would just lazily sit down, watching YouTube and Netflix or cleaning your mailbox. It’s a low-opportunity cost moment, little is at stake, meaning that you can devote it to something more meaningful.
Likewise, if you are in a period of your career and your life where you do have time but NO better thing to do, then study is a very good choice. But if you have kids or planning to do so, or if you want to focus on your relationships, or if you want to pursue other endeavours and side hustles, then you need to weigh the cost and benefit of studying.
Finance
A degree will cost you a good amount of money, even though an online program can reduce the cost by half. If you are working, you might have a better option: getting your employer to sponsor your study. Most of the times there is a condition to that; for example, you are required to stay at the company for a certain amount of time, unless you repay the study cost.
Some useful resources to learn CS:
- Outline of computer science
- Teach yourself computer science
- CS50: Introduction to Computer Science: The best introduction to CS.
- The Open Source Computer Science Degree
- Awesome computer science opportunities
I hope this article sheds some lights for you to make your own decision. Thank you for reading.
Originally published at https://www.thuhienvu.com.