A computer software developer is a company, or branch within a company, and sometimes just sole entrepreneurial individuals, that creates software programs to run on personal computers, servers, and other microprocessor-controlled devices such as cell phones. Software developers are often loosely referred to as programmers or coders and, in a corporate setting, work in software engineering teams, often on just one type of application software. These computer programs not only have to be designed to function well for the user, but must also be compatible with a variety of different operating systems and types of computer hardware and networks if the software is to be a commercial success.
Software careers are highly technical, yet lucrative jobs to hold, and there is a continuing and growing demand in a range of industries for graduates with a software degree. The United States Department of Labor estimates that software engineer jobs in the US will grow by 38% as of 2016, and the computer software developer field overall consistently ranks in the top ten for job growth. In fact, 2011 rankings for on the job environment, income, physical demands and so forth has put the role of computer software developer in first place. Much of this is seen as being fueled by many new types of computer-controlled, handheld devices, as well as the popularity of gaming systems and the growth of Internet applications.
Global software engineering (GSE) is an emerging aspect of the current industry for the computer software developer, and involves a distributed global network of engineers in many nations that are put to work on the same software project. Reasons for offshoring or outsourcing part of the role played by a computer software developer include benefits such as reduced cost, an ability to focus more on the company's core business, and access to skills and innovation that might not be available locally. For instance, a computer software developer in an Asian country is often paid only 10-40% of what a software engineer in European Union nations or the US is paid, and is often highly motivated to work due to lack of local high-tech opportunities.
Growth in western nations continues to be strong as well, despite GSE outsourcing, which seems to only work best for areas of software development like new application development and original equipment manufacturer (OEM) product development. One large Japanese technology company has taken the step of creating an entirely Internet-based work hierarchy for the computer software developer in its employ. By linking teams in collaborative projects around the globe for every phase of the life cycle of a software product, it has distributed development, testing, and support, as well as marketing and customer contact using a web-based infrastructure.