Skip to main content
swissICT Booster  |  M&F Academy  |  M&F Events   |  +41 44 747 44 44  | 
4 Minuten Lesezeit (718 Worte)

Software-Engineering für Quereinsteiger:innen und warum es mehr als Informatik ist

Ich beginne gerne mit einem Zitat von Prof. Stefan Richter, Studiengangleiter Informatik an der Fachhochschule OST:

«Während die Informatik ursprünglich die Wissenschaft der automatisierten Informationsverarbeitung ist, also stark vereinfacht die Wissenschaft effizienter Algorithmen und Datenstrukturen, geht es beim Software-Engineering um die Konkrete Implementierung komplexer Softwaresysteme. Das ist in etwa vergleichbar mit dem Unterschied zwischen Physik und Maschinenbau.»

Letzten Freitag waren wieder einige Studierende bei uns zu Besuch, welche sich für unser Software Trainee-Programm interessieren. Darunter sind auch immer viele Nicht-Informatik Studierende, z.B. aus den Bereichen der Elektrotechnik, Mathematik, Physik oder Maschinenbau, die aber gerne nach dem Studium als Software-Entwickler:in arbeiten möchten.

Die Wirtschaft bzw. wir und unsere Kunden benötigen vor allem «Software Engineers». Reines Informatik-Wissen reicht nicht aus, um erfolgreich zu sein.

Wir haben deshalb einige Punkte und Tipps zusammengetragen, die wichtig sind für den Einstieg in unser Trainee-Programm bzw. für den Weg von Informatiker:Innen zu Software Engineers.

 

Was Dich als Software-Engineer bei uns erwartet:

  • «Moderne» Softwareentwicklung
  • Situationsgerechter Einsatz von objektorientierter, funktionaler und prozeduraler Programmierung (kennst du den Unterschied?)
  • Situationsgerechter Einsatz von Entwicklungsmethoden und -konzepten: Agil, Wasserfall, V-Modell, …
  • Verwendung von modernen Programmierkonzepten, Patterns etc.
  • Continuous Integration, Testautomatisierung, Buildautomatisierung, DevOPS, Versionskontrolle
  • Verwendung von 3rd Party Komponenten und Frameworks, z.B.:
    • Unit testing
    • Dependency Injection
    • GUI-Frameworks
    • Kommunikations-Frameworks
    • OR-Mapper

Für den Einstieg in unser Trainee-Programm erwarten wir nicht, dass du das alles schon 100% beherrschst, jedoch sollten die Begriffe für dich keine Fremdworte sein und du solltest die wichtigsten Grundlagen davon kennen.

 

Wie kannst Du das bereits während Deinem Studium lernen?

  • Grundlagen von Software-Engineering anschauen: Es lohnt sich auf jeden Fall, ein Buch über Software-Engineering zu lesen. Neben der eigentlichen "Programmierung" gehört noch viel mehr Know-how zu einem guten Software-Entwickler:in, insbesondere:
    • Projektmanagement
    • Requirements Engineering
    • Risikomanagement
    • Qualitätsmanagement
    • Systemdesign/technische Konzeption/Modellierung
    • Implementierung
    • Testing
    • Einführung/Wartung/Pflege
  • OO-Kenntnisse vertiefen in Projektarbeiten
    • Zusätzlich Bücher lesen, z.B. «Head First Design Patterns»
    • OO-Design Patterns verstehen
    • Source-Code von Frameworks anschauen und verstehen
    • Code und Architekturen von erfahrenen Programmierern anschauen und verstehen
    • SOLID Principles verstehen und in Projektarbeiten berücksichtigen
  • Feedback und Hilfe von Software-Experten bei Projektarbeiten verlangen
    • Elektrotechnik Betreuer haben in der Regel die benötigten Software-Kenntnisse nicht
    • Zusätzliche Inputs und Feedback von Software-Experten (Co-Betreuer, Freunde) ist nötig
  • Private Projekte starten

 

Bücher-Empfehlungen

StackOverflow reicht nicht - deshalb kann ich folgende Bücher wärmstens empfehlen:

Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code von Robert C. Martin

  • ein absolutes Muss für alle Software Engineers
  • beschreibt anschaulich, wie gute, wartbare und fehlerfreie Software aussieht
  • bringt zwischen den Zeilen auch viel SW Engineering Know-how

Buch: Clean Code


Head First Design Patterns von Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra

  • einfach zu lesen, aber spezielles Lernkonzept
  • mit guter Einführung in OO und UML

Head First Design Patterns


Domain-Driven Design von Eric J. Evans

  • starke Designmethode
  • viel Hintergrundinfos zwischen den Zeilen
  • gute Beispiele

Buch: Domain-Driven Design


Clean Architecture - A Craftsman's Guide to Software Structure and Design von Robert C. Martin

  • sehr gut strukturiert, sehr angenehm zum Lesen
  • erklärt, was Software Architektur eigentlich ist
  • fasst viele wichtige Prinzipien (Programmierparadigmen, SOLID-Prinzipien, Boundaries und Schichten, Integration von Testing in Architektur, etc.) anschaulich zusammen

Buch: Clean Architecture


Für das Thema Software-Engineering habe ich leider noch keinen «Knüller» gefunden. Hier wäre ich auch sehr dankbar um Hinweise und Empfehlungen. Folgende Bücher und Links sind mindestens teilweise empfehlenswert:

Mein Kollege Christian Ewald hat mir noch folgende Bücher und Links empfohlen:

 

Der beste Einstieg in die Software-Entwicklung ist natürlich unser Software Trainee-Programm. Melde Dich bei uns, wenn du interessiert bist. 

0
Alexandras Rückblick aufs Trainee-Programm
Microsoft IoT Update 2022

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Sonntag, 28. April 2024

Sicherheitscode (Captcha)