EmploymentMost software engineers work as employees or contractors. Software engineers work with businesses, government agencies (civilian or military), and non-profit organizations. Some software engineers work for themselves as freelancers. Some organizations have specialists to perform each of the tasks in the software development process. Other organizations required software engineers to do many or all of them. In large projects, people may specialize in only one role. In small projects, people may fill several or all roles at the same time. Specializations include: in industry (analysts, architects, developers, testers, technical support, managers) and in academia (educators, researchers).
There is considerable debate over the future employment prospects for Software Engineers and other IT Professionals. For example, an online futures market called the Future of IT Jobs in America attempts to answer whether there will be more IT jobs, including software engineers, in 2012 than there were in 2002.
CertificationProfessional certification of software engineers is a contentious issue. Some see it as a tool to improve professional practice.
Most successful certification programs in the software industry are oriented toward specific technologies, and are managed by the vendors of these technologies. These certification programs are tailored to the institutions that would employ people who use these technologies.
The ACM had a professional certification program in the early 1980s, which was discontinued due to lack of interest. As of 2006, the IEEE had certified over 575 software professionals. In Canada the Canadian Information Processing Society has developed a legally recognized professional certification called Information Systems Professional (ISP).