Frequently asked questions ...
     

What is computer science, and what do computer scientists do?

What is computer science, and what do computer scientists do?

Computer science is the study of computational devices and methods using logical thinking and problem-solving techniques. (Or, in simpler terms: learning about hardware and software in an organized way.) Its goal is to analyze and design applications, algorithms, and computer systems that solve real-world problems. This means that computer science is all about meeting the practical needs of people and organizations, not just playing around with bits and bytes for fun.

Computer scientists can find work in various fields, including software development, data analysis, artificial intelligence, and computer systems design. They may also conduct fundamental research and develop new technologies to advance state of the art.

Computer scientists' day-to-day activities vary greatly depending on their job description and the company they work for. However, here are some everyday tasks that a computer programmer may perform:

  • Writing code is the bread and butter of a computer programmer. This can mean working on existing code to fix bugs, adding new features to a working application, or creating new programs from scratch. Even computer scientists who aren't primarily programmers, perhaps working in AI or data science, must understand how to write code.

  • Debugging is a crucial part of a programmer's work, as they need to identify and fix errors in their and others' code. This is often the most frustrating yet essential part of a computer science graduate's job.

  • Computer scientists usually work in teams and spend time meeting with colleagues like project managers, designers, and quality assurance engineers. Good communication skills are highly valued in this profession.

  • Before starting to write any code, computer scientists usually spend significant time analyzing the problem and planning a solution. This involves steps like creating diagrams and flowcharts to represent their ideas. For the most part, this is the responsibility of senior software engineers, but all team members are expected to understand the process.

  • Computer scientists are also responsible for testing their code and verifying that it works as expected. They are usually assisted by quality assurance (QA) teams to ensure that the code meets standards and is free of bugs. Most testing these days is done by specialized software, which saves a great deal of time.

  • Technology is constantly changing and advancing, so most computer scientists spend plenty of time learning about new technologies, programming languages and frameworks, and software development practices. Some say that software engineering knowledge has a half-life of at most three years: if you're not willing to constantly improve, you'll fall behind.

  • Computer programmers may also be responsible for writing documentation about their code, such as comments within the code and user manuals, for helping others understand and use their work.

Computer science is all about meeting users' real-world needs. Even the most elegant application will only be used if it adds real value!