Development providers¶
Developers¶
- software developer¶
Somebody who develops a software product. Depending on the context, this can mean either a natural or a legal person.
Software development includes one or more of the following tasks: analysis, programming, testing, deployment, maintenance and/or support.
We differentiate the following types of Lino developers:
- application developer¶
A software developer who writes and maintains the source code of a given Lino application.
- core developer¶
A software developer who helps maintaining the Lino framework as a whole.
- contributing developer¶
An application developer who contributes to the Lino framework, for example by testing general framework features, discussing changes and new features, submitting pull requests, …
A development provider operates a collaboration infrastructure for their workers. Some of these workers are developers.
A developer writes and maintains developer documentation and a test suite for the application.
A developer writes release notes for site experts.
- core team¶
The people who develop the Lino framework as a software product.
A big business¶
- development provider¶
An organisation that provides professional services in order to develop and maintain a software product.
- software engineer¶
A natural person who is not a programmer but an active member of a developer team.
What a software developer does¶
A development provider can provides the following services.
- analysis¶
The art of formulating the needs of a customer in a language that can be understood by a programmer.
- programming¶
Write and maintain the source files and publish them.
- testing¶
Make sure that the software does what it is meant to do, that a new version does not introduce regressions or other side effects. This is also called quality control.
- deployment¶
Installing the software on a remote site, either public or for a site operator.
- developer support¶
Support given to an application developer.
- expert support¶
Support given by a development provider to a site expert. This is more technical and specialized than end-user support.
- manual testing¶
A method of software testing where the testers manually execute test cases without using any automation tools in order to find bugs in the software system. It is imperative for every release because full automated testing is not possible. Manual testing is usually done by experienced end users because it requires a good knowledge of the functional requirements. Optionally they can be executed by the application developer before a release, or by the server administrator after an upgrade.
- automated testing¶
A part of the development process which verifies that a change in the software doesn’t break any existing functionality.
External links¶
Programmer Vs Developer Vs Engineer
Programmer vs developer: A recruiter’s guide to telling them apart