Sebastian Buchholz, 30, studied applied computer science with a focus on bioinformatics at the University of Bayreuth. In 2016 he completed his studies with the Master. "At the beginning of my undergraduate studies, I learned how to program in Java, but most of my studies focused on computer architectures, distributed systems and databases." Application development was not part of his studies, Buchholz has learned methods and processes, but not The practical experience he had to learn by learning by doing as a student trainee and intern, after graduation then in the actual job itself.
Development, operation and coordination
After graduation, he spent a year working in a software development software house, where he made a project for Datev. Datev is one of the largest software companies and IT service providers in Germany. Currently, the company has around 7800 employees, including about 2000 software developers. Business software for tax consultants, accountants and lawyers as well as their mandates to develop and operate is the main business of the cooperative.
Buchholz is working on a new bill data service cloud program, an application for transferring billing information between the e-commerce provider and its tax accountant. "I have three tasks," says Buchholz: "First, development, ie programming – especially with Java. Second, operation of the application and, third, coordination and clarification between external application requirements and implementation with colleagues in the team. "The development methodology is agile with Scrum, understanding the requirements of aligning and then programming the software structure – that is a typical task for a software developer.
In principle, every computer scientist learns that
In principle, today every budding computer scientist learns how software is developed, says Ralf Reussner, computer science professor at KIT in Karlsruhe and spokesman for software engineering in the Gesellschaft für Informatik. "How deep and wide the knowledge is taught, depends strongly on the respective university." Each university teaches in computer science study programming in an object-oriented language such as Java or C ++. "Which, is not so important, because, who conceptually an object-oriented Language is easily accessed by others. "However, programming is only one part of the work of a software developer. "Decisive is the understanding of often non-specialist requirements as well as a portable architectural design that significantly influences the quality of the software," says Reussner.
To properly plan, software developers must first understand the requirement. The application case, then. It can be of a business nature like Sebastian Buchholz. Or control a pacemaker. Or drive a car partially autonomously. When creating the architecture, care should be taken to allow the structure to change. It should be scalable for peak loads and secure against attacks.
Programming language plays a minor role
According to a good architect, Reussner describes what a good software developer must be able to do: "He takes the ground plan into account that the building is buildable, has understanding of materials and is cost-conscious, and can abstract reality into a plan." Poor programmer Just lay stones on each other without paying any attention to the entire building – the stones are program codes that can be planned far-sighted and built sustainably – in the opinion of the professor, that's what makes a good software developer.
Andreas Beyer leads a team of software developers and architects at Datev to help colleagues create cloud applications. "The programming language plays a minor role in hiring new software developers, and it's crucial to understand the concept of how software is being developed and the willingness and interest in learning the technology stack." A perfect developer for Beyer someone who understands the holistic process of software development and has high standards, in the sense of software craftsmanship, in their own work.
Software Craftsmanship is a movement that understands software development not only as an engineering discipline, but also as a craft. "Because good software developers have a broad knowledge but can cover a wide variety of specializations, they are so in demand on the market," says Beyer.
Business becomes more modest
The Vesterling AG based in Munich is specialized as a personnel consultancy on the appointment of technology positions, with a clear focus on IT. The company is looking for employees on behalf of companies. "Half of all assignments are for software developers," says Georg Ruëff, board member of Vesterling, a graduated computer scientist in charge of IT recruitment, having previously worked in a variety of IT roles, from software development to chief He explains the high demand for software developers with the digitization that usually results in an application development. "The high demand for developers attracts career changers and the companies are not reluctant to hire them due to the strong shortage." Programming skills are now worth as much as a completed computer science degree.
With the shortage of staff, the companies became more modest: technical skills move into the background and personal in the foreground. "It's good to have an object-oriented language, and three out of four Vesterling customers looking for a software developer will need that kind of knowledge Break down processes into individual steps in order to then display them in program codes.
The demands of companies and the supply on the job market are not identical. "Otherwise there would not be so many vacancies," says Ruëff, who says: "Those who can program, who are motivated and have personality can find a job." However, attitudes are increasingly failing due to high salary demands and too narrow technology focus on applicants, "says Ruëff , Many are focused on using only the most modern technologies, and some want entry-level salaries that others do not even have after many years of work experience. At least it is not because of the fact that no programming skills were taught during the studies, if the application does not work out.
. (TagsToTranslate) Labor market (t) IT jobs (t) career (t) programming languages (t) Programming