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.
Construction equipment operators drive, maneuver, or control the heavy machinery used to construct roads, bridges, buildings, and other structures.
Construction equipment operators typically do the following:
Construction equipment operators use machinery to move construction materials, earth, and other heavy materials at construction sites and mines. They operate equipment that clears and grades land to prepare it for construction of roads, bridges, and buildings, as well as airport runways, power generation facilities, dams, levees, and other structures.
The following are types of construction equipment operators:
Operating engineers and other construction equipment operators work with one or several types of power construction equipment. They may operate excavation and loading machines equipped with scoops, shovels, or buckets that dig sand, gravel, earth, or similar materials. In addition to operating the familiar bulldozer, they operate trench excavators, road graders, and similar equipment. Sometimes, they may drive and control industrial trucks or tractors equipped with forklifts or booms for lifting materials. They also may operate and maintain air compressors, pumps, and other power equipment at construction sites.
Paving and surfacing equipment operators control the machines that spread and level asphalt or spread and smooth concrete for roadways or other structures. Paving and surfacing equipment operators may specialize further:
Piledriver operators use large machines mounted on skids, barges, or cranes to hammer piles into the ground. Piles are long, heavy beams of wood or steel driven into the ground to support retaining walls, bridges, piers, or building foundations. Some piledriver operators work on offshore oil rigs.
Some workers operate cranes to move construction materials. For more information on these workers, see the profile on material moving machine operators.
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.
Construction managers plan, coordinate, budget, and supervise construction projects from early development to completion.
Construction managers typically do the following:
Construction managers, often called general contractors or project managers, coordinate and supervise a wide variety of projects, including the building of all types of residential, commercial, and industrial structures, roads, bridges, powerplants, schools, and hospitals. They oversee specialized contractors and other personnel. Construction managers schedule and coordinate all design and construction processes to ensure a productive and safe work environment. They also make sure jobs are completed on time and on budget with the right amount of tools, equipment, and materials. Many managers also are responsible for obtaining necessary permits and licenses. They are often responsible for multiple projects at a time.
Construction managers work closely with other building specialists, such as architects, engineers, and a variety of trade workers, such as stonemasons, electricians, and carpenters. Projects may require specialists in everything from structural metalworking and painting, to landscaping, building roads, installing carpets, and excavating sites. Depending on the project, construction managers also may interact with lawyers and local government officials. For example, when working on city-owned property or municipal buildings, managers sometimes confer with city council members to ensure that all regulations are met.
For projects too large to be managed by one person, such as office buildings and industrial complexes, a construction manager would only be in charge of one part of the project. Each construction manager would oversee a specific construction phase and choose subcontractors to complete it. Construction managers may need to collaborate and coordinate with other construction managers who are responsible for different aspects of the project.
To maximize efficiency and productivity, construction managers often use specialized cost-estimating and planning software to effectively budget the time and money required to complete specific projects. Many managers also use software to determine the best way to get materials to the building site. For more information, see the profile on cost estimators.