Warum sollte man in seinem Unternehmen einen Programmierer fest anstellen, wenn freiberufliche Programmierer die selbe Arbeit günstiger verrichten können?
“Günstiger” - was ist das?
Wenn ich die Stundensätze für externe Softwareentwickler anschaue, lande ich derzeit gerne bei 85 Euro. Multipliziere ich das mit 8*220 Tagen für ein Jahr, bekomme ich knapp 150.000 Euro. Auch mit Lohnnebenkosten wirst Du nicht viele fest angestellte Softwareentwickler finden, die das als Gehalt bekommen.
Das liegt bei vielleicht der Hälfte.
Das heißt, ich kann einen Entwickler intern beschäftigen und muss ihn nur zu mindestens 50% auslasten, um pro Stunde gerechnet besser da zu stehen.
Es gibt aber noch zahlreiche andere Aspekte, die das “günstiger” beeinflussen:
Interne Kräfte sind für eine Weiterentwicklung eines bestehenden Systems bereits eingearbeitet.
Interne Kräfte kennen oft nur eine Firma, zumindest in den letzten paar Jahren. Das heißt, neue Technologien und Paradigmen lernen sie typischerweise langsamer kennen und beharren (“Das haben wir schon immer so gemacht!”) auf den altbewährten Technologien. Dafür *kennen* sie diese eine Firma aber eben auch - inklusive der firmenspezifischen Abläufe, bestimmte Dinge zu erreichen.
Externe Kräfte sind nicht mit diesen Scheuklappen ausgestattet, die interne Entwickler oft haben - schlicht weil sie immer wieder neue Projekte mit anderen Leuten kennen lernen.
Für spezialisierte Aufgaben kann ich mir spezialisierte externe Experten holen. Interne Leute muss ich - vielleicht für einen begrenzten Zeitraum - erstmal mit dem Spezialwissen ausstatten. Das kostet Zeit und Geld.
Externe Kräfte - zumindest die guten - sind meist recht gut ausgelastet. Das heißt, die zu bildenden Rücklagen für Krankheit und Auftragslosigkeit beschränken sich letztlich oft auf die für Krankheit. Dieses Plus stecken gute Leute gerne in die eigene Tasche und nicht in die ihres Arbeitgebers. Sprich: gute Leute sind vermehrt als Freelancer unterwegs. (Das heißt nicht, dass alle Freelancer gut sind oder das alle Guten Freelancer sind - es geht um die Tendenz…)
Schließe ich einen Werksvertrag ab (und rechne nicht nach Time and Material ab), dann geht das Risiko der Schätzung der benötigten Entwicklungszeit auf den externen Entwickler über. Als Unternehmen kann ich genauer kalkulieren - wenn es länger dauert ist das Pech für den Auftragnehmer, geht es schneller, ist es sein Glück. Aber ich konnte genauer kalkulieren, das ist in sich schon viel Wert.
Das sind alles leicht nachvollziehbare Gründe. Es gibt allerdings noch die nicht wirklich nachvollziehbaren BWL- oder rechtlich getriebenen Gründe:
OPEX vs. CAPEX (Operational Expenses vs. Capital Expenses): Für die Bilanz insbesondere eines börsennotierten Unternehmens sind betriebliche Ausgaben (OPEX) schlecht und Investitionen (CAPEX) gut. Weil: betriebliche Ausgaben kosten Geld und das Geld ist dann in der Bilanz verloren, Investitionen kosten zwar auch Geld, mehren aber den Wert der Firma und werden dann erst über mehrere Jahre abgeschrieben und verlieren dabei ihren Wert.
Interne Mitarbeiter sind zunächst erstmal OPEX. Das gilt auch für interne Entwickler. Die von diesen internen Entwicklern geschaffenen Werte (= die entwickelte Software) mehrt als CAPEX schon den Wert des Unternehmens. Buchhalter tun sich aber ggf. schwer, interne Entwicklung als CAPEX zu verbuchen. Bei externen Entwicklern, insbesondere bei Werksverträgen, ist das deutlich einfacher. Man kauft ein Stück Software, nicht die Manpower, das zu erstellen.
Als nicht-BWLer ist das kaum nachvollziehbar: es kostet erstmal das gleiche Geld, am Schluss ist Software vorhanden, die ein paar Jahre genutzt werden kann. Die steuerlichen Aspekte der über diese Jahre gestreckten Abschreibung verschieben das Ganze nur ein wenig, bei hinreichend großen Unternehmen nivelliert sich das längerfristig aus. Und im Zweifelsfall kann ich auch eine interne Entwicklung als CAPEX bilanzieren. Trotzdem ist das oft ein Thema.
Es könnte ja sein, dass ich meine internen Entwickler nächstes Jahr nicht mehr brauche. Weil ich nicht mehr selber entwickeln möchte. Weil ich nach Indien outsourcen möchte. Weil darum. Und dann sind externe Entwickler leichter loszuwerden. (Das verkennt, dass Offshoring nach Indien oder anderen Ländern zwar den Stundensatz drückt, aber die Zahl der benötigten Stunden steigen lässt. Und das verkennt, dass es bei hinreichend großen Unternehmen einen deutlichen Grundbedarf an Softwareentwicklern gibt, also keine permanenten Bedarfsspitzen - was schon begrifflich widersprüchlich scheint.)
Ich muss als Firma sehr aufpassen, dass externe Entwickler nicht über die Mechanismen der Scheinselbständigkeit zu internen Entwicklern werden. Das kann aufgrund rechtlicher Dinge passieren (wenn ich die Externen zu sehr in die internen Abläufe einbinde und die Sozialversicherungen das bemerken), es kann auch aufgrund anderer Umstände passieren: ich kann oder will den externen nicht mehr beauftragen und der geht vor Gericht und setzt - weil er etwa 5-10 Jahre lang im selben Umfeld wie ein interner eingesetzt war - durch, dass er eingestellt werden muss. Und ggf. sogar einen internen verdrängt.
In beiden Fällen drohen Nachzahlungen bei den Sozialversicherungen durch den Auftraggeber.
Uli