A software developer enables a device, for example a computer, smartphone, robot or vehicle to perform calculations, find and display information, carry out complex sequences of movements, optimise consumption and much more.
In the process that turns the idea into the product he has many different tasks and roles. In practice, he can take on all or just one set of tasks if he is already supported by a large team of developers.
The tasks include the analysis and management of requirements (requirements management), the creation of software architecture, programming and testing as well as the integration of various modules and components (software integration). The title of the employee’s position is often adjusted to his main area of activity.
Depending on the system or device to be developed, different programming languages, development models and test procedures are used. Software development poses different requirements for the development of a smart card than it does for that of a web application. Alongside the direct use of programming languages, domain-specific languages, for example in model-driven software development, can be used. Tools are deployed to generate an abstract model. Finally, software code is generated from this model. This method is used, for instance, in the development of vehicle control devices.
To ensure the required functionality and quality of a product or customer solution, the development is supported by a corresponding test process from the outset.
Programming languages for software development
Tools for software development
Eclipse, Visual Studio, Jira, Subversion, Jenkins, TFS, Doors, MATLAB, Simulink, Stateflow, TargetLink, ASCET etc.