Software developer

Software developer

A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software.[1] A software developer may take part in design, computer programming, or software project management. They may contribute to the overview of the project on the application level rather than component-level or individual programming tasks. Software developers are often still guided by lead programmers but the description also encompasses freelance software developers.

In the US, a software developer is classified into one of 3 titles (all under the 15-0000 Computer and Mathematical Occupations Major Group[2]):

  1. 15-1131 Computer Programmers[3]
  2. 15-1132 Software Developers, Applications[4]
  3. 15-1133 Software Developers, Systems Software[5]

A person who develops stand-alone software (that is more than just a simple program) and got involved with all phases of the development (design and code) is a software developer[citation needed]. Some of the notable software people include Peter Norton (developer of Norton Utilities), Richard Garriott (Ultima-series creator), and Philippe Kahn (Borland key founder), all of whom started as entrepreneurial individual or small-team software developers before becoming rich and famous.

Other names which are often used in the same close context are programmer, software analyst, and software engineer.

According to developer Eric Sink, the differences between system design, software development and programming are more apparent. Already in the current market place there can be found a segregation between programmers and developers[dubious ], being that one who actually implements is not the same as the one who designs the class structure or hierarchy. Even more so that developers become systems architects, those who design the multi-leveled architecture or component interactions of a large software system.[6] (see also Debate over who is a software engineer)

Aspects of developer's job may include:

In a large company, there may be employees whose sole responsibility may consist of only one of the phases above. In smaller development environments, a few, or even a single individual might handle the complete process.

Separation of concerns

In more mature engineering disciplines such as mechanical, civil and electrical engineering, the designers are separate from the implementers. That is, the engineers who generate design documents are not the same individuals who actually build things (such as mechanical parts, circuits, or roads, for instance). In software engineering, it is more common to have the architecture, design, implementation, and test functions performed by a single individual. In particular, the design and implementation of source code is commonly integrated.[citation needed]

This resembles the early phases of industrialization in which individuals would both design and built things. More mature organizations have separate test groups, but the architecture, design, implementation, and unit test functions are often performed by the same highly trained individuals.[citation needed]

References

  1. ^ http://www.onetcodeconnector.org/ccreport/15-1032.00
  2. ^ "15-0000 Computer and Mathematical Occupations (Major Group)". US Bureau of Labor Statistics. http://www.bls.gov/oes/current/oes150000.htm. 
  3. ^ "15-1131 Computer Programmers". US Bureau of Labor Statistics. http://www.bls.gov/oes/current/oes151131.htm. 
  4. ^ "15-1132 Software Developers, Applications". US Bureau of Labor Statistics. http://www.bls.gov/oes/current/oes151132.htm. 
  5. ^ "15-1133 Software Developers, Systems Software". US Bureau of Labor Statistics. http://www.bls.gov/oes/current/oes151133.htm. 
  6. ^ Eric Sink. "Small ISVs: You need Developers, not Programmers". sourcegear. http://software.ericsink.com/No_Programmers.html. Retrieved 2008-06-06. "A programmer is someone who does nothing but code new features and (if you're lucky) fix bugs. They don't write specs. They don't write automated test cases. They don't help keep the automated build system up to date. They don't help customers work out tough problems. They don't help write documentation. They don't help with testing. They don't even read code. All they do is write new code." 

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Software developer (disambiguation) — Software developer may refer to: * A software company or other organization that develops software. * A developer, a person who develops software such as a project manager or programmer …   Wikipedia

  • software developer — one that deals with the development of computer applications …   English contemporary dictionary

  • software developer — /ˈsɒftwɛə dəvɛləpə/ (say softwair duhveluhpuh) noun a computer programmer who translates a specific set of requirements, as from an individual or organisational client, into program specifications and ultimately programs with supporting… …  

  • Michael Meeks (software developer) — This article is about the software developer. For the basketball player, see Michael Meeks (basketball). Michael Meeks Nationality British Occupation Software deve …   Wikipedia

  • Dave Miller (software developer) — This article is about the Mozilla developer. For the Linux kernel hacker, see David S. Miller. For other people named Dave Miller, see Dave Miller (disambiguation). Dave Miller Born 1972 Port Huron, Michigan Nationality American …   Wikipedia

  • Mark Pilgrim (software developer) — Mark Pilgrim Born November 24, 1972 (1972 11 24) (age 38) Residence Apex, North Carolina, USA …   Wikipedia

  • Custom software developer — (CSD) is a business term for companies or individuals specializing in creating made to order software for specific customers and applications. The resultant software is not usually a product in the conventional sense of being marketed and sold to …   Wikipedia

  • David Nelson (software developer) — For other people named David Nelson, see David Nelson. David Nelson David Nelson, Muziic Born May 25, 1993 ( 1993 05 25) (age 18) Iowa, USA …   Wikipedia

  • John Calhoun (software developer) — John Calhoun is an Apple Macintosh software developer. In the late 1980s and early 1990s, he developed a series of shareware games (Glider, Glypha, etc.) for the Macintosh and Windows, under the name Soft Dorothy Software. [cite web last = Klimas …   Wikipedia

  • David Harris (software developer) — David Harris (born in August 1961) is a software developer from Dunedin, New Zealand. He developed the Pegasus Mail client and the Mercury Mail Transport System,[1] and is a former staff member of the University of Otago. David received a… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”