Related topics: iphone · google · ipad · software · smartphone

Buried GitHub archival storage to last 1,000 years

If civilization ever succumbs to global warming, nuclear annihilation, an unrelenting pandemic or a martian invasion, some future civilization—or alien life form—might well still be able to reconstruct today's computers ...

How to program unreliable chips

As transistors get smaller, they also become less reliable. So far, computer-chip designers have been able to work around that problem, but in the future, it could mean that computers stop improving at the rate we've come ...

Google trumpets Dart release as first stable version

(Phys.org)—Google on Tuesday released its first stable version of Dart SDK. Dart is a programming language for Web applications that Google thinks will offer an improved, easy to learn, high performance environment for ...

Linux camp has key to Windows 8 boot lockout

(Phys.org)—Microsoft's rocky reputation with the open source community was not exactly obliterated with hardware news surrounding the upcoming launch of the operating system, Windows 8. Systems will come with Secure Boot ...

Intel-McAfee preview new rootkit weapon

(PhysOrg.com) -- Letting everyone know that today's computing is no longer about running good anti-virus software, McAfee this week presented a new technology approach in computer protection called DeepSAFE, designed to combat ...

New software design technique allows programs to run faster

(PhysOrg.com) -- Researchers at North Carolina State University have developed a new approach to software development that will allow common computer programs to run up to 20 percent faster and possibly incorporate new security ...

page 1 from 31

Software developer

A software developer is a person or organization concerned with facets of the software development process 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.

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

With time and a little luck, 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, 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. (see also Debate over who is a software engineer)

A 'programmer' is responsible for writing code, but a 'developer' could be involved in wider aspects of the software development process such as:

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. In a small company, the typical involvement of software developers includes every step from initial specification of a project to the completed system. Typically it includes: 1. Initial Meeting - where requirements are discussed in detail. 2. Proposal - a proposal based on the initial conversation and recommendations on the best approach 3. Detailed Design - for most projects, there is usually more design work to clarify exactly how the system should work. 4. Update Financials & Agree Contract - if the requirements have changed during the detailed design process, this is the stage to update the project costs. 5. Development - software developers start work on the system. 6. Functionally Complete - at the end of the development system, a system is delivered which is “functionally complete”, but may need further testing to iron out any bugs. 7. System Completed - testing is complete, and the system is ready for use.

This text uses material from Wikipedia, licensed under CC BY-SA