Pages

Subscribe:

Senin, 13 Juni 2011

Software Developers

A software developer is a person concerned with facets of the software development process. They can be involved in aspects wider than design and coding, a somewhat broader scope of computer programming or a specialty of project managing including some aspects of software product management. This person 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 also encompasses the class of freelance software developers.
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.[1] (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.

[edit] 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]

Tidak ada komentar:

Posting Komentar

Related Posts Plugin for WordPress, Blogger...