Computer Science

Computer Science, Information Technology, Information Science and Data Science can often be seen as interchangeable terminology for similar work.  While they all use technology, there are different focuses in each field which discern them from one another.  However, due to their similarity, we have linked to the related pages from here.

 

Computer Science

 

Overview:

Introduction to Careers in Computer Science

Computer Science is a broad and exciting field with many applications.  From software engineering and project management to artificial intelligence and machine learning applications, the spectrum of skills used and environments available is far-reaching.

 

Computer Science positions vary—from work within businesses and organizations,  to colleges, with game development companies and as contract or freelance workers.  Computer Science is about the science and art of developing the software which tells the computers and hardware what to do.

 

This is a field with a lot of flexibility in time, location and duties, so can often be great for a person who wants less structure than the traditional 9-5 job. If you have an entrepreneurial spirit, a background in computer science is often helpful for startup companies, which trend towards the technical in nature.

 

It may be important to know whether you want to deal with hardware or software.  Hardware is the physical aspect of the computer—the monitor, CPU, mouse, keyboard, etc.  Software is the intangible aspect of the computer—the code and programming which tells the hardware what to do and how to do it—for instance, the operating system in your computer or the web browser you use.

 

Hardware engineers are the people who develop new computer technology and refine existing hardware solutions like circuit boards, routers, processes, and memory devices, among other things.

 

Software engineers use knowledge of engineering and programming languages to develop and build software products, i.e. apps, games, operating systems, etc. This involves knowledge of programming languages such as Java, Python, SQL, knowledge of the computer operating systems they’re working with, and development programs like C+ and javascript.

 

Some job sectors include:
Web development • AI • Internet of Things (IoT) • Cybersecurity • Robotics • Augmentation • Virtual reality • Machine learning • Quantum computing • Cognitive technology (neuro networks) • Blockchain • Biometrics • 3D printing

 

  • Computer Science is the study of computers and computing, including their theoretical and algorithmic foundations, physics and mathematics of hardware and software, and their uses for processing data.
  • Software Engineering is the process of analyzing/understanding user needs; more importantly designing, constructing, and testing end user applications that will satisfy these needs through the use of software programming languages.
  • Computer Engineering is the design and development of software and hardware components.  Further, embedding these components in other ‘machines’ and ‘systems’.  i.e. building networks to transfer data; develop ways to make computers solutions more efficient and effective.
  • Data Science/Information Science is the development and application of technology tools and techniques to collect, manipulate, process, analyze, store, and distribute information. (Examples of careers in Data and Information Science include Data Scientist, Librarian, Big Data, Machine Learning, and Artificial Intelligence).

 

These career roles could be considered foundational to the discipline.  Here are general definitions for each career role:

  • Architect - A computer science architect may be responsible for defining the overall structure of a program, process, or system. As well, verifying and overseeing assignments relative to those programs, processes, or systems.
  • Scientist - A computer science scientist may conduct research involving experimentation and modelling.  A scientist may work as part of a research team with programmers, IT professionals, and mechanical, electrical or software engineers to solve problems and create new products. May also contribute with algorithms.
  • Developer - A computer science developer is an individual that builds and creates. He or she may debug, execute and/or contribute to the writing of the source code of an application or process as written by a programmer.  Takes code and software execution to next level. A developer role is much more creative and innovative.
  • Designer – A designer is an individual who pays attention to the user interface and experience of a system, program or process. They may tend towards the more creative aspects of these projects—aesthetics, attractiveness to the user, and ease of use to accomplish end goals.
  • Engineer - A computer science engineer will design elements that help computers operate. They may develop computer chips, create software programs that help computer systems run, or design software applications.  Typically engineers work closer with hardware than software-side to solve technical solutions that integrate hardware into a system or process.
  • Programmer - A computer science programmer is often tasked with designing and creating software programs, modifying source-code, writing system instructions, debugging, and efficiently maintaining systems. A programmer is given very specific things to do based on specific directions.  A programmer’s role is really not innovative.

 

 

Education:

While the vast majority of people within computer science jobs have a four-year degree, there are also CS training programs/boot camps which give you the education required to gain a foothold in the field, and there are some positions which allow for experience over education (let’s just remember that Steve Jobs, Bill Gates and Mark Zuckerberg all dropped out of college…). Constant self-education in coding languages and technology is essential to keep up in the CS field. There are many opportunities within the field without getting a terminal degree, but that is an option. Those interested in becoming computer information and research scientists (who invent and design new approaches to computing technology and develop new uses for existing technology) will need at least a Master’s degree.

 

In addition to field-specific technology skills, certification and education, general communication and leadership skills can be a key component of promotion into positions of management.  Working to build skills in presentation, verbal and written communication, organization/time management and leadership is a worthwhile use of your time.

 

 1st Tier:

CS Career Resources—Leave this section as is.

 

Majors and Concentrations:

Majors and Degree Programs in CS/IT

In general, most actual degree programs will give you a Bachelor of Arts in Computer Science or a Bachelor of Science (more math focused) in Computer Science.  These degrees will give you a basis in the fundamentals: coding, networks, computer infrastructure, hardware, algorithms and more. For a more in-depth study of the subject, concentrations in various areas of technology also exist, such as:

Cybersecurity

Artificial Intelligence

Machine Learning

Game Development

Computational Biology

Human-Computer Interaction

Data Science

Software Engineering

Web and Mobile Applications

Robotics

Bioinformatics

 

Certifications in CS

A computer science certification can validate one’s technical knowledge and experience with specific products, methods, or practices. Certifications may be more applicable in roles such as engineer, software developer, and project manager.  Being accredited can make you stand out in an applicant pool as more likely to succeed in your position. Since recruiters don’t always know the ins and outs of each position they hire for, having a way to quantify achievement or skill in certain areas can often be a helpful tool for them.

Here’s a good article from Indeed which outlines some of the options for certifications for security, cloud computing, and help desk operations.

 

Jobs and Experiences

The broad range of opportunity available with a Computer Science background makes it difficult to list the most-hired-for positions in the field.  A majority of the associated job titles for Computer Science have a “bright outlook” indicator on the Bureau of Labor Statistics website, indicating growth over the next decade.

 

Top employers of computer science majors include:

  • CSC (Computer Science Corporation) is a major employer of CS jobs.
  • Defense contractors, such as Raytheon, Northrop Grumman and General Dynamics.
  • Tech companies. Facebook, as well as Amazon.  Add in Google, Microsoft and Apple too, as well as Cisco and Oracle.
  • Financial Technology (FinTech) is an increasingly growing market—financial transactions and everything that goes into securing them is big business. Trends are showing an increased demand for candidates with artificial intelligence, machine learning and data science skills in these markets. Companies like JP Morgan, Bank of America, Morgan Stanley, Capital One and Citi hire for these positions.

 

2nd Tier: Took a lot out of this list and put them in the IT page

Computer Programmer

Hardware Engineer

Computer Information Research Scientists/CI Researcher

Cybersecurity/Information Security Analyst

Geographic Information Systems Specialist (more Engineering??)

Network/Computer Systems Engineer/Architects

Software Developer

Software Engineer

Software Quality Assurance Analysts and Testers

Web Developers

Web and Digital Interface Designers (UX/UI)

Data Scientists (Big Data, Artificial Intelligence)

Business Intelligence Analyst

Artificial Intelligence (duplicate?)

Web Page, Digital/Multimedia and Information Resources Design (same as interface designers?  Combine under UX/UI)

Information/Library Science Put this under next topic—Library Science/Information Science

Computer Software and Media Applications

Game Developer

_____

 

Introduction to Careers in IT/CS

There is something for everyone when it comes to careers in CS/IT careers.  From the more practical applied roles of an Information Technology professional, to the math, physics and engineering of Computer Science, to the business side of management and administration of IT departments in organizations, to the people side of things in help desk support, and sales. [click for full description....]

-Computer Science is the study of computers and computing, including their theoretical and algorithmic foundations, physics and mathematics of hardware and software, and their uses for processing data.

-Software Engineering is the process of analyzing/understanding user needs; more importantly designing, constructing, and testing end user applications that will satisfy these needs through the use of software programming languages.

-Computer Engineering is the design and development of software and hardware components.  Further, embedding these components in other ‘machines’ and ‘systems’.  i.e. building networks to transfer data; develop ways to make computers solutions more efficient and effective.

-Information Technology is the use and management of computers to retrieve, store, transmit, and manipulate data, often in the service of business or organizational needs.

-Computer Systems Engineering is the design of integrated hardware and software solutions.  Plan – Develop – Test – Evaluate

-Data Science/Information Science is the development and application of technology tools and techniques to collect, manipulate, process, analyze, store, and distribute information. (Examples of careers in Data and Information Science include Data Scientist, Librarian, Big Data, Machine Learning, and Artificial Intelligence).

 

8 career roles could be nested into the foundational areas in the Computer Science/Information Technology discipline:

1. Analyst

2. Architect

3. Scientist

4. Developer

5. Engineer

6. Programmer

7. Administrator

8. Specialist

The following are general definitions for each career role prevalent in industry.....

Analyst - A computer science analyst collects and analyzes the requirements for a new, revised, or update/upgraded system. They look for ways to help the organization operate more efficiently and effectively. May analyze business functions and come up with computer solutions to solve business problems.

Architect - A computer science architect may be responsible for defining the overall structure of a program, process, or system. As well, verifying and overseeing assignments relative to those programs, processes, or systems.

Scientist - A computer science scientist may conduct research involving experimentation and modelling.  A scientist may work as part of a research team with programmers, IT professionals, and mechanical, electrical or software engineers to solve problems and create new products. May also contribute with algorithms.

Developer - A computer science developer is an individual that builds and creates. He or she may debug, execute and/or contribute to the writing of the source code of an application or process as written by a programmer.  Takes code and software execution to next level. A developer role is much more creative and innovative.

Engineer - A computer science engineer will design elements that help computers operate. They may develop computer chips, create software programs that help computer systems run, or design software applications.  Typically engineers work closer with hardware than software-side to solve technical solutions that integrate hardware into a system or process.

Programmer - A computer science programmer is often tasked with designing and creating software programs, modifying source-code, writing system instructions, debugging, and efficiently maintaining systems. A programmer is given very specific things to do based on specific directions.  A programmer’s role is really not innovative.

Administrator - A computer science/information technology administrator is responsible for the management, upkeep, and configuration of a computer information systems.

Specialist - Most likely a very general position.  May take on a technical support role also.  Could also contribute with a specific skill that could be a very high level position within a company.

some others…..

Software Development Project Manager -

IT Project Manager -

Chief Information Officer and CIO Office Staff - Responsible for the design and implementation of the technology strategy of an organization, and interfacing with other members of the senior organizations non-technology management team members.

_____

 

List of -

Job Titles/roles

Skills

Manufacturers

and emerging technologies

 

_____

 

 

 

Main Sections blocks to be added -

Career Pathways in CS/IT/DS (on the job learning/degrees/certifications)

Majors and Degree Programs in CS/IT

Certifications in CS/IT

Employers in CS/IT/DS

 

Job Sectors
 web development  enterprise architect  AI  cloud computing  IoT  cyber security  robotics  augmentation  informatics  virtual reality  machine learning  quantum computing  cognitive technology (neuro networks)  blockchain  biometrics  5G  serverless computing  3D printing others

 

Professor/Instructor of CS/IT/IS

AS Programs, community colleges, Technicians (though some is covered in repair and installation category)

Telecom/VOIP Technologist

Networking LAN/WAN

R and D Software and Hardware Developers Private Sector

User Interface Designers

Game Developers?