Computer programmers write code to create software programs. They turn the program designs created by software developers and engineers into instructions that a computer can follow. Programmers must debug the programs--that is, test them to ensure that they produce the expected results. If a program does not work correctly, they check the code for mistakes and fix them.
Computer programmers typically do the following:
Programmers work closely with software developers and, in some businesses, their work overlaps. When this happens, programmers can do the work typical of developers, such as designing the program. This entails initially planning the software, creating models and flowcharts detailing how the code is to be written, and designing an application or system interface. For more information, see the profile on software developers.
Some programs are relatively simple and usually take a few days to write, such as mobile applications for cell phones. Other programs, like computer operating systems, are more complex and can take a year or more to complete.
Software-as-a-service (SaaS), which consists of applications provided through the Internet, is a growing field. Although programmers typically need to rewrite their programs to work on different systems platforms such as Windows or OS X, applications created using SaaS work on all platforms. That is why programmers writing for software-as-a-service applications may not have to update as much code as other programmers and can instead spend more time writing new programs.
Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or other device. Others develop the underlying systems that run the devices or control networks.
Software developers typically do the following:
Software developers are in charge of the entire development process for a software program. They begin by understanding how the customer plans to use the software. They design the program and then give instructions to programmers, who write computer code and test it. If the program does not work as expected or people find it to difficult to use, software developers go back to the design process to fix the problems or improve the program. After the program is released to the customer, a developer may perform upgrades and maintenance.
Developers usually work closely with computer programmers. However, in some companies, developers write code themselves instead of giving instructions to programmers. For more information, see the profile on computer programmers.
Developers who supervise a software project from the planning stages through implementation sometimes are called IT (information technology) project managers. These workers monitor the project's progress to ensure that it meets deadlines, standards, and cost targets. IT project managers who plan and direct an organization's IT department or IT policies are included in the profile on computer and information systems managers. For more information, see the profile on computer and information systems managers.
The following are types of software developers:
Applications software developers design computer applications, such as word processors and games, for consumers. They may create custom software for a specific customer or commercial software to be sold to the general public. Some applications software developers create complex databases for organizations. They also create programs that people use over the Internet and within a company's intranet.
Systems software developers create the systems that keep computers functioning properly. These could be operating systems that are part of computers the general public buys or systems built specifically for an organization. Often, systems software developers also build the system's interface, which is what allows users to interact with the computer. Systems software developers create the operating systems that control most of the consumer electronics in use today, including those in phones or cars.
Career and technical education teachers help students in middle school and high school develop career-related and technical skills. They help students explore or prepare to enter a particular occupation, such as one in auto repair, healthcare, business, or the culinary arts.
Career and technical education teachers typically do the following:
Career and technical education teachers use a variety of methods to help students learn and develop skills.
They teach students the theories and techniques of their field and the laws and regulations that affect that industry. They demonstrate tasks, techniques, and tools used in the field.
They also assign hands-on tasks, such as styling hair on mannequins and replacing brakes on cars, to help students develop skills. Students typically practice these tasks in laboratories in the school.
In addition, teachers use work-based experiences to help students apply what they have learned in the classroom to real-world settings. Some students use class time to work at a business that is willing to let them learn on the job; the business then provides feedback about the student's performance to the teacher. In some schools, students run businesses that are owned by the school, such as a school store, to apply their knowledge and skills in a nonclassroom setting.
Some career and technical education teachers teach in traditional schools. These teachers may be part of a career academy, where they work closely with academic colleagues to create a career-themed school within a school. Others teach in regional career and technical education centers that serve students from many districts. Some teach in a career and technical education high school, where students are in workshops and laboratories for most of the school day.
What career and technical education teachers do depends on their particular field. The following are examples of types of career and technical education teachers:
In agricultural science, students learn a variety of subjects related to the science and business of agriculture. Classes may cover topics such as agricultural production; agriculture-related business; veterinary science; and plant, animal, and food systems. Teachers in this field may have students plant and care for crops or tend to animals to apply what they have learned in the classroom.
Career and technical education teachers in family and consumer science teach students about nutrition, culinary art, sewing, and child development. Students in these settings may run early childhood education classes with teacher supervision, manufacture and market clothing, or create menus and cook for a school function.
In health-related occupations, students learn the skills necessary to work as technicians or assistants, such as nursing or dental assistants, in health care. Teachers in this field may have students practice their skills by measuring blood pressure and administering blood sugar tests on other staff in the school. Some programs allow students to receive the certifications necessary to enter the field.
Business and marketing students learn the skills needed to run a business or make sales. They learn the basics of financial management and marketing. Career and technical education teachers in this field may guide students as they develop and establish a business. Many programs operate school-based enterprises in which students operate real businesses that are open to the public.
Career and technical education teachers in trade and industry specialize in an occupation such as in automotive technology, cosmetology, heating and air-conditioning repair, electrical wiring, or computer networking and computer repair. Teachers use laboratory work to allow students to learn through a hands-on approach.
Career and technical education teachers in technology instruct students in general education subjects, such as math and science, through the hands-on application of technology. For example, they may have students build a robot to learn about physics, computer science, and math. These programs are often a precursor to engineering degrees.