The Creators of Information Systems
The first group of people we are going to look at play a role in designing, developing, and building information systems. These people are generally very technical and have a background in programming and mathematics. Just about everyone who works in the creation of information systems has a minimum of a bachelor’s degree in computer science or information systems, though that is not necessarily a requirement.
The role of the systems analyst is to straddle the divide between identifying business needs and imagining a new or redesigned computer-based system to fulfill those needs. This individual will work with a person, team, or department with business requirements and identify the specific details of a system that needs to be built. Generally, this will require the analyst to have a good understanding of the business itself, the business processes involved, and the ability to document them well. The analyst will identify the different stakeholders in the system and work to involve the appropriate individuals in the process.
Once the requirements are determined, the analyst will begin the process of translating these requirements into an information-systems design. A good analyst will understand what different technological solutions will work and provide several different alternatives to the requester, based on the company’s budgetary constraints, technology constraints, and culture. Once the solution is selected, the analyst will create a detailed document describing the new system. This new document will require that the analyst understand how to speak in the technical language of systems developers.
A systems analyst generally is not the one who does the actual development of the information system. The design document created by the systems analyst provides the detail needed to create the system and is handed off to a programmer (or team of programmers) to do the actual creation of the system. In some cases, however, a systems analyst may go ahead and create the system that he or she designed. This person is sometimes referred to as a programmer-analyst.
In other cases, the system may be assembled from off-the-shelf components by a person called a systems integrator. This is a specific type of systems analyst that understands how to get different software packages to work with each other.
To become a systems analyst, you should have a background both in the business and in systems design. Many analysts first worked as programmers and/or had to experience in the business before becoming systems analysts.
Programmers spend their time writing computer code in a programming language. In the case of systems development, programmers generally attempt to fulfill the design specifications given to them by a systems analyst. Many different styles of programming exist: a programmer may work alone for long stretches of time or may work in a team with other programmers. A programmer needs to be able to understand complex processes and also the intricacies of one or more programming languages. Generally, a programmer is very proficient in mathematics, as mathematical concepts underlie most programming code.
Computer engineers design the computing devices that we use every day. There are many types of computer engineers, who work on a variety of different types of devices and systems. Some of the more prominent engineering jobs are as follows:
- Hardware engineer. A hardware engineer designs hardware components, such as microprocessors. Many times, a hardware engineer is at the cutting edge of computing technology, creating something brand new. Other times, the hardware engineer’s job is to engineer an existing component to work faster or use less power. Many times, a hardware engineer’s job is to write code to create a program that will be implemented directly on a computer chip.
- Software engineer. Software engineers do not actually design devices; instead, they create new programming languages and operating systems, working at the lowest levels of the hardware to develop new kinds of software to run on the hardware.
- Systems engineer. A systems engineer takes the components designed by other engineers and makes them all work together. For example, to build a computer, the motherboard, processor, memory, and hard disk all have to work together. A systems engineer has experience with many different types of hardware and software and knows how to integrate them to create new functionality.
- Network engineer. A network engineer’s job is to understand the networking requirements of an organization and then design a communications system to meet those needs, using the networking hardware and software available.
There are many different types of computer engineers, and often the job descriptions overlap. While many may call themselves engineers based on a company job title, there is also a professional designation of “professional engineer,” which has specific requirements behind it. In the US, each state has its own set of requirements for the use of this title, as do different countries around the world. Most often, it involves a professional licensing exam.