Name any area in the computer science and technology field – software engineering, web development, cybersecurity, network administration, the list is almost endless – and you are bound to find the demand for trained professionals to be strong and only getting stronger. The key for anyone interested in pursuing a computer career is determining which area suits him or her best and then following an education and employment path to success. This guide gives prospective students the resources to begin mapping out these steps for a variety of computer science degrees and careers, along with additional helpful details such as job growth and salary figures.
"What specific part about computers or technology excites me?" and "What are my career goals?" The answers to these two questions will help determine one’s ideal computer career path. For example, if someone enjoys the theoretical side of computing and wants to pursue a career in research, he or she might begin with a computer science undergraduate degree, move on to a doctorate program in a more specialized area, and end with a job in academia. Conversely, the career path would look different for someone whose interests lie in keeping the virtual world safe as a cybersecurity analyst or building out the back end of an e-commerce site as a web developer.
Below is a list of some of the most sought-after careers in computers, what professionals actually do in those careers, and the education necessary for career success:
Generally speaking, a software engineer is someone who applies engineering principles to the research, design, development, testing, implementation and maintenance of complex software programs and the systems that employ them. Software engineers are often divided into two groups: applications engineers and systems engineers. In a typical work setting, software engineers identify and assess an organization's needs and then go about creating software systems, programs and applications to meet those needs. Software engineers typically work in an office setting as employees or as independent contractors for private businesses, government agencies and nonprofits. The work environment is usually comfortable, but at times, the hours can be long and the work stressful.
Computer programmers do the actual writing of software programs. More specifically, a computer programmer takes a program design created by a software developer or engineer and converts it into the code that a computer can understand. Computer programmers must be adept in one or more computer languages like C++ and Python, as well as code libraries, which are collections of previously written code used to increase coding efficiency. Additionally, computer programmers test existing programs and correct errors.
Database Administrators are responsible for establishing databases for organizations in all sectors of the economy in accordance with their specific needs in order to ensure that data is readily accessible for efficient and effective use by anyone with permission to use it. They also maintain and troubleshoot existing databases. Database administrators, especially those working for smaller companies, are often in charge of all database functions, while others may specialize in a particular area such as systems administration or application database administration.
Computer hardware engineers are employed in the research, design and development of computer systems and their component parts including processors, memory, circuit boards, network equipment, mobile devices, and many others. They also design and develop non-computer equipment that employs processors and related components, such as vehicle parts, medical devices and appliances. Computer hardware engineers additionally test versions of the hardware they and others design for stability, efficiency and compatibility with software programs and other hardware devices. Computer hardware engineers often work in teams with software engineers and developers as well as company executives and clients to ensure their hardware designs meet organizational needs.
Network architects are the professionals responsible for the design, creation, development, modification and maintenance of an organization's IP network hardware and software. This can include both wide area networks (WANs) and local area networks (LANs). Network architects work closely with their employers or clients to design networks that best meet an organization's plans and network needs. The heart of what network architects do is in planning and keeping up-to- date on the latest hardware and software, as well as network security. Network architects commonly have several years of work experience in network administration or other internet technology systems.
Computer systems analysts are IT professionals whose job is to research, plan, design and implement computer information systems for businesses, government agencies and other organizations. They commonly analyze current computer systems and make recommendations as to how those systems can be modified or upgraded to operate more efficiently and effectively. Systems analysts employ a number of methods in designing systems, like computer modeling, and often specialize in a particular type of computer system, such as those designed for engineering or financial management functions. System analysts may be employed directly by larger corporations or organizations, or work as independent consultants.
Broadly speaking, computer career salaries are strong, but they can vary greatly depending on the specific area and career level. Below is a look at some of the most popular computer-related occupations and their national median salaries as of September 20, 2015:
The computer field is a broad one requiring certain knowledge and skills unique to each specialization. However, there are a number of core skills needed by professionals in all computer careers, regardless of specialization. Here are the most important:
Math is the foundation upon which all of computer science is built. Without solid math skills, a career in computers is impossible.
Along with math, computer professionals should have a solid understanding of basic science, particularly mechanical and electrical engineering.
All computer careers require some fluency in common computer languages and the best way to learn those languages is through actually writing code.
Those working with computers must be able to thoughtfully examine and analyze all kinds of ideas or issues in order to come up with effective solutions.
Closely related to critical thinking, problem solving is the ability to employ a system of thinking that leads to finding a solution to a difficult or complex problem.
Computer science does not exist in a vacuum. Real innovation comes from stepping out of accepted parameters and seeing what can be instead of what is.
Crucial to career success in any field, but often overlooked in the computer world. Includes written, verbal and non-verbal communication skills.
Concerns the ability to plan and manage time to effectively reach one's goals. Time management is important to computer professionals who often must complete projects by a specific time or date.
Computer professionals most often work as members of a team to complete assigned projects effectively and on time. Characteristics of a good team member include effective information sharing, reliability in completing assigned tasks and the ability to rely on others.
Computer professionals need to be able to look past the technical aspects of their jobs and see their work in terms of its economic viability and a client's real-world needs.
Certifications or credentials are typically awarded by nonprofit professional associations to recognize a person's competency in a particular area. In the computer world, there are dozens of professional certifications sponsored, not only by professional associations, but also by specific vendors in regard to their particular proprietary technologies.
Professional certifications and credentials are not required for most computer careers, but employers may prefer applicants who are certified for certain job titles.
Here is a brief list of some of the most common and popular computer career-related professional certifications:
The mid-level professional certification in C++, the CPP holder has proven competency of advanced programming in the C++ language.
Demonstrates competence in the ability to design, implement and manage SQL Server 2000 databases.
Certifies competency in surveying, installing and administering enterprise Wi-Fi networks.
Demonstrates the ability to design and build technology solutions.
Focuses on competency in the design, engineering, implementation and management of information security programs to protect against cyberattacks.
Not strictly for computer-related professionals, PMP recognizes competency regarding the skills and knowledge required to plan, execute, budget and lead a technology project.
For business services and technology architects, and presales, design and implementation engineers.
An RHCE is a Red Hat Certified System Administrator (RHCSA) with additional skills, knowledge and abilities required of a senior system administrator responsible for Red Hat Enterprise Linux systems.
There are hundreds of programs out there that prove helpful, even indispensible, to computer professionals. Below is a look at a few:
Application development tools are computer programs that application developers use in creating, maintaining, testing and debugging programs and applications. Among the most popular are Appcelerator, Docker, MongoDB, PhoneGap and RhoMobile.
FTP is used to transfer files between computers on a network. There are dozens of FTP clients available including SmartFTP, WinSCP, FileZilla.
Cybersecurity is a huge issue today and will likely be for decades to come. The internet is full of useful tools to help cybersecurity professionals, including programs designed for penetration testing or ethical hacking. A few of the most effective are Ettercap, John the Ripper, Burp Suite, Maltrieve and Metasploit.
All major web browsers, including Google Chrome, Internet Explorer, Safari, Firefox and Opera, provide web development tools that allow users to examine the technical workings of their webpages.
Given the integration of the digital world into daily existence, one might think that the market for computer career seekers has become oversaturated. In reality, that saturation point is far from being met. Consider the following:
According to the U.S. Bureau of Labor Statistics, expected job growth for all computer and mathematical occupations between 2012 and 2022 is projected to be 18 percent
Job growth for that same period for Information Security Analysts, a subfield within computers, is expected to be 37 percent
There are plenty of other computer-related occupations that exist across a wide spectrum of income, growth, and education levels. Below are some options individuals can expect to find:
Source: Bureau of Labor Statistics