What, then, do computer scientists do? There are many professions for people with degrees and with a background in computer science. Consider a few of the most common professional jobs.

A computer scientist’s natural activity is in front of a computer, writing a program, so of course it stands to reason that his or her general job title is programmer. While the basic concepts of programming never change, two programmers can have jobs that are very different from each other. Writing a computer game, for example, is different than writing tax-preparation software. Two broad subcategories of programming are applications and systems. An applications programmer writes programs directly for users. Someone who helped create Microsoft Word is an applications programmer. A systems programmer writes programs that operate computers behind the scenes. For example, a systems programmer would create the software that directs traffic around the Internet. Even within these categories, programmers have different specialized knowledge. A programmer writing software for a bank needs some knowledge of finance, while one developing software to display molecules needs some background in chemistry. It should be noted that while “programmer” is still in use as a general term, it has fallen out of favor as a job title. This is because the work of developing software involves creating specifications and designs; that is, it’s now more than just programming. In response, a new term has arisen to reflect the total process: software engineer.

Software Engineer
A software engineer is involved in all stages of software development, from initial meeting with prospective clients to installing updates to a program years after it was first developed. In truth, most programmers are actually software engineers since it would be difficult for anyone to do a good job of writing a program if they haven’t been involved in the early stages of design. The term “software engineer” arose not only to better reflect a total process, which includes programming, as we noted above, but also because of the growing importance of correct software in the computer industry. Computers are increasingly involved in our lives, and are often critical to what we do, so software failure could be catastrophic. Consider a construction analogy in which a 100-story tower has been designed and tested by someone who was called a “builder.” If you worked there, you’d no doubt prefer that the building were designed by a “structural engineer”—someone who rigorously tested the design in accordance with accepted principles. Similarly, an astronaut boarding a space shuttle doesn’t want to rely on a computer program written by a mere “programmer” to bring the craft safely back home, but instead wants the software written by a “software engineer.” Again, these activities imply that a formal, proven process was used to create the software. It gives a greater assurance that the software is free of serious defects.

Systems Analyst
A systems analyst makes decisions when whole systems must be introduced, upgraded, or replaced. If a chain of grocery stores determines that its current inventory control system is inadequate, for instance, a systems analyst— or team of analysts—would decide what the best solution is, taking into account all the costs involved, including purchasing new hardware, developing new software, training employees to use the new system, and so on. The best solution for the grocery store chain could involve replacing all the computers at the checkout counters or writing new software for the existing hardware. You can see in the above example that the term “system” encompasses not only computers and software, but everything that interacts with them, including the people who use them. A good systems analyst must take the skills, needs, and wants of other employees into account when making decisions. Note that many people with the title “systems analyst” do not analyze systems exclusively, especially in smaller organizations. They are also involved in the development of the software once the system plan has been approved. Thus, systems analysts are often software engineers as well.

System Manager
Once a new system is in place, someone must ensure that it continues to work. A person responsible for maintaining an existing computer system is a system manager. He or she monitors the hardware and software, and, if the needed use of the system outstrips its capacity, prioritizes requests. The system manager also supervises day-to-day tasks with the system, such as the replacement or repair of malfunctioning equipment, and is involved in the same kind of high-level decisions as systems analysts. At some organizations, both roles may be combined into one position, which is given an omnibus title such as “information technology manager.”

Network Manager
A network is a set of computers connected together so they can share data. A network manager is a kind of system manager who specializes in network operations: keeping the network operational, connecting new computers to the network as new employees are hired, upgrading the networking technology as needs change, and performing similar tasks. This position is fraught with peril, because at many offices all work must cease when the network is “down,” or nonoperational.

A computer science researcher is involved in formal investigation of the computer science field, which is a little different than research in other sciences. A researcher in chemistry, for example, might mix several chemicals together as an experiment, observe the results, determine the properties of the existing compound, and compare this result with the result that was expected—the hypothesis. A computer science researcher, in contrast, does not generally conduct experiments. Since it is exactly known how a computer will interpret a given instruction or set of instructions, the researcher will know, or can test, whether a given idea will work before it is actually implemented as a program. Indeed, much research can be done without using a computer at all.

Research in this field can be practical or theoretical. Practical research has a known application already, such as an improvement for an existing process; for instance, a method to search Web pages faster or better. Theoretical research is meant to advance the discipline, without a specific practical goal in mind. Of course, today’s theoretical solution may turn out to have practical ramifications tomorrow. At one time, most research in computer science was performed at colleges and universities by faculty members whose salaries were at least partially funded by grants from government and private research organizations. Further research came from candidates for doctoral degrees whose research topics related to their faculty mentor. While academic research still takes place, an increasing amount of research is done by private companies. Because the software industry is so lucrative, market forces can often drive research faster than academic concerns. While an exceptional computer science department in a university might have an annual research budget of $5 million, Microsoft (the world’s largest software company) has an annual research budget of over $5 billion.

Like all disciplines, computer science needs people in the current generation to teach those from the next generation, to pass along the accumulated knowledge and experience of the field. At one time, most teachers of computer science were college professors. Now, computer science is often taught in high school as well. And because the industry is advancing so fast and there’s a need to teach workers who are already in the field, companies employ teachers as well. Commonly, they give seminars to keep a company’s employees up-to-date with the latest technologies.

Chief Information Officer
Not many people have the title Chief Information Officer, but that this title even exists is testament to the importance of computing in the business world. A Chief Information Officer, or CIO, is at the highest level of management, involved with all the central decisions affecting the company. This constitutes a historical change in modern companies. Before there were CIOs, computing was considered an appendage of business, rather than an integral part of it. Like a services department, it was called when something specific was needed. Now, of course, computers help guide a company’s direction. Information technology can no longer be considered an afterthought, after the strategic plans have been made. The use of technology must be part of the plans themselves. Chief Information Officers come from a variety of backgrounds, but tend to have education and experience both in computer science and business.

Source of Information : Broadway-Computer Science Made Simple 2010

No comments:

Cloud storage is for blocks too, not just files

One of the misconceptions about cloud storage is that it is only useful for storing files. This assumption comes from the popularity of file...