Last Updated on July 20, 2022 by David Shaw
Computer science is undoubtedly among the most popular major of the decade, thanks to the development of technology and breakthroughs in the digital and IT industry. According to Indeed, the estimated pay for Computer Science graduates in 2022 is $98,521 per year in the United States area, with additional pay up to $31,088 yearly.
With such a good offer, it is only normal to wonder if pursuing Computer Science is right for you? In my opinion, computer science is for everyone! Of course, I say that because there are many branches in the field of computer science, and you should know that not all fields are what we see in movies with the fancy stuff.
Besides the fact that pursuing computer science pays ridiculously well for certain titles, many people actually don’t understand the computer science career other than the fact that we ‘write codes’. Like any other job, there are a few important traits that better suit us from a computer science job title, so let’s talk about them.
You’re Comfortable and Passionate About Learning New Tools Constantly
Pursuing the field of computer science really means you’ll have to learn new tools like a framework, a new programming language, and whole new concepts in utilizing and designing applications every few years. It’s just the nature of how fast things are constantly changing and created to keep up with the quick pace and demands in this digital age. To give you a good example, by the time you finish spending 6 months learning a new programming tool, language, or concept, then there probably is a newer feature waiting for you to learn already.
The current situation and development of this field is not waiting for the ‘next big transition’ into a new era anymore, it’s ever-changing. We’re no more in the era where we anticipate another dot-com bubble, or awaiting the next big technology revolution like the iPhone 3G which changed the way we use technology. Instead, new technology is created and subtly incorporated into our lives every day which can be hard to be noticed or keep up with.
Fun Fact: Modern cryptography technology was widely widely studied in the early 1970s, and Bitcoin was actually created in 2009! It was only in recent years that that Bitcoin, Ethereum and other cryptography technologies became really popular.
So before you think you’ll only have to learn Python and stick to a framework like Django for the rest of your computer science career, the chances of such a reality is really slim. Judging by how fast things in the digital realm is changing, it will only get trickier to predict which technology will grow or lose its demand in near future, so you better hop on the fast train or get left behind.
You Feel Comfortable With Relying Heavily on Modern Technologies
Although we know that almost all kinds of work today require us to rely on computers to a certain extent, a computer science career really requires us to 100 percent rely on technology. Whether you’re studying computer science or working in that field, it means easily spending more than 40 hours per week on your computers which excludes your leisure time.
Nothing professional we deal with can be achieved with a simple pen on paper, which means we will really spend an unhealthy amount of time interacting with technology whenever we do things that are work-related.
In the professional scenario, solving a single error or bug could take up an indefinite amount of time, from a few hours or even days due to the difficult nature of code debugging, even if the changes are minimal. Although you should know that there are also many great programming tools like Jupyter in place created by computer engineers to help address these challenges.
While it is understandable not everyone can adopt this lifestyle, be mindful that involving and immersing yourself in this field will inevitably expose you to very long hours of technology on a daily basis. Be mindful that too dealing with technology for an unhealthy amount of time could easily detach you from a healthy social life.
A good tip for what people working long hours on a daily basis:
- Keep a healthy posture by investing in a good chair.
- Avoid continuously sitting for long hours, and keep a healthy blood flow to our brain and lower body
- KEEP HYDRATED
- Remember to take break intervals for a few minutes (15-45 minutes, or 1.5 hours)
- Set up good lighting to protect eyes from prolonged exposure to monitor
You’re Good at Solving Problems Using Google
Like any other field, there are geniuses and talented people at their job with a specific set of skills. However, the next best individuals that come close to those kinds of genius is if you’re someone good at solving problems using the help of Google.
Every single person in the computer science field will not be ashamed or guilty of telling newbies that Google is their best friend, and probably also what’s allowing them to keep their job. Be it a web designer or software engineer, they will almost always rely on Google on a daily basis while on their job, because there is just way too much information and small details to remember that make their program work!
Google’s search engine has so many hidden features and is more powerful than we think, and it will definitely reign as the top search engine for the foreseeable future to come.
What Makes Someone a Skilled Googling Problem Solver?
Think of the last few times you solved a very technical issue, or how much money you’ve potentially saved yourself from paying an IT technician for assistance. How long did you spend solving relying on Google as your resource, and were they any major technical issues and challenges you overcame? If you could recall a few of those times, then you’re probably a certified Googling expert, so give yourself a pat on the back.
Being really proficient at Googling your way for a solution really shows you’re maximizing the potential of the internet and the resources available. I say to those who possess this skill to not underestimate it because most people wouldn’t even bother Google for a solution to a simple problem and rather spend money and time to get it resolved. Sometimes I do get impressed with myself when I recall back to how I solved certain very technical issues because I knew I couldn’t have done it without the resources found through Google.
You Are Committed to Really Learn Things on Your Own From Trial and Error
I remember when I started diving into the computer science world and while learning a new programming language on my own, it was unlike any of my other prior systemic learning experiences. There is really no teacher, or anyone to show me the ropes on how to really get started. Looking back, I truly learned the most from getting right down to coding whatever I felt was interesting to me, and the aftermath should always end with closing tons of browser tabs of google searches, Stack Overflow forums, and Github repositories on my browser that helped get things done.
We’re talking the purest form of trial and error, no relying on blueprints, templates, or boilerplate codes when you create a program from scratch with lines of code written by yourself.
There is really no guidebook on how you can provide a solution to a specific task or problem in this field. For any coding problem or challenge, you can always find more than one good solution around it. Solving an entirely new coding challenge without prior experience to me is like learning to design a car from scratch, there is so much trial and error that helps you to learn so much and be good at it.
So ask yourself, do you enjoy the process of researching, trying, and solving it yourself? If that is your nature of approaching and learning things, then you probably have a zing for a computer science career which can definitely help itch that productive problem-solving desire of yours.
In essence, computer science people are all about solving problems since we are always not writing perfect codes. Pursuing this major will require us to build, maintain, or improve a product based on the user experience and feedback from users which we will constantly learn from.
Putting Your Problem-Solving Passion Into Action
As someone interested in the field of computer science, you can try satisfying your grit for problem-solving by voluntarily involving yourself in really small, open-source projects of certain software that welcome people’s contributions on Github. Not only will this potentially attract interest and attention from professionals to improve your profile, but it will also be a superb way to learn in a collaborative setting.
Avoid listening to advices that tell you to contribute to random Github open-source projects because it can be extremely difficult or near impossible to contribute halfway into a complicated codebase. Instead, if you know or use a really small and simple appplication or software, try your luck with contributing to these open-source projects so you don’t get overwhelmed from the existing codebases already.
You’re Good at Learning From Visualizing Concepts in Your Mind
Many computer science classes and concepts do require you to be able to visualize and conceptualize how computers and data are interacting and handled in their purest form. In practice, the fundamentals of computer science really just deal with how data is being created, fetched, stored, and processed more securely and efficiently.
Apart from the low-level concepts, high-level concepts on the other hand also require some degree of good visualizing learning skills whether you’re a web designer or a software engineer. Having a good visualizing skill of how things work will help you a great deal at quickly understanding many concepts that’ll you encounter when working. Although I should say that good visualizing learning skills can be further practiced as we learn and invest more time in the field of computer science.
Visualizing Data and Concepts Is a Great Skill While Learning Computer Science
For example, if you want to start learning how to create a plain static website, you’re gonna use HTML and CSS, which requires you to have a great intuition of visualizing grid systems, and positioning of contents in order to be proficient.
As for more advanced practices and fields of computer science, we have to constantly train our brain to visualize how we organize data using different models and concepts like stacks, queues, linked lists, graphs, etc.
You Can Creatively Think of Multiple Ways to Achieve the Same Result
In the world of computer science, there is virtually not a single perfect way to achieve certain results regardless of the complexity of a problem or concept. Thanks to the nature of problem-solving and how awesome the human brain functions, it’s what makes pursuing computer science fun and interesting.
The only limitation to what you can create or achieve with computer science is only your creativity. With that said, if there are many constraints for a given task, you can use different programming languages, frameworks, and software to work your way around a different solution to complete a task.
Cross-Platform Compatibility Is Essential Today
Unlike in the early 2000s, not everyone connects to the internet on their computers anymore. Today, smart mobile devices are the most common tools consumers use to access the internet, so while making products or apps, we will have to use different tools or even programming languages to serve users of all devices.
This important feature is essential and useful for adapting to different needs and demands. We will likely design the user interface of apps or websites and will have to go out of our way to learn to develop for mobile, desktop, tablet, or custom devices that have different requirements in their own ways.
The same goes for the backend of products, which some may refer to as user experience (UX), we should expect to design for a different way data is handled stored, and processed through different design architectures and tools we use. So the skill to develop for multiple platforms across different systems plays a huge in the world of computer science today compared to before.
You Want to Design and Create Your Own Work and Product
I’m not saying that all individuals who pursue computer science should create the new Facebook, Youtube, Snapchat, or a new programming language. But you certainly can create products or features in existing products through working in a company where the development is under your lead.
If there’s always been a nuisance or a lacking feature with an application that is bugging you out for a long time, chances are that the solution to your problem can be easily resolved through the knowledge of computer science.
Fun fact: Well-known companies that started in garages includes Google, Amazon, Apple, Microsoft, Hewlett-Packard
I remember having to do very repetitive and time-consuming tasks with Excel sheets back when I was younger, I discovered and used automated software to mimic mouse movements and buttons to click to let the software take over my tasks. Over time with more knowledge of programming, I started learning to write my own automation scripts in Python to complete tasks in minutes, which could’ve taken me hours if I did it the manual way.
And ever since young, I’ve also always wanted to replicate websites like Facebook and Youtube, except with some of my own custom-added features. When I learned about so many of the free programming tools out there, the solution to that reality was just a matter of putting in the dedication to learning some programming tools and creating them.
What I’m trying to convey is that creating original work in this field requires you to extensively research and learn every nitty-gritty detail of things and tools you’ll have to use. Since there is really no official guidebook to pursuing computer science, we learn a lot of things when we don’t follow a guidebook, and will end up understanding them so much better thus making us really specialized and good at our crafts.
I know some people in the computer science field always say that ‘computer science’ is for everyone, but that advice and opinion is too vague in my opinion. It’s true that computer science is a large field and have different concentrations, but everyone should understand that there can really be 2 different kinds of path for people who wish to pursue computer science, where one requires less complicated logical problem thinking than the other.
As front-end designers in this field, you’re basically creating aesthetic features that do not require heavy coding knowledge compared to software engineers. On the other hand, you can always choose to be more technical and concentrate on very difficult logic solving, or just more easy on the code by pursuing front-end or customer services-related job titles. And the nice thing is that both types of paths can potentially pay very well.
That’s what I like about pursuing this field, under our nerdy or minimalistic appearances on the outside, each of us specializes and has knowledge in so many different unique tools and skills in the computer science field. If you think you’ve got a knack to pursue this field, it’s never a bad thing to start early with some free resources on Youtube.