(Author: Kai Diercks)
Link: Article as PDF
If a "non-computer person" imagines the everyday life of a software developer, one cliché usually follows another. Dark workrooms, unhealthy soft drinks, lots of nerd stuff and (little) work. But this image is nothing more than a collection of bare prejudices. The reality is quite different. Software developers not only need a thick skin, stamina and have to think and work in an enormously versatile way.
Software developers are responsible for planning, programming, maintaining and renovating applications. If errors occur - the software developer calls this a "bug" - they have to be fixed quickly. In the regulatory environment, the developer also has to deal with a great deal of documentation. Communication and team cooperation are highly valued skills in professional software development in distributed work.
As you can see: This small list of necessary competences alone refutes many of the prejudices because professional software development would not work like this in a company. It is certainly the case that many developers have large desks because they can accommodate not only several monitors but also many other work materials. Software developers also sit at their computers a lot, but they also discuss with colleagues, sketch their ideas on whiteboards or walk up and down while thinking. This may seem introverted from time to time. Developing ideas, conceptualising and being creative, i.e. thinking, takes up a large part of a software developer's working day, not so much "typing on the keyboard".
VThe power of the developer and professional software development is often underestimated. Software systems and apps look very simple and are often even given away for free. The conclusion: the implementation is not regarded with the appropriate appreciation because the performance behind it is not obvious. But the non-expert cannot see that it is precisely in simple and intuitive usability that a great deal of know-how and experience lies.
Today, software is developed in an agile process, i.e. always piece by piece with feedback loops in so-called sprints. The resulting partially finished but functional software element is then tested in coordination and test phases with the customer before further work is done on the software.
This approach, which is also used at soventec, is called Scrum. The term stands for a process model of project and product management - especially for agile software development. Here, developers work together in small teams with different competences. The new software is developed piece by piece - in a predefined rhythm called "sprints" - presented to the customer and refined further and further.
It is not uncommon for the final product to differ in some respects from the one originally planned. This is also a result of the feedback-oriented development process. In the case of complex systems, it is usually not possible to specify all the features completely at the beginning. Only a piece of "running software" provides new insights for new sub-goals.
My opinion: Agility is the only currently known approach to mastering the complexity of requirements while satisfying the customer and creating real usable value."
As a typical software developer, you are constantly planning, designing and implementing new, innovative applications. But this job is also about product care, maintenance and servicing old systems. Especially the area of software renovation, i.e. the targeted, iterative further development and subsequent maintenance of older or already existing applications, is becoming increasingly relevant.
Software development at soventec goes one step further. Due to our specialisation in the medical environment, we are legally bound by many regulations and documentation requirements. The big challenge is to work in a regulatory correct way, but at the same time in an innovative and agile way.
In concrete terms, we work very closely with the client, and even make this a prerequisite for the cooperation. In weekly joint meetings, the so-called "weekly", the parties exchange information about the development status. This instrument has proven to be very effective in many projects, because misunderstandings and questions can be clarified quickly without one party going too far in the wrong direction. The weekly meetings take between 15 minutes and an hour, depending on the content to be discussed - a very good investment of time!
The medical technology development process requires many phases such as architecture, design, risk analysis, usability process, verification and validation with corresponding documentation. It is not uncommon that the documentation for a project comprises several hundred pages of paper.
As you can see, the field of truly professional software development and the job description of a software developer are very diverse and complex, and have little to do with the public image, which usually stems from the fact that the non-expert does not understand in detail what a software developer does every day. It is also difficult to explain in a few words. In any case, it goes far beyond graphically clicking together interfaces.
Someone who fixes a problem you didn’t know you had in a way you do not understand.
see also: programmer, wizard, magician (unknown author)