Nico Meijerman - Trainer
Nico Meijerman kam zu NTS, um beim Auf- und Ausbau der Softwarekompetenz des Unternehmens zu helfen. Kurz nach seiner Ankunft in der Hardware-Hochburg begann er damit, die Kluft zwischen Software-Engineering und der Welt der Physik, Mechanik und hardwarenahen Disziplinen zu überbrücken. Das Ergebnis ist ein Workshop, in dem Meijerman seinen Nicht-Software-Kollegen die Grundlagen der Softwaretechnik beibringt. Kunden- und Geschäftsspezifika inbegriffen.
Der Erstanbieter NTS Group hat in den letzten Jahren im Stillen seine Kompetenz im Bereich Softwareentwicklung ausgebaut. Das würden Sie vielleicht nicht von einem Unternehmen erwarten, das den Großteil seines Geldes immer noch mit dem Biegen von Stahlblech, dem Fräsen von Teilen und dem Zusammenbau von Systemen verdient.
Für einige First-Tier-Anbieter ist es jedoch ein natürlicher Schritt, sich Software-Know-how zuzulegen. In den letzten Jahrzehnten hat NTS seine Fähigkeiten zur Systementwicklung aktiv ausgebaut. Heute entwickelt und fertigt das Unternehmen komplette Maschinen und Module, die von seinen Kunden unter eigenem Namen vermarktet werden. Da sich der Wert der Endprodukte auf Software verlagert, scheint es für NTS ein natürlicher Schritt zu sein, die Kompetenzen zu entwickeln, um die Digitalisierungswelle aufzufangen.
Die Abteilung Entwicklung und Engineering (D&E) von NTS beschäftigt etwa zweihundert Ingenieure, von denen sich 15 Prozent auf Software konzentrieren. Für einen Anbieter, der High-End-Systeme und -Designs liefert, ist das immer noch zu wenig, meint Meijerman. „Sie wird wachsen, weil wir sehen, dass Software immer wichtiger für die Wertschöpfung unserer Kunden wird. Wir sehen, dass der Softwareaufwand in unseren Projekten zunimmt.“
„Wir sehen, dass der Softwareaufwand in unseren Projekten zunimmt“, sagt Nico Meijerman.
Ein verlockendes Angebot
Meijerman hat seine gesamte Karriere auf dem Weg zwischen Hardware und Software verbracht. Während seines Studiums in Twente lernte er, Chips zu entwerfen und ging zu Sagantec, einem Unternehmen, das sowohl an einem Silizium-Compiler arbeitete als auch anwendungsspezifische ICs für Kunden entwickelte. Dort begann er mit dem Design von Chips, aber schon bald wechselte er zur Programmierung, weil sich herausstellte, dass die eingebettete Software mehr Aufwand erforderte als die Hardware selbst.
Später unterrichtete Meijerman informatikbezogene Fächer an verschiedenen Abteilungen der Fachhochschule (HTS) in Arnheim. Anschließend wechselte er zu Philips CFT, wo ein Software-Ingenieur gesucht wurde, der die Vorgänge im mechanischen und elektrischen Bereich versteht. Dort entwickelte er die Bewegungssteuerungssoftware für die ersten PAS 5500 Litho-Scanner von ASML. Bald darauf arbeitete er auch an MRI-Scannern für Philips Healthcare.
Im Jahr 2010 beschloss Meijerman, dass es an der Zeit war, sein eigenes Beratungsunternehmen zu gründen. Doch einige Jahre später trat NTS mit einem verlockenden Angebot an ihn heran: Ob er daran interessiert wäre, Gruppenleiter für Maschinensteuerung zu werden, ein Team, das sich auf Software und Elektrotechnik konzentriert. Beim Aufbau der Softwarekompetenz zu helfen, schien ihm eine gewaltige, aber sehr attraktive Herausforderung zu sein.
Nachdem er in der Hardware-Hochburg angekommen war, wusste Meijerman, dass er an seinen Beziehungen zu den Mechanikern und Mechatronikern der NTS arbeiten musste. Er dachte sich ein kurzer Workshop würde seinen neuen Kollegen helfen, sich besser mit der Software vertraut zu machen.
Nico Meijerman von NTS meint: „Maschinenbauingenieure haben mit den Grenzen der Physik zu kämpfen, Software verwaltet Komplexität.“
Meijerman begann, Kollegen zu befragen, um sich ein Bild von ihren Bedürfnissen zu machen. Zuerst sprach er mit den Systemingenieuren – den Jungs, die meist einen mechanischen Hintergrund haben. „Die häufigste Antwort war, dass sie keine Ahnung von Software haben. Ich hörte Bemerkungen wie ‚Die kommen immer zu spät‘, ‚Die machen nie das, was ich wirklich brauche‘ und ‚Ich kann nicht mit ihnen arbeiten, weil sie nichts verstehen‘. Es herrschte eine Kultur der Schuldzuweisung und es war klar, dass unsere Systemingenieure nicht wussten, was Software macht. Sie sahen sie als eine unberechenbare Blackbox.“
Als Meijerman mit den Systemarchitekten in Kontakt kam, wurde die Resonanz größer. „Sie bekamen zumindest eine Vorstellung davon, was sie über Software wissen wollten. Sie wollten mehr über Programmiersprachen, Drittanbieter, Multitasking, Echtzeit, Agile und andere grundlegende Konzepte wissen. Sie wollten auch wissen, wie ein Softwareentwicklungsprozess aussieht.“
' We saw the need to involve clients early in the software development process.'
Schon bald kamen Meijerman und die Systemarchitekten zu dem Schluss, dass die Kundenperspektive von enormer Bedeutung ist. „Wir sahen die Notwendigkeit, die Kunden frühzeitig in den Softwareentwicklungsprozess einzubeziehen. Für NTS hatte dies hohe Priorität, da die meisten Kunden einen mechanischen Hintergrund haben. Sie wissen, dass Software dazugehört, aber sie müssen über die Besonderheiten aufgeklärt werden – zum Beispiel über die Tatsache, dass Software nie fehlerfrei ist. Deshalb dreht sich ein Teil meines Workshops auch um Geschäftsmodelle und alles, was mit unserer Entwicklungstätigkeit zusammenhängt.“
Nico Meijerman ist der Trainer für ‚Softwaretechnik für Nicht-Softwareingenieure‘..
Falsche Annahmen
In der High-Tech-Branche hört man oft, dass die Kommunikation in Umgebungen mit unterschiedlichen Disziplinen das Problem ist. Aber bei NTS hat Meijerman die Erfahrung gemacht, dass es mehr um Verständnis geht und darum, sich in die Lage des anderen hineinzuversetzen. „Die Leute versuchen zu kommunizieren. Ich stelle fest, dass die Bereitschaft zum Gespräch durchaus vorhanden ist“, sagt er. „Aber Hardware- und Software-Ingenieure leben oft in völlig unterschiedlichen Welten.“
'Mechanics is about managing the limits of physics, while software is about managing complexity.'
Meijerman erklärt, dass Maschinenbauingenieure in erster Linie die Grenzen der Physik im Auge haben. „Es geht um Nanometer, um Millisekunden. Die Steifigkeit einer Konstruktion bestimmt, was Sie erreichen können. Komponenten nutzen sich ab, wenn man sie zu lange benutzt.“ Software-Ingenieure hingegen beschäftigen sich nicht mit der Physik, sondern versuchen, die Komplexität zu kontrollieren. „In der Mechanik geht es darum, die Grenzen der Physik zu beherrschen, während es bei Software darum geht, die Komplexität zu beherrschen.“
Die Probleme entstehen oft durch falsche Annahmen. „Mechaniker fragen einen Software-Ingenieur selten nach dem Grad der Komplexität. Deshalb wird ein Software-Ingenieur in den meisten Fällen sagen, dass er ein Problem der Maschinensteuerung lösen kann – außer bei sehr schwierigen Problemen. Aber wenn Sie ihn fragen, wie viel Aufwand es kostet und wie komplex es ist, bekommen Sie vielleicht eine ganz andere Antwort. Ein Maschinenbauingenieur betrachtet die Dinge vom Standpunkt der Physik aus, nicht vom Standpunkt der Komplexität. Aber er sollte wissen, wie viel Arbeit seine Frage verursachen kann. Das fehlende Verständnis solch grundlegender Konzepte macht die Interaktion schwierig. Ebenso müssen Software-Ingenieure ihre Kenntnisse im Bereich des Maschinenbaus unbedingt verbessern.“
Teil von Meijermans Workshop ist es, zu verstehen, dass Software-Engineering nicht dasselbe ist wie Programmieren. „Junge Leute lernen an der Universität oder während der technischen Ausbildung programmieren. Viele Leute denken, dass Software-Engineering einfach nur mehr Programmieren ist, aber das könnte nicht weiter von der Wahrheit entfernt sein. Beim Programmieren geht es in der Regel nicht um die Komplexität, denn am Ende haben Sie einige hundert Zeilen Code. Erst wenn Sie es mit mehr als hunderttausend Codezeilen zu tun haben, wird es kompliziert. Bei High-Tech-Systemen ist das der Fall: Es gibt manchmal Millionen von Codezeilen, und die einzige Möglichkeit, Herausforderungen dieser Größenordnung zu bewältigen, besteht darin, einen Weg zu finden, das Problem zu lösen. Das bedeutet, dass Sie es aufschlüsseln und sicherstellen müssen, dass Ihre Arbeit korrekt ist. Im Ingenieurwesen geht es darum, sich auf Architektur und Design zu konzentrieren und die Komplexität zu beherrschen.“
„Mein Ziel ist es, den Teilnehmern alle Aspekte des Software-Engineerings beizubringen“, so Meijerman abschließend. „Wenn sie das erkennen, verstehen sie, dass sie nicht ihren Neffen, der mit Arduino-Boards spielt, bitten können, am Wochenende ein Programm für sie zu schreiben.“ Am Ende des Workshops verstehen die Teilnehmer mehr über die faszinierende Welt des Software-Engineering und über die Unterschiede und Gemeinsamkeiten zwischen Software-Engineering und anderen Disziplinen, was zu einer besseren Zusammenarbeit, besseren Lösungen und hoffentlich mehr Spaß an ihrer Arbeit führt.
Dieser Artikel wurde von René Raaijmakers, Tech-Redakteur von Bits&Chips, geschrieben.

