Schöner Suchen – Die Softwareentwickler-Edition

Weil ich gelegentlich über meinen Beruf als Softwareentwicklerin schreibe, kommen auch öfter mal Leute auf meinen Blog, die irgendwas über Softwareentwicklung wissen wollen. Um hier Abhilfe zu schaffen, gibt es mal wieder eine Spezialfolge “Schöner Suchen”, diesmal mit Fragen rund um Softwareentwicklung und was man da so macht. Übrigens habe ich schon 2011 mal auf Englisch darüber geschrieben, was Softwareentwickler so machen, wenn sie nicht gerade Software entwickeln.

im welchen beruf schreibt man eine software

Diesen Beruf nennt man Softwareentwickler. Alternativ Anwendungsentwickler. Gerne auch etwas fancy-anglistiziert Software Developer. Möglicherweise auch Software Engineer. Oder Programmierer. Man kann das auch aufdröseln, dann gibt es Webentwickler, Datenbankspezialisten oder Softwarearchitekten. Oder Senior Systems Architect oder so ein Unfug.

Man könnte fast glauben, der Fantasie wären an dieser Stelle keine Grenzen gesetzt und tatsächlich ist das auch so. Jedenfalls muss ich immer selber nachgucken, wie denn meine aktuelle Stelle offiziell gerade heißt, wenn es um Visitenkarten oder so ein Gedöns geht.

Die Frage, die zwar keiner gestellt hat, die man aber in diesem Zuge gleich mitbeantworten kann, lautet: Was muss man machen, um Softwareentwickler zu werden?

Auch hier gibt es viele Wege, die ans Ziel führen, vom offensichtlichen Informatikstudium bis hin zum weniger offensichtlichen Quereinsteiger. Wenn man sich die eher offensichtlichen Möglichkeiten anguckt, so hat man erst mal zwei Optionen: Studieren oder Ausbildung. Studieren kann man Informatik, aber natürlich auch Wirtschaftsinformatik, Medizininformatik und was weiß ich nicht noch. Ich habe da nicht den Überblick, welche Spezialgebiete es so gibt, aber ich behaupte, es sind eine ganze Menge.

Wenn man lieber eine Ausbildung machen möchte, dann gibt es den Fachinformatiker aufgeteilt in Anwendungsentwicklung (FIAE) und Systemintegration (FISI). Den Ausbildungsberuf gibt es noch nicht so lange, nämlich seit irgendwann Ende der Neunziger. Vorher gab es aber schon den Mathematisch-Technischen Assistenten (MaTA). In unserem Ausbildungsbetrieb gab es beide Sorten Fachinformatiker und Mathematisch-Technische Assistenten. Der Hauptunterschied bestand bei uns darin, dass die Fachinformatiker Berufsschule haben mussten und die MaTAs nicht, außerdem sehen die Prüfungen anders aus. Was man nach (und während) der Ausbildung praktisch damit macht, ist aber sehr ähnlich.

Ich habe bisher übrigens noch keine Korrelation zwischen der Art der Ausbildung und der Qualität der Arbeit feststellen können, auch wenn das Studierte manchmal nicht so gerne hören wollen. Das Problem bei dem Beruf ist ja auch, dass sich dauernd irgendwas ändert, angefangen bei Programmiersprachen, über Architekturkonzepte bis hin zu Arbeitsprozessen. Wer mehr Wert auf eine theoretische Basis legt, sollte zum Studium greifen, das ist sicherlich nicht verkehrt. Man muss aber dann davon ausgehen, dass man sehr viel davon später nie mehr brauchen wird. Auch scheint es immer noch ausreichend Betriebe zu geben, in denen man ohne Studium keine Karriere machen kann (was auch immer man unter “Karriere” verstehen mag).

Die Realität ist wie immer kompliziert und individuell. In meinem Fall hatte ich nach fünf Semestern Geisteswissenschaftsstudium kein gesteigertes Interesse an weiteren acht bis zehn Semestern hauptsächlich theoretischer Informatik und habe mich dementsprechend pragmatisch für eine Ausbildung entschieden, bei der ich nicht nur Geld verdient habe, sondern auch nach zweieinhalb Jahren fertig war. Es gibt Argumente für und gegen beide Optionen, und letztendlich kann man auch immer noch beides machen, wenn man das denn unbedingt möchte.

braucht man für softwareentwickler informatik

Ja. Viel interessanter ist die Frage, was man denn unter Informatik so versteht. Was man als Softwareentwickler überraschenderweise nicht zwingend braucht, ist besonders viel theoretische Mathematik. Deswegen lernt man sowas während der Ausbildung auch nicht, während des Studiums aber schon, hab ich mir jedenfalls sagen lassen. Dafür lernt man während der Ausbildung praktisches Zeug wie Projektmangement und ordentliche SQL-Abfragen. Das lernt man zwar an der Uni angeblich auch, meine Erfahrung sagt mir aber, dass das oft auf einer eher theoretischen Ebene passiert und man sehr, sehr gut aufpassen sollte, wenn jemand sagt, er hätte ja auch an der Uni ein Seminar über Projektmanagement gehabt.

Zur Frage zurück: Softwareentwicklung IST Informatik, aber natürlich nicht nur. Man muss mit einem Rechner umgehen können und man muss programmieren können. Was man dann da genau macht und welchen Kenntnisse und Fähigkeiten man dafür braucht, hängt sehr von der konkreten Tätigkeiten ab. Ich bastele zum Beispiel mehr Programmlogik und Benutzeroberflächen, ein Kollege bastelt lustige 3D-Sachen mit vielen putzigen Dreiecken. Informatik ist das beides, aber ich muss eben keine Vektorberechnung mehr können.

was muss man als softwareentwickler können

Um den Beruf zu lernen oder tatsächlich nachher im Beruf? Um den Beruf zu lernen, muss man gar nicht so viel können, wie die Leute immer glauben (und viele Softwareentwickler immer behaupten). Zum Beispiel, ich erwähnte es bereits, braucht man gar nicht so viel Mathematik, eigentlich fast gar keine, jedenfalls nicht unbedingt. Es gibt natürlich Bereiche, wo man sehr viel Mathematik braucht, weil da komplizierte Berechnungen gemacht werden, aber es gibt ausreichend viele Arbeitsfelder, wo das eben nicht so ist. Was man aber schon können sollte: Strukturiert und logisch denken, gelegentlich auch mal ein bisschen abstrakt. Insofern besteht da schon eine Verbindung zur Mathematik.

Eine gewisse Affinität zu technischen Sachen sollte auch da sein. Es ist für diesen Job wenig hilfreich, wenn man Computer prinzipiell doof findet. Aber auch da kommt es wieder darauf an, was man macht. Ich finde zum Beispiel, es gibt kaum etwas Nervtötenderes als einen WLAN-Router einzurichten. Ich empfinde dabei weder Freude noch Genugtuung, auch wenn das viele Leute immer glauben und mich dann fragen, ob ich ihnen nicht mal helfen kann. Meistens helfe ich dann auch, aber nur, weil ich nett bin und nicht, weil mir das Spaß macht oder ich wüsste, was ich da tue.

Was außerdem hilft, auch wenn einem das oft erstmal keiner sagt: Englischkenntnisse, die Fähigkeit, sich schriftlich irgendwie ausdrücken zu können (Dokumentationen! Bugreports! Team-Wiki!) und eine gewisse Bereitschaft, mit Nicht-Softwaremenschen über technische Dinge reden zu können und zwar so, dass die das auch verstehen. Das sind alles Fähigkeiten, die oft ein bisschen außer acht gelassen werden, weil man denkt, dass die Hauptsache ja ist, dass so ein Softwareentwickler gut programmieren kann.

arbeitstag softwareentwickler

Auch hier gibt es keine Pauschalantwort, also erzähle ich jetzt, wie es bei mir üblicherweise die letzten zehn Jahre so war. Wer jetzt “Aber bei mir ist das ganz anders!” sagt, der hat bestimmt recht, und darf gerne seine eigene Geschichte erzählen.

Um die Klischees zu bestätigen: Als Softwareentwickler sitzt man schon sehr oft vorm Rechner und tippert da irgendwelchen Code rein. Wenn die Hauptaufgabe ist, Software zu basteln, die vorher noch nicht da war oder Funktionalitäten reinzufummeln, die es noch nicht gab oder Bugs zu fixen, die die Nutzer kirre machen, dann besteht ein nicht zu vernachlässigender Teil dieser Aufgabe darin, Code zu schreiben, der nachher das tut, was er tun soll.

Was Softwareentwickler aber auch noch machen: In Meetings irgendwelche Sachen besprechen, mit Kollegen diskutieren, wie man irgendein Problem am besten löst, Lösungsansätze auf Papier zu kritzeln, Aufwände schätzen, Dokumentationen schreiben, Dinge erklären und vieles mehr. Manchmal darf man sogar mit auf Messen oder zu Kunden. Ich habe dazu bereits hier etwas geschrieben.

Was die Rahmenbedingungen angeht, so unterscheidet sich das nicht groß von anderen Bürojobs. Meine Wochenarbeitszeit betrug bislang immer irgendwas zwischn 37,5 und 40 Stunden, manchmal hatte ich Gleitzeit, manchmal nicht. Wochenendarbeit musste ich geschätzt ungefähr zwei bis drei Mal machen, und die Male, die ich bis spät abends im Büro bleiben musste, weil irgendwas dringend fertig werden musste, kann ich vermutlich auch noch an zwei Händen abzählen. Ich habe aber auch ganz klug immer nur In-House-Softwareentwicklung gemacht, also keine Kundenprojekte, oder wenn dann, irgendwelche Kundenprojekte, die intern so verhandelt wurden, dass man nicht auf einmal einen aufgebrachten Kunden am Telefon hatte.

Es ist also davon auszugehen, dass es genug Softwareentwickler gibt, die schlimme Geschichten von unbezahlten Überstunden und Kunden aus der Hölle erzählen können. Dass ich das nicht kann, beschränkt zwar mein Smalltalkrepertoire auf Stehpartys, macht mich aber insgesamt eventuell zu einem glücklicheren Menschen.

was kann man besser bei spiele firmen brauxhen fachinformatiker für systemintergration oder softwareentwicklung

Ich nehme an, du meinst nicht Softwareentwicklung, sondern Anwendungsentwicklung. Fachinformatiker Softwareentwicklung gibt es nicht.

Die Antwort lautet: Beides. Aber.

Nach meiner Erfahrung braucht man (jedenfalls in Softwarefirmen) tendenziell mehr Anwendungsentwickler als Systemintegratoren. Dafür muss man verstehen, was der Unterschied ist, und der ist so: Anwendungsentwickler programmieren. Die sitzen am Rechner und schreiben Code für Programme. (Es handelt sich hierbei übrigens um stark verkürzte Beschreibungen der Berufsprofile.) Systemintegratoren kümmern sich um die IT-Infrastruktur der Firma. Üblicherweise heißt das, dass sich die Systemintegratoren um die Hardware kümmern, ebenso um die Telefonanlage, das Firmennetzwerk, die Server und die Berechtigungen, die alle sowohl auf ihrer Hardware als auch für irgendwelchen Laufwerke bekommen dürfen. Der Systemintegrator ist dein Ansprechpartner, wenn du einen neuen Rechner brauchst, dein Passwort verschlampt hast, das Internet oder das Intranet kaputt ist, du Zugang zu einem Firmenlaufwerk brauchst oder sonst irgendwas.

Spielefirmen werden sowohl die Leute brauchen, die die Software (also die Spiele) programmieren, als auch die, die den Laden in Schwung und am Laufen halten. Überleg dir einfach, was du lieber machen möchtest, beide Berufe sind ausreichend zukunftstauglich.

Vor allem aber: Lass das mit der Spielefirma und such dir eine ordentliche Firma, bei der du mit ordentlichen und modernen Technologien arbeitest, nach 40 Stunden nach Hause gehen kannst, vernünftig bezahlt wirst und eine realistische Chance hast, weiterbildende Maßnahmen wie Schulungen und Konferenzen in Anspruch nehmen zu können. Das, was man da macht, klingt vielleicht weniger cool, ist aber wahrscheinlich genauso gut.

entwixkler oder tester was ist die bessere berufswahl

Bezogen auf was? Gehaltsmäßig sind Entwickler oft besser dran, aber das liegt daran, dass viele Firmen die Leistung von Testern grob falsch einschätzen und es soll sogar Firmen geben, die Tester besser bezahlen als Entwickler.

Softwareentwickler bauen Zeug. Sie sind eher konstruktiv und optimistisch, denn sie erschaffen neuen Kram und gehen irgendwie und vollkommen irrigerweise davon aus, dass das wohl insgesamt funktionieren wird, was sie da tun. Sie versuchen kretaiv, möglichst gute Lösungen für ein bestehendes Problem zu finden. Manchmal ist das Problem auch ein nicht existierendes, von dem Leute nur glauben, das es bestünde, aber das ist eine andere Geschichte.

Tester machen Zeug kaputt. Als Tester musst du eine tendenziell trollige destruktive Ader haben und pessimistisch davon ausgehen, dass das, was der Softwareentwickler da gebaut hat, auf keinen Fall ernsthaft funktionieren kann. Tester müssen möglichst kreativ möglichst viele Wege finden, um ein bestehendes Programm aus dem Konzept zu bringen.

(Diese Unterscheidung ist deutlich verkürzt und sehr plakativ. Die Wahrheit ist wie immer kompliziert. Ich habe auch hier schon mal etwas ausführlicher und auf Englisch über die Beziehung zwischen Entwicklern und Testern geschrieben.)

Beide Berufe sind toll, wenn man Spaß dabei hat. Außerdem spricht nichts dagegen, von einem zum anderen zu wechseln, wenn man merkt, dass einem das mehr liegt. (Und wenn irgendein Vollhonk kommt und meint, dass Entwickler ja schon insgesamt der schwierigere und anspruchsvollere Beruf ist, dann darf man ihn auslachen.)

sollte ein software tester komunikativ sein

Ja. Unbedingt. Überhaupt sollten nicht nur Softwaretester, sondern auch Softwareentwickler kommunikativ sein. Am besten dann auch die Designer, Business-Analysten und Produktmanager. Kommunikation hilft im Arbeitsalltag ungemein, um Missverständnisse zu vermeiden und Arbeit nicht doppelt oder gleich umsonst zu machen. Das Bild des unkommunikativen Softwaremenschen ist allgemein überschätzt und sollte öfter und explizit verachtet werden.

sind softwareentwickler immer am pc

Nein. Ich schrieb bereits weiter oben darüber. Manchmal sitzt man sogar in ganz schlimmen Meetings und wünscht sich nichts sehnlicher, als zurück an den Rechner zu können. Wenn man aber auch sonst gar nicht so gerne am PC sitzt, ist der Beruf wohl nichts für einen.

zu dumm für software entwicklung

Ach was. Unfug. Hast du’s schon mal versucht? Und wenn ja, wo ist das Problem?

softwareentwickler verzweifelt

Das passiert auch manchmal. Aber das gibt es ja in jedem Beruf, von sowas darf man sich nicht langfristig irritieren lassen.

7 comments

  1. Ermel

    Ergänzend zu den Berufen: Ich hab in einem früheren Leben, so Mitte der 90er, nach abgebrochenem Informatikstudium meinen “Staatl. gepr. Informatikassistenten Fachrichtung Softwaretechnologie” gemacht und war sowohl mit der (zweijährigen, eher schulartigen) Ausbildung als auch mit dem damit bekommenen Datenbankentwickler-Job recht zufrieden.

  2. Chriss

    Hi,

    ich habe sowohl eine Ausbildung zum Fachinformatiker, Fachrichtung Anwendungsentwicklung, als auch ein FH-Studium der (Telekommunikations)informatik hinter mir, und mich hat es vor ~8 Jahren in die Tester-Ecke verschlagen, und dort bin ich auch geblieben und fühle mich dort wohl.
    Seit ein paar Jahren bin ich mehr und mehr im agilen Umfeld unterwegs, und möchte ein paar Dinge die Du über Tester und das Testen geschrieben hast auch von meinem Standpunkt aus darstellen bzw. meinen Senf dazu abgeben:
    Auch Tester sind kreativ & konstruktiv. In vielen Softwareentwicklungsprojekten ist es nicht mehr die einzige Aufgabe des Testers das, was die Programmierer gecodet haben, auf mögliche Fehler hin abzuklopfen, sondern von Beginn an dabei zu helfen Fehler von Anfang an zu vermeiden. Das verlangt eine enge Zusammenarbeit mit allen am Projekt beteiligten: Analysten, Projekt Managern/ Ownern, Programmierern, und beinhaltet z.B. die Mitarbeit an Requirements, das gemeinsame erarbeiten von Akzeptanz Kriterien bis hin zum gemeinsamen pairen mit Entwicklern während der Programmierung von Features. In diesem Sinne sind auch Tester “Entwickler”: Sie helfen mit, das Produkt zu entwickeln; die Leute die den Code produzieren bezeichne ich in dem Zusammenhang gerne als “Programmierer”.
    Ich stimme Dir zu, dass eine gewisse destruktive Ader beim Testen sicherlich sehr sehr hilfreich sein kann, aber es geht nicht um “Dinge kaputt machen”, sondern darum Fehler zu finden, und das möglichst bevor der Kunde/ User sie gefunden hat. Es geht auch nicht darum, Fehler in der Arbeit der Programmierer zu finden und dann mit dem ausgestreckten Zeigefinger auf sie zu zeigen, sondern gemeinsam ein besseres Produkt zu entwickeln.
    In Projekten wo man glaubt das “Tester Zeug kaputt” machen, ist man leider oft nicht weit von diesem “finger pointing” entfernt, und das führt nur all zu oft zu einer “die gegen uns”-Mentalität zwischen Programmierern und Testern. (Und dazu noch eine augenzwinkernde Anmerkung: Nicht die Tester machen das Zeug kaputt, die Programmierer haben es kaputt gebaut, und die Tester finden das dann raus. Quasi “Don´t shoot the messenger”. Deshalb sind Tester auch nicht “für die Qualität verantwortlich”).

    Ansonsten: Toller Post, und auch dem was Du über uns Tester sagst kann ich größtenteils nur zustimmen! :-)

  3. Pingback: Ach komm, geh wech: SoftwareentwicklerInnen | nullenundeinsenschubser

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>