Für die digitale Umsetzung eines Projektes in eine Software sind gute und motivierte
Softwareentwickler das Um und Auf in einem Unternehmen. Dabei sollte die „Qualität“ eines
Programmierers auch noch sehr gut sein, damit er eigenverantwortlich Source Code für ein
Projekt entwickeln kann.
Die Frage ist also, was macht eigentlich einen guten Softwareentwickler aus?
Über diese Frage haben wir bei X-WORKS schon mehr als einmal nachgedacht und darüber diskutiert,
welche Kriterien wir für einen Programmierer als wichtig erachten. Denn nur die Fähigkeit Source
Code zu schreiben ist aus unserer Sicht nicht ausreichend. Zur Jobdescription eines guten
Programmierers gehören verschiedene Skills:
-
Gute Programmierkenntnisse: auf alle Fälle ist das die Basis für einen
Programmierer, denn
die Entwicklung von Software ist seine Kernkompetenz. Doch allein schon das Erkennen, ob
ein Programmierer sein Handwerk versteht, ist auf den ersten Blick nicht so einfach. Wie
soll man also beim Bewerbungsgespräch herausfinden, ob der Kandidat wirklich programmieren
kann, oder einem nur das Blaue vom Himmel erzählt?
Wir bei X-WORKS haben uns auf eine Reihe von Standardfragen zum Thema Programmierkenntnisse
festgelegt. Mit diesen Fragen versuchen wir im Gespräch die Erfahrungen und Kenntnisse des
Bewerbers möglichst greifbar und vergleichbar mit anderen Kandidaten zu machen. Dazu zählen
spezielle Technologien innerhalb der C# Programmiersprache. Je nach Skills des Bewerbers,
erhalten wir so die notwendigen Infos, um uns ein Bild von ihm machen zu können.
-
Gute analytische Fähigkeiten: das Durchdenken von komplexen Aufgabenstellungen und das
Erkennen der kritischen Punkte in einer Aufgabe sind eine weitere wichtige Fähigkeit.
Denn mit fortschreitender Teamgröße sind nicht nur reine Programmierer notwendig, sondern
es braucht dann auch Mitarbeiter, die umfangreichere Punkte in kleinere Teile zerlegen
können. Dazu muss die gesamte Aufgabenstellung verstanden werden und mittels Analyse in
Einheiten zerlegt werden, die dann Schritt für Schritt programmiert werden können. Diese
kleinen Einheiten können dann auch parallel im Team entwickelt und getestet werden.
Damit die Analyse gelingen kann, ist eine entsprechend lange Programmiererfahrung erforderlich.
Besonders hilfreich ist, wenn ähnliche Aufgabenstellungen in anderen Projekten bereits
erfolgreich gelöst wurden. Dann können Lösungswege schnell erfasst und Vor- und Nachteile
antizipiert werden.
-
Hohes Verständnis von Abläufen und Prozessen: die Aufgabenstellungen bei X-WORKS inkludieren
in der Regel die Umsetzung von technischen Prozessen oder wirtschaftlichen Abläufen in einem
Unternehmen. Damit ein Softwareentwickler diese Aufgabenstellungen lösen kann, ist uns immer
ein gewisser technischer oder wirtschaftlicher Hintergrund wichtig. Denn Software steht nie
für sich allein, Software deckt in einem bestimmten Kontext eine konkrete Anforderung ab.
Für die rasche und fehlerfreie Umsetzung soll ein Programmierer auch mit den Abläufen vertraut sein.
-
Vorausschauendes Arbeiten: da Programmiertasks nicht für sich selbst stehen, sondern im Rahmen
der Entwicklung in andere Tasks eingebettet oder von anderen Tasks abhängig sind, ist ein
gewisses Maß an Weitblick unumgänglich. Eine Teilaufgabe ist in der Regel in einen größeren
Kontext eingebunden. Wenn ein Programmierer den zugrundeliegenden Kontext kennt und versteht,
können Designentscheidungen klarer und besser getroffen werden. Außerdem ist ihm damit auch
der Projektablauf sowie die Details zu Aufgabenstellungen besser verständlich. Durch
vorausschauendes Arbeiten und Denken, reduziert sich unserer Erfahrung nach, das Risiko
eines Projektes erheblich.
-
Teamfähigkeit: ist sehr wichtig in größeren Projekten oder wenn du dabei bist ein neues
Programmierteam aufzustellen, dann sollten Programmierer keine Einzelkämpfer sein, sondern
im Rahmen eines Teams agieren können. Der Mythos vom Programmierer als Einzelkämpfer ist schon
lange vorbei, denn heutzutage wird Software meist in einem SCRUM Team entwickelt. In einem
SCRUM Team gibt es definierte Rollen mit ihren Kompetenzen. Damit das Team erfolgreich agieren
kann, müssen sich die Teammitglieder ihrer Rolle bewusst sein und im Sinne der Rolle agieren.
Damit du gute Programmierer für dein Unternehmen findest, solltest du dir über die gesuchten Fähigkeiten
für bewusst sein und ev. für dein konkretes Projekt noch etwas nachschärfern. Einen guten Programmierer
finden kannst du, indem du deine Kriterien definiert hast und dir über die folgenden Rahmenbedingungen
für gute Programmierer Gedanken machst:
Gute Softwareentwickler finden
Wie und wo findest du gute Programmierer, und zwar am besten gleich jene guten Programmierer, die mit
der notwendigen Ausbildung und einigen Jahren an Berufserfahrung zu dir ins Unternehmen kommen können.
Du kannst zwar auch einen guten Programmierer finden, der direkt nach der Schul- oder Universitätsausbildung
zu dir ins Unternehmen kommt, aber in diesem Fall musst du einiges an Zeit und Geduld aufbringen,
um daraus einen für dich passenden und guten Programmierer zu "formen".
Gute Programmierer finden
Die Kriterien für einen guten Softwareentwickler umfassen eine Reihe an Anforderungen. Wo man
allerdings jetzt einen guten Softwareentwickler finden kann, ist gleich die nächste spannende
Herausforderung.
Bei vielen Firmen bewegt sich der Leidensdruck einen guten Programmierer zu finden von hoch bis
unlösbar. Wie in den meisten Unternehmen ist es wahrscheinlich auch bei dir so, dass du aktuell
vor dem Problem stehst, ein Digitalisierungsprojekt umzusetzen. Und du vielleicht noch überlegst,
ob du dir selbst Programmierer einstellst oder ob du das Projekt zu einer bewährten Firma mit
guten Referenzen gibst.
Beide Varianten haben gewisse Pluspunkte. Wenn du selbst gute Programmierer finden willst,
ist es wichtig die passenden Rahmenbedingungen dafür zu schaffen. Und damit ist nicht unbedingt
der ausgestattete Arbeitsplatz oder das moderne klimatisierte Büro gemeint.
Zu den Rahmenbedingungen gehören konkret diese Überlegungen:
-
Welche Programmiersprache setze ich ein?
-
Sollen alle Projekte in der gleichen Sprache entwickelt werden oder sollen mehrere Sprachen zum Einsatz kommen?
-
Welchen Technologiestack setze ich ein?
-
Wo wird der Source Code abgelegt?
-
Wer verfasst die funktionalen Anforderungen?
-
Will ich mit Pull Requests arbeiten und wer soll diese kontrollieren?
-
Auf welcher Plattform werden die Programmieraufgaben funktional niedergeschrieben?
-
Wer wird die Funktion kontrollieren, bevor sie ausgerollt wird?
-
Wie wird der Rollout möglichst automatisch durchgeführt?
-
Will ich Clean Code einsetzen oder gibt es Vorgaben in Richtung Code Gestaltung?
Diese Fragen waren nur ein paar Überlegungen und Anregungen, wenn du überlegst, selbst einen
Programmierer einzustellen. Die Fragen und mehr werden dir früher oder später schlaflose Nächte
bereiten. Denn um gute Programmierer in dein Unternehmen zu holen, musst du diese Fragen
nachhaltige und sauber gelöst haben.
Was muss ich beachten, wenn ich Software selbst im Unternehmen entwickeln möchte?
Wenn du den Weg gehen willst, Software selbst im Unternehmen zu entwickeln, dann solltest du die
Fragen lösen und zu Beginn einen sehr guten Programmierer einstellen. Dieser erste gute
Programmierer kann dir helfen die Basisstruktur deiner Software von Beginn an sauber aufzusetzen.
Allerdings erwarten sie sich dann auch berufliche Perspektiven. Damit ist gemeint, dass es zwar
eine Zeitlang interessant ist ein neues Softwareprojekt zu entwickeln, das aber ein einzelner
Programmierer sehr schnell gelangweilt sein wird, weil er sich keine berufliche Perspektive
in deinem Unternehmen sieht. Wenn du es also ernst meinst mit einem eigenen Softwareteam,
dann sollte das genau so gut überlegt und geplant sein, wie die Kernaufgabe deines Unternehmens selbst.
Wieso es besser ist, Software bei einer Firma entwickeln zu lassen?
Wir bei X-WORKS haben alle diese Fragen gelöst, exakt definiert und in digitale Workflows gepackt.
Wir können bei einem neuen Projekt vom ersten Tag an produktiv arbeiten und Value für dein Projekt
erzeugen. Wenn du dir selbst einen Programmierer einstellst und Software entwickeln möchtest,
musst du damit rechnen, dass in etwa ein halbes Jahr vergehen wird, bis deine Prozesse klar und
definiert sind und jeder weiß, für welche Aufgaben er zuständig ist.
Genau in dieser Zeit kann dir eine Softwarefirma dein Projekt vielleicht schon fertigstellen
oder zumindest einen großen Teil davon. Wir raten dir nicht davon ab, selbst ein Programmierteam
aufzubauen, aber zumindest in Erwägung zu ziehen, ob es sich für dein Vorhaben tatsächlich lohnt.