Beruf als Softwareentwickler - Arbeiten in der Software-Entwicklung

Sie nennen dich Developer, Programmierer, manchmal auch „Code Monkey“, aber wirklich Ahnung von dem, was du tust, haben nur die wenigsten. Darum brichst du auch regelmäßig in Gelächter aus, wenn du Super-Programmierer in Filmen mit grafischen Interfaces und Code im Matrix-Stil herumhantieren siehst. Dabei ist der Beruf als Softwareentwickler so gefragt wie nie, in so gut wie jeder Branche und jeder Unternehmensart braucht es jemanden, der aus Quellcode neues Software-Leben formt. Am besten hast du schon in deiner Freizeit das ein oder andere Programm geschrieben. Denn, um an deinen Traumjob zu kommen, ist praktische Erfahrung mindestens genauso wichtig wie ein Hochschulabschluss.

Arbeitsalltag und Aufgaben als Softwareentwickler

Arbeitsalltag als Softwareentwickler Softwareentwickler/in werden

Ganz entgegen dem Klischee, wirst du im Beruf als Softwareentwickler nicht allein in einem dunklen Keller hocken. Du solltest Lust darauf haben, mit anderen in der Mittagspause darüber zu fachsimpeln, ob es für das Problem ein Open-Source-jquery-Plugin gibt oder ob Java die objektorientierte Programmierung „zerbrochen“ hat. Denn auch wenn es die eine oder andere Nachtschicht geben wird, bei der du mit Kopfhörern in den Ohren die Welt um dich herum vergisst, bist du als Developer auf deine Kollegen vor Ort sowie auf Fachforen im Netz angewiesen. Du schreibst zwar Code für dich selbst, dein Arbeitsalltag besteht in der Realität jedoch genauso aus Meetings und Teamwork. Du sprichst regelmäßig mit deinem Projektmanager, der Q&A-Abteilung, Designern und dem Vertrieb, um ihr Feedback und Wünsche in deine Arbeit einfließen zu lassen. Mit Kunden wirst du eher seltener zu tun haben, aber auch das kann vorkommen, je nachdem wie groß das Unternehmen oder die Agentur ist, die dich beschäftigt, und wieviel Projektmanagement von dir erwartet wird. Häufig musst du z.B. dem Kundenservice bei technischen Fragen unter die Arme greifen und Supportanfragen beantworten.

In deinem Studium wirst du bereits festgestellt haben, ob du eher der Typ „quick and dirty“ bist oder beim Programmieren eher an das große Ganze denkst. In deinem Arbeitsalltag wirst du dich einerseits ganz klassisch um die Entwicklung kümmern, andererseits aber auch um die Softwarearchitektur und die Dokumentation. Technische Design Dokumente wollen geschrieben und interne Wikis gepflegt werden. Manchmal musst du sogar Designaufgaben übernehmen und Elemente des GUI (Graphical User Interface) gestalten.

Wer jetzt glaubt, dass er die meiste Zeit des Tages im Beruf als Softwareentwickler überlegt und mit einem Plan vor sich hin programmieren kann, der sollte lieber noch ein Praktikum vor dem Berufseinstieg machen. Du wirst nämlich viel Gehirnschmalz (und Kaffee oder Energydrinks) in das Beseitigen von Fehlern setzen müssen. Es kann gut vorkommen, dass du gerade an einem Feature sitzt und dann ganz dringend irgendein Bugfix gemacht werden muss, weil der Hauptkunde Probleme hat. Hier brauchst du Geduld: Es gilt schnellstmöglich den Bug zu reproduzieren, zu finden und zu beheben, ohne weitere Fehler hervorzurufen. Und das ist manchmal gar nicht so leicht, denn allzu häufig musst du dafür den unvollständig kommentierten Code deiner Kollegen verstehen. Wer eine hohe Frustrationstoleranz hat und sich nicht so schnell über den Code anderer aufregt, hat einen deutlich entspannteren Job. Sieh es einfach so, wie es ist: Deine Fähigkeiten hat nicht jeder und sind auch nur schwer zu ersetzen.

In kleinen Teams kannst du kurzfristig auch mal in die Rolle der internen Quality Assurance schlüpfen, wenn es keinen hauseigenen Tester gibt. Immerhin muss vor dem Release einer neuen Software-Version gewährleistet werden, dass alles funktioniert.

Überstunden sind an der Tagesordnung, wenn etwas fertig werden muss. Je nachdem, wie das Projektmanagement im Unternehmen funktioniert, musst du dich vielleicht auf bestimmte Features und Zeiträume verpflichten. Du wirst kaum einen Softwareentwickler finden, der, wenn er gerade  einer Problemlösung nahe kommt, einfach mal nach Hause geht und abschaltet. Als Programmierer weißt du, dass nichts Belohnender ist, als Software, die genauso funktioniert wie sie soll. Es ist eben einfach ein gutes Gefühl, etwas Funktionierendes komplett aus dem Nichts erschaffen zu können. Ein bisschen wie Lego für Erwachsene. 

Voraussetzungen für den Beruf Softwareentwickler

Natürlich hast du mit einem abgeschlossenen Informatikstudium einen Vorteil, wenn es darum geht, Stellen für den Beruf als Softwareentwickler zu besetzen. Dennoch befähigt dich dein Studium nicht zwangsweise zu einer guten Einstiegsposition, höchstens zu einem etwas höheren Gehalt, wenn es tatsächlich zur Einstellung kommt. Die IT-Branche ist sehr offen für Quereinsteiger und Autodidakten, es zählt also nicht ein netter Titel auf einem Blatt Papier, sondern Praxiserfahrung und die Kenntnisse, die du mitbringst. Deswegen ist es sehr wichtig sich schon während des Studiums die nötigen Praxiserfahrungen anzueignen. Damit werden die Chancen auf einen Job in der IT immens gesteigert. Kleine Hobby-Projekte bei Github sind eine sehr gute Möglichkeit zu zeigen, dass du in der Lage bist, strukturierten und sauberen Code zu schreiben.

Die wichtigste Voraussetzung für diesen Beruf ist also stetiges lernen, sich weiterbilden, sich anpassen und neugierig bleiben. Wenn du in deiner Freizeit nicht gerne programmierst und an eigenen Projekten bastelst, kannst du den Beruf als Softwareentwickler so gut wie vergessen. Das bedeutet nicht, dass du alle Programmiersprachen der Welt beherrschen solltest, aber du solltest durch dein Studium und dein tägliches „Üben“ in der Lage sein, sie dir beizubringen. Dennoch sind C, C++, Java und Javascript, .NET, PHP, Sql, HTML und CSS schon mal kein schlechter Anfang und sollten dir zumindest etwas sagen. Wer auch schon mit relationalen Datenbanken wie MySql oder PostgreSQL umgehen kann sammelt weitere Pluspunkte im Bewerbungsgespräch. Gerade in großen Unternehmen gibt es Einstiegsprogramme und du kannst dich unter Anleitung in die Technologien einarbeiten. Hilfreich ist es natürlich auch, wenn du deine Abschlussarbeit zusammen mit einem Unternehmen geschrieben und schon Einblicke in die Materie gewonnen hast.

Analytisches Denken, strukturiertes Arbeiten und Problemlösekompetenzen müssen wir als Voraussetzungen wahrscheinlich gar nicht mehr aufzählen. Was viele allerdings vergessen: Ohne gute Englischkenntnisse geht nichts. Sicher, dein Studium war auch schon voller englischer Fachliteratur, aber auch in der Arbeitswelt wirst du dich darauf einstellen müssen, immer wieder damit konfrontiert zu werden. Gerade in international aufgestellten Unternehmen wirst du auf Englisch dokumentieren müssen. Im Kontakt mit Kunden oder auf Weiterbildungen und Kongressen musst du auch mündlich in der Fremdsprache überzeugen.

Zusammengefasst lässt sich sagen: Im Softwareentwickler-Beruf ist nichts wichtiger als Praxis. Wenn du Projekte vorweisen kannst oder durch ein Praktikum in einem bestimmten Bereich Fachkenntnisse hast, bist du gut für den Berufseinstieg aufgestellt.

Spezialisierungsmöglichkeiten

Im Softwareentwickler-Beruf bist du sehr branchenunabhängig. Ob Röntgenprüfsysteme, das neueste Computerspiel oder sogenannte Fahrerinformationssysteme im Automobilbereich – überall werden Fachkräfte gebraucht, die die passende Software entwickeln. Du wirst dich für jede Stelle daher auch auf das jeweilige Themengebiet einstellen müssen. Wenn du z.B. medizinische Software programmierst, bleibt es nicht aus, dass du dich auch mit den Fachtermini und Anwendungsmöglichkeiten beschäftigst.

Du kannst dich auch auf bestimmte Programmiersprachen oder aber auf bestimmte Plattformen spezialisieren. In Stellenausschreibungen werden häufig Experten für bestimmte Sprachen gesucht, sodass du hier mit Detailwissen punkten kannst. Darüber hinaus gibt es mehrere grobe Richtungen, die du einschlagen kannst, wenn dich ein bestimmter Aspekt deiner Arbeit im Beruf als Softwareentwickler besonders reizt:

Als Software-Architekt oder auch Software Engineer beschäftigst du dich – wie der Name schon sagt – eher mit der technischen Planung als mit der praktischen Programmierung. Du wählst die technischen Ansätze und das Framework für dein Team und machst darauf aufbauend Aufwandschätzungen. Auch die Definition von Schnittstellen, die Planung der Klassenstrukturen sowie die Überwachung des Programmierstils gehören dazu. Gerade in kleineren Unternehmen übernimmt meist auch der Lead Programmer oder der Technical Director diese Aufgaben.

Wenn dich eher Strukturen als Produkte interessieren, kannst du dich als Datenbankentwickler verwirklichen. Du sorgst dafür, dass Daten effizient erfasst und für den jeweiligen Zweck gespeichert und genutzt werden können.  Wenn du dich den lieben langen Tag mit SQL und Co. beschäftigen möchtest, bist du hier richtig.

Du willst Echtzeit-Interaktion, Social Media Applications und komplexe Websites? Dann schlage doch den Weg als Webentwickler ein. Statt mit C wirst du dich hier eher mit PHP, Ruby on Rails und CSS beschäftigen und mit Webdesignern über die Umsetzbarkeit ihrer Mockups diskutieren.  Die Medien- und Internetbranche boomt momentan, leider verspricht sie aber auch weitaus weniger Gehalt als die konservativen Branchen. 

Spezialisierungen
Softwareentwickler/in
  • Softwareentwickler/in bei
    iteratec

    Als Softwareentwickler bei iteratec entwickelst du für unsere Kunden individuelle Softwaresysteme (wie z. B. Carsharing für BMW / Drive Now) und bist an hochspannenden Technologieprojekten wie der MINI Augmented Vision Datenbrille oder dem neuen Otto-Shop beteiligt.

    Die Technologien, Programmiersprachen und Zielplattformen für die Softwareprojekte ändern sich dabei ständig. Wir arbeiten unter unterschiedlichsten Bedingungen, aber immer mit modernen Umgebungen und unter Anwendung angemessener Methoden des Softwareengineerings. Was konstant bleibt sind die komplexen Anforderungen, die Erwartung von hochwertigen Ergebnissen sowie der oft enorme Kosten- und Zeitdruck. Dabei genügt es längst nicht mehr, ein zuverlässiges System zu entwickeln. Geschäftsprozesse und Systeme sind so zu gestalten, dass sie schnell an veränderte Anforderungen angepasst werden können. Wir entwickeln tragfähige Modelle, wägen Risiken ab und arbeiten in Etappen. So können früh erste Pakete ausgeliefert und Ziele neu überprüft werden.

    Mitbringen solltest du dabei einen Hochschulabschluss in Informatik (oder einem der Informatik verwandten Fachgebiet), sowie sehr gute Kenntnisse von modernen Softwareentwicklungsumgebungen, die du beispielsweise schon in ersten Praktika oder während einer Werkstudententätigkeiten einsetzen konntest. Leidenschaft für die Softwareentwicklung und ein Sinn für Trends gehören ebenfalls dazu.
    Passende Jobs bei iteratec
Fachjargon
Scrum

Scrum ist ein agiles Projektmanagement-Modell, das in der Softwarentwicklung häufig zum Einsatz kommt. Dabei steht die Anwendersicht im Vordergrund und kein komplexer Anforderungsplan. In sogenannten Sprints, die 2-4 Wochen dauern, wird ein bestimmtes Feature bzw. eine bestimmte Funktionalität umgesetzt, sodass es theoretisch danach sofort an den Kunden ausgeliert werden kann. Das Besondere an Scrum sind seine Transparenz durch Festhalten des täglichen Fortschritts und seine Flexibilität, da die Anforderungen an das Produkt nach jedem Sprint neu bewertet und iterativ angepasst werden können.

Auskommentieren

Warum guten Code löschen, wenn man ihn auch auskommentieren kann? Es ist relativ gängig, bestimmte Codefragmente auszukommentieren und so immer griffbereit zu haben, falls sie später doch wieder zum Einsatz kommen müssen. Man weiß ja nie, was der Kunde oder der Projektleiter sich als nächstes ausdenken.

API

Hinter der Abkürzung verbirgt sich das application programming interface, was auf Deutsch nichts anderes als eine Programmierschnittstelle meint. Viele Softwarehersteller sowie auch Internetdienste stellen diese bereit, damit andere Programmierer bzw. Kunden einfacher zusätzliche Programme für die Ausgangssoftware entwickeln und mit ihr arbeiten können.

Wusstest du schon, dass...
  • das erste Programm der Welt Mitte des 19. Jahrhunderts von einer Frau, Ada Lovelace, geschrieben wurde?
  • es ziemlich viele esoterische Programmiersprachen wie z.B. omgrofl gibt, in der alle Variablen eine Variante des Slang-Worts lol sein müssen?
  • der Name C# (C-sharp) musikalisch inspiriert ist? Auf Notenblättern steht # für einen Halbton höher als die ursprüngliche Note. C# ist daher also die etwas „höhere“ Entwicklungsstufe von C/C++.
Was man kennen und können sollte
EDV/IT
  • C, C++
  • Java/Javascript
  • PHP
  • NET
  • HTML
  • XML
  • Datenbank-Systeme
  • CMS-Systeme
Sprachen
  • Sehr gute Englischkenntnisse
Verwandte Berufsfelder: IT Online
Softwareentwickler als Beruf - Infos zur Arbeit in der Software-Entwicklung

Beruf als
Softwareentwickler/in

Programmierer, Software Developer, Anwendungsentwickler Bevorzugte Studiengänge
Work-Life-Balance: 50-55 Stunden: Vielbeschäftigt
Durchschnittliches Einstiegsgehalt: 2800-3500 €
Männer/Frauen-Relation 7/3
Bewerber pro Stelle: 17 Bewerber
Spitzenverdiener 7000 €