Learn about the various roles that a computer scientist could fill, as explained by experts.
Bachelor’s Degree Holder in Computer Science, University of California at Berkeley | Builder, Pick A Kit
Computer science is a broad field, and those of us who hold degrees in CS do countless different jobs, so I can’t speak for most of my fellow computer scientists, but here’s what I do:
Build custom websites and apps for businesses
While most blogs are built with WordPress and many small businesses use website-builders like Squarespace and Wix, websites with highly custom functionality require developers who understand web architecture well enough to optimize and secure them.
We, web developers, are often expensive to hire, so most such bespoke websites are developed for large enterprises and growing startups, who have the cash (and the profit incentive) to bankroll them. Viasat Internet, where I work alongside a team of other software engineers, falls into the former category.
By the way, what I’ve written about websites applies equally to apps.. just replace “Squarespace and Wix” with “Zoho Creator, Appy Pie, Appery, and many others”.
Stay near the cutting edge
Modern web development is constantly advancing and seems to be accelerating. To remain relevant, I’ve had to learn and use new technologies on a yearly basis, usually writing or rewriting code to use them – the only way I can truly assimilate the knowledge.
It’s easy to find well-designed tutorials and “Getting Started” guides for tech that’s on the rise, and there are plenty of online educators teaching the latest and greatest to the software engineer masses. The tricky part is figuring out what to learn in the first place; there’s a ton of noise and hype out there, and you could spend all day every day learning stuff that you’ll never need.
In general, I try to avoid learning new technologies until I’m ready to use it right away, but in my experience, once a library, framework, language, or paradigm reaches a certain popularity threshold – like React in 2016-17, or GraphQL now – using it is often a good idea, and learning how and when to use it is critical.
I build custom websites for myself
When it comes to my side interests and businesses, the only cost for my labor is an opportunity cost. I’ve designed and developed many sites for myself and my friends over the last 9 years, and being able to launch these side projects is easily my favorite thing about being a web developer.
Building these projects is an amazing way to stretch my abilities and try out new things in a low-pressure environment, all while having fun and trying out ideas
The sites I’ve worked on range from whimsical (wishing well and fortune cookie sites) to practical (productivity tracker and text editor) to fun (bitcoin poker and board game clones). My current projects are two collaborations with friends: a personality magazine with a custom personality test and a meal kit menu aggregator.
So, what do I do with my computer science education and experience? I build things, and I love it.
As a computer scientist, I’ve performed a wide variety of different duties since I got my CS degree in 1998.
I started as a back end programmer for a large company, mostly writing code to produce tax and financial statements. In my software career, I eventually moved into dynamic website programming, team leadership, software architecture, and database architecture.
I worked for startup tech companies, food companies, two large financial institutions, an insurance company, and even a state agency. So every organization everywhere has a need for custom software.
In 2004, I founded Gillware to provide data recovery services with my brother Tyler who was also working on a computer science degree. I used a lot of my CS education to write our first CRM, make our first website, and write our first software to help recover data from data disasters.
We recover anything from complex SAN recoveries like 32 drives in a RAID-50 array that crashed for a large company, or a single clicking disk drive in a failed laptop for a home user.
We have written hundreds of thousands of lines of code for everything from file system geometry scanning, file recovery software, back end systems to manage the hundreds of individual cases we typically have in flight, quality assurance software, and software to share meta-data with our clients for how their data recovery case is going, and ultimately normal stuff like accounting systems and shipping/payment APIs.
In 2016, we founded our digital forensics and incident response company. There we currently have many computer scientists that have evolved into forensic data scientists. They work to determine how a network was penetrated, if criminals obtained(stole) their data, uncover backdoors and traps that may have been set during the data breach, and ultimately work to decrypt any data that was held under ransomware, and perform comprehensive risk assessments for these clients so they are less likely to be breached in the future.
Lead App Developer, GetSongBPM
A computer scientist uses technology in the form of a custom-developed computer program to assist in solving a specific problem
Today, however, computer scientists do more than just develop programs for computers. They are now also extending their expertise to assist in the development of websites and mobile apps.
The goal of a computer scientist is to use mathematics in the form of programming.
The idea here is to ensure a computer-person interaction is possible, and that the computer (which can also be a mobile device) can solve a particular issue that the person is facing, based on their interaction.
Many computer scientists extend their reach toward computer vision, programming theory, database theory, and data algorithms.
Computer scientists use programming skills to help develop software, apps, or websites that can solve issues through mathematical models.