CAD ist mehr als Design! Ein Softwareentwickler berichtet von seinem Job und seinen Leidenschaften
Der erste Teil von Marios Berufsleben war eher handwerklich orientiert, nach einer Umschulung zum Fachinformatiker Anwendungsentwicklung wechselte er in die Welt der Programmierung. Mario ist Papa zweier Mädels und macht viel Sport: Taekwondo, Radfahren, Gerätetraining. Mario hat aber auch schon ein ganzes Haus renoviert, zahlreiche Gartengestaltungsideen umgesetzt, Instrumente erlernt, sich mit Aufnahmetechnik beschäftigt u.v.m. Kurzum, was Mario noch nicht kann, schafft er sich drauf!
Wie bist du zur CAD-Entwicklung bei SPI gekommen?
Das war im Jahr 2016. Ich suchte, SPI suchte, eine Personalagentur brachte uns zusammen.
Was sind die Besonderheiten der CAD-Entwicklung?
Der dreidimensionale Raum, dessen mathematische Gesetzmäßigkeiten und logischen Strukturen sind einfach faszinierend! Aber wer jetzt bei CAD nur an Design denkt, liegt falsch. Neben hilfreichen Konstruktionsfeatures geht es nämlich auch um die Kalkulation von Bauteilen oder Baugruppen. Dazu gehört auch eine Prüfung auf Fertigbarkeit.
Denn die hübscheste Konstruktion ist nichts wert, wenn sie nicht gefertigt werden kann.
Was war deine kniffeligste Aufgabe, die du lösen musstest?
Oh, da gab es einige die mir auf Schlag einfallen, zum Beispiel der Nesting-Algorithmus. Es geht darum, abgewickelte Teile, also Bauteilgeometrien die vom 3D ins 2D überführt wurden, möglichst materialsparend auf einer Tafel Blech anzuordnen. Die Teile sollten also so ineinander gepuzzelt werden, dass wenig Verschnitt, also Reste, übrigbleiben.
Dann war da die Entwicklung einer dynamischen Konfigurationsmöglichkeit für die Blechteilkalkulation. Es ging darum, dem Anwender eine möglichst weitreichende Flexibilität in der Anpassung der Berechnungslogik zu geben, quasi ein „build your own Berechnungsalgorithmus“. Das habe ich mit dem Framework Blockly gelöst, indem ich die passenden Blöcke entwickelt und bestimmt habe, was ein Block jeweils berechnen und ausführen soll. Natürlich ging es auch darum, die passende UI zu designen.
Oder der GEO-Checker, das war auch eine interessante Herausforderung. GEO ist ein spezifisches Format des Blechbearbeitungsmaschinenherstellers TRUMPF. GEO-Dateien sollten auf ihre Verarbeitbarkeit für Lasermaschinen überprüft werden. Haben sie offene oder sich überschneidende Konturen, sind Farblinien enthalten die ggf. nicht gedeutet werden können etc.
Was unterscheidet einen CAD-Entwickler von anderen Entwicklern?
Ein CAD-Entwickler muss ein sehr gutes räumliches Vorstellungsvermögen haben.
Ich habe mich schon früh für Modellbau begeistert, vielleicht hat das schon den Grundstein für meine spätere Jobwahl gelegt. Ach, und gehobene Algebra sollte keinen Fluchtinstinkt auslösen. 😉
Was macht dir an deiner Arbeit besonders Spaß?
Wenn ich die Möglichkeit habe, mich “entfalten” zu können. Zuletzt hat mir das Entwickeln der “Abwicklungs-Bibliothek” so richtig Spaß gemacht. Überhaupt bringen mir Neuentwicklungen mehr Spaß als Refactoring oder Qualitätssicherung. Aber das ist Typsache.
Welche technische Herausforderung möchtest du gerne noch lösen?
Eine Menge, also immer her damit!
Würdest du deinen Job wieder wählen?
Natürlich habe ich nicht jeden Tag Lust, mich an den Rechner zu setzen. Aber meinen Job würde ich immer wieder wählen! Ich war als Jugendlicher mal beim DRK, als Rettungssanitäter Menschen helfen, das könnte ich mir auch sehr gut vorstellen. Dann würde ich aber wahrscheinlich privat noch weiter coden. Mache ich ja jetzt auch, z.B. meine Smoker-Steuerung für das perfekte Grillgut.
Was muss man für deinen Job mitbringen?
Wenn einen die Aufgabe begeistert, ist es manchmal schwer, ein Ende zu finden.
Das ist dann nicht gut fürs Privatleben, wie ich selber erfahren durfte. Aber das hat wohl weniger mit dem Entwickler-Job als mit der Leidenschaft, mit der man seine Profession ausübt, zu tun.
Was rätst du jungen Entwicklern, wie sie sich in der Vielfalt der Jobangebote orientieren können?
Immer die Möglichkeit ergreifen im Voraus echte Unternehmensluft zu schnuppern. So lange wie nötig, wenn es sich einrichten lässt.
Wenn du einen neuen Kollegen / eine neue Kollegin einstellen würdest, was wäre dir wichtig?
Die Persönlichkeit hat mittlerweile für mich einen viel höheren Stellenwert als das fachliche Können. Letzteres muss natürlich zu einem gewissen Stand vorhanden sein. Was fehlt, ist aber schnell aufzuholen, wenn die Motivation passt.
Wie wird sich der Job des Softwareentwicklers in der Zukunft verändern?
Es werden in Zukunft viel weniger neue Algorithmen “selber” entwickelt werden. Dieser Job wird von KI übernommen werden. Der eigentliche Softwareentwickler wird mehr einer werden, der die Puzzleteile zusammensetzt, aber kaum noch selbst solche entwickeln wird.
Welche Ausbildung qualifiziert am besten für den Job des Entwicklers?
Hätte ich die Wahl, entweder aus 10 Bewerbern mit einem Abschluss als Fachinformatiker Anwendungsentwicklung oder 10 Bewerbern mit einem Informatik-Bachelor zu wählen, würde ich mich klar für die Fachinformatiker entscheiden.
Und das sage ich auf Grund meiner Erfahrungen, die ich über die Jahre gesammelt habe.