DevSkiller-LogoTalentBoost-LogoTalentScore Logo

8 Eigenschaften, die ein guter Softwareentwickler haben muss

Veröffentlicht: Zuletzt aktualisiert:
10 Entwicklerstärken von super erfolgreichen Ingenieuren

Als ich DevSkiller vor sieben Jahren gegründet habe, war es das Ziel meines Teams, Unternehmen dabei zu helfen, großartige Entwickler zu finden. Seitdem hatte ich die Gelegenheit, mit Fortune-500-Unternehmen, aber auch mit kleineren Unternehmen weltweit zu arbeiten. Ich habe mit technischen Leuten wie CTOs, IT-Managern, Teamleitern, Teammitgliedern und Personalverantwortlichen gesprochen. All diese Leute waren dafür verantwortlich, Top-Talente im technischen Bereich zu finden und einzustellen. Sie waren alle mit einem universellen Problem konfrontiert: wie man gute Programmierer einstellt. Sie waren auch nach den gleichen Entwickler Stärken jagen.

Es beginnt alles mit einen guten Entwickler zu erkennen, wenn Sie einen sehen. Damit sind wir bei der entscheidenden Frage angelangt: Was sind die wichtigsten Stärken der Entwickler? Es hat viele Diskussionen zu diesem Thema gegeben. Ich empfehle Ihnen, dies zu lesen Quora-Thread. Es ist vollgepackt mit Einblicken von einigen ernsthaften Vordenkern der Branche.

Basierend auf unseren eigenen Erfahrungen, hunderten von Gesprächen und zig Pivots auf unserem Weg, sollten wir uns in die Diskussion einbringen. Wir haben uns etwas einfallen lassen eine Liste der wichtigsten Eigenschaften eines Software-Ingenieurs.

Qualitäten eines Softwareentwicklers

1. Neugierde

Neugierde ist bei großen und großzügigen Geistern die erste Leidenschaft und die letzte", sagte Samuel Johnson. Das gilt auch, wenn man die Qualitäten eines guten Programmierers (und ihrer großen und großzügigen Geister) betrachtet. Lassen Sie uns nach einer zeitgenössischeren Referenz suchen, die Johnsons Sichtweise weiterentwickelt. Dan Pupius sagt, dass "Neugier das ganze Leben eines Ingenieurs wichtig ist". Sie treibt einen an neue Sprachen lernen, experimentieren und nach neuen Lösungen suchen. Das ist genau das, was man sich von einem Ingenieur wünscht. Es treibt Sie auch an Untersuchen Sie die architektonischen Entscheidungen anderersowie Frage Annahmen. Pupius behauptet, dass viele Qualitäten, die man normalerweise mit großer Ingenieurskunst verbindet, "von einem reichen Sinn für Neugier herrühren".

John Allspaw, Chief Technology Officer bei Etsy, macht einen guten Punkt in seinem Beitrag "Über das Leben als leitender Ingenieur". Er sagt, dass Erstklassige Entwickler sind wissbegierig. Sie neigen dazu, sich selbst und ihren Kollegen Fragen zu stellen, während sie arbeiten.

  • "Was könnte ich verpassen?"
  • "Wie soll das nicht funktionieren?"
  • "Würden Sie bitte so viele Löcher wie möglich in mein Denken über diese Sache schießen?"
  • "Selbst wenn es technisch einwandfrei ist, ist es für den Rest der Organisation verständlich genug, um es zu bedienen, Fehler zu beheben und zu erweitern?"

Ich könnte nicht mehr zustimmen. Auf den ersten Blick mag es scheinen, dass diese Fragen von einem Serienpessimisten gestellt werden. Das ist eigentlich nicht der Fall. Sie werden von einem wissbegierigen Menschen gestellt, der leidenschaftlich gerne schreibt. elegante und selbstkonsistente Systeme. Verwechseln Sie Gründlichkeit nicht mit einer "Wir sind alle dem Untergang geweiht"-Haltung.

Entwickler Stärken Neugier das Ende ist nah Zeichen

Quelle: Kampagne Brief

2. Technische Fähigkeiten

Rahul Varshneyasagt, dass "Bildende Kunst und Programmierung sind sich ähnlich dass große technische Fähigkeiten keinen großen Künstler oder Programmierer ausmachen". Großartigkeit entsteht nicht allein durch technische Fähigkeiten. Sie können jedoch keine außergewöhnlichen Ergebnisse von Leuten erwarten, die nicht die richtigen Fähigkeiten für den Job haben. Sie sollten Fähigkeiten als eines der Elemente des Puzzles betrachten, das isoliert nicht viel ausrichten kann. Sie können jedoch Wunder bewirken, wenn sie von anderen Stärken des Entwicklers begleitet werden. Glücklicherweise ist das Vorhandensein der wichtigsten Stärken und Qualitäten eines Softwareentwicklers super einfach zu überprüfen mit Kodierungstests.

Denken Sie daran, dass das Wissen über technische Details wichtig ist. Aber: Wenn Sie auf einen vielversprechenden Kandidaten stoßen, der alle Stärken eines Entwicklers aufweist, aber noch lernt, sollten Sie in Betracht ziehen, ihn für eine Junior-Position einzustellen. Sie werden überrascht sein, wie weit sie gehen können.

Geschwindigkeit und Produktivität

A Sackman, Erikson und Grant studieren entdeckte einen 10-fachen Unterschied in der Produktivität zwischen Programmierern. Die Forschung ist allerdings nicht ohne Fehler. Es gibt keine "Kontrolle für Unterschiede in den individuellen Fähigkeiten". Sie kombiniert auch Ergebnisse von Benutzern, die in Low-Level- und High-Level-Programmiersprachen arbeiten.

entwickler stärken forschung 1960s produktivität chart

Bildquelle: Construx.de

Steve McConnell argumentiert, dass die verfügbare Forschung zu diesem Thema zu diesem Thema ist nicht frei von Einschränkungen. Es ist nicht schlüssig, aber definitiv suggestiv ist. Und genau so sollten Sie es auch sehen.

Die Gehälter spiegeln dies oft nicht wider Größenordnungen von Unterschieden zwischen Entwicklern. Gibt es eine Möglichkeit, die Produktivität von Entwicklern zu messen und sollte man das überhaupt versuchen?

Leider hat sich die Messung der Entwicklerproduktivität bisher entzogen. Wir wissen, dass Codezeilen (SLOC, oder Source Lines of Code) kein Maß sind, das gleichbedeutend mit dem Wert des Entwicklers ist. In der Tat ist weniger mehr in der Welt des Codes (solange er in sich konsistent und voll funktionsfähig ist). Laut Phil Haackund bietet prägnanter, wartbarer und verständlicher Code ist dem schnellen Stanzen von Codevolumen überlegen. Warum? Denken Sie daran, was passiert, wenn Sie neue Funktionen oder Updates hinzufügen wollen. Es dauert in der Regel Stunden, brüchigen Code zu entschlüsseln und zu flicken. Das kommt typischerweise auch mit einem happigen Preisschild daher. Lassen Sie es mich so formulieren: was Sie bei einem schnellen, aber nachlässigen Entwickler sparen, geben Sie am Ende für das QA-Team aus.

dilbert cartoon mit entwickler stärken witz

Quelle: Dilbert

Wenn Sie sich für die Produktivität in der IT interessieren, lesen Sie "Der Mythos der Entwicklerproduktivität" von Dustin Barnes.

Awareness

Paul Haack sagt, dass beste Entwickler wissen, wann man codiert und wann nicht. Er argumentiert, dass das Neuerfinden des Rades das Projekt unnötig belastet. Verwenden Sie stattdessen vorhandene Bibliotheken, um Zeit zu sparen. Klingt logisch, nicht wahr? Alles von Grund auf neu zu machen, ist allerdings immer noch einer der größten Zeitdiebe.

Awareness auch manifestiert sich durch die Risikotoleranzschwelle. Das ist entscheidend, denn oft müssen Sie Live-Systeme refaktorisieren. Da können Dinge schief gehen. Das Risiko realistisch einschätzen zu können, ohne dass einem das Ego in die Quere kommt, ist definitiv eine der wichtigsten Stärken und Qualitäten eines Softwareingenieurs.

3. Intuition

Varshneya argumentiert, dass manche Entwickler nur mühsam auf eine Lösung kommen, während es für andere ganz natürlich ist. Es ist, "als ob eine Erleuchtung sie in dem Moment trifft, in dem sie sich hinsetzen, um Programme zu erstellen oder ein Problem zu lösen."

doge meme sehr aufschlussreich Entwickler Stärken Witz

Tolle Software-Entwickler Algorithmen und Architekturen intuitiv zu verstehen. Diese Fähigkeit erlaubt es ihnen, schnell zu lernen, was uns zur nächsten Eigenschaft bringt.

4. Liebe zum Lernen

Laut John Krystynak, "echtes Engagement für kontinuierliches Lernen" ist eine der Stärken der Entwickler. "Man muss die grundlegende Praxis lieben, vom Nicht-Wissen zum Wissen zu gehen, jeden einzelnen Tag", sonst wird man nicht gut darin sein.

Das gilt besonders in der Welt der IT. Es ist zwar nützlich, seine eigene Art zu haben, Dinge zu tun, aber es ist wichtig, dass Sie sich aus dem herauswagen, was Sie kennen. Finden Sie schnellere Wege, um Dinge zu erledigen. Einer der Wege, das zu tun, ist durch Auffällige Muster und Schlussfolgerungen ziehen.

Es gibt sehr viele Möglichkeiten, sich zu entwickeln, wenn man ein guter Entwickler ist (Wortspiel beabsichtigt).

  • Die Teilnahme an Branchenveranstaltungen, wie Konferenzen und Hackathons. Thomas So von AppLovin nennt sie Berufsvorbereitungstraining.
  • Einen Mentor finden.
  • Arbeiten an einem Nebenprojekt.
  • Bitten Sie um Feedback von Kollegen.

5. Anpassungsfähigkeit

Die IT-Welt verändert sich schnell und als guter Entwickler müssen Sie anpassungsfähig bleiben. Es ist eine sichere Wette, Leute einzustellen, die immer auf der Suche nach neuen Tools und Wege, Dinge zu tun. Sie sind oft Industrienachrichten verfolgen und einfach sich für das Handwerk interessieren.

Je mehr Sie wissen, auch außerhalb Ihrer bevorzugten Technologie, desto mehr sind Sie eine Bereicherung sowohl für Ihr Team als auch für die gesamte Organisation. Als Marius Mazilu behauptet, "die Technologievielfalt ist mittlerweile so weit verbreitet, dass es nicht unbedingt ein garantierter Erfolgsweg ist, ein Spezialist für eine bestimmte Technologie zu sein." Mazilu glaubt, dass es entscheidend ist, vielseitiger zu sein. Das liegt daran, dass ausgereifte Technologien stabiler sind und nicht mithalten können. Das bedeutet, dass die eigenen Fähigkeiten schnell veraltet sind. Andererseits erfordern neuartige Frameworks typischerweise eine massive Zeitinvestition, weil sie instabil sind. Wie er argumentiert, "können Sie schockiert sein, wenn Sie eines Tages feststellen, dass sie Sie nicht zurück lieben".

Mazilu hat 7 einfache Regeln sollten Sie folgen, um mit der Technologie Schritt zu halten.

  1. Vertrauen Sie Ihrem Bauchgefühl.
  2. Gehen Sie immer zurück zu den Grundlagen.
  3. Achten Sie auf die Silberkugeln. Dazu gehören gut vermarktete Technologien, die weit verbreitet sind, weil sie nicht zum Projekt passen.
  4. Lernen Sie zu debuggen.
  5. Lernen Sie ein Skript.
  6. Seien Sie nicht besessen davon, wie Ihr Code aussieht.
  7. Gehen Sie mit der Menge.

6. Eine positive Einstellung

Eine positive Einstellung ist eine der wichtigsten Eigenschaften eines guten Softwareentwicklers. Eine der Qualitäten eines guten Programmierers ist, dass er tagein, tagaus Probleme löst, aber das bedeutet nicht, dass er bei ihnen verweilen. Eine "getting sh*t done"-Einstellung ist dringend erforderlich, auch weil sich Aufgaben und Tickets oft stapeln. Es ist wichtig zu entscheiden, wann es an der Zeit ist, eine Lösung, die gut genug ist, zur Tür hinaus zu schieben und mit der nächsten Sache auf der Liste weiterzumachen. Der Vorbehalt hier wäre, Ihre Entwickler nicht mit mehr Aufgaben zu überfluten, als sie bewältigen können und die Dinge realistisch zu halten.

Damien Filiatrault setzt "positive Einstellung" an die Spitze seiner Liste der wesentlichen Eigenschaften, die gute Entwickler besitzen. Er sagt, Sie können das Wasser testen und ein paar scheinbar einfache Fragen in der Art von "Small Talk" stellen, um zu sehen, ob sich die Antworten auf das Positive oder Negative konzentrieren. Diese Fragen beinhalten:

  • "Halten Sie sich für glücklich? (eingebildet oder bescheiden).
  • Wie war Ihr Weg zum Vorstellungsgespräch? (Jammern oder keine Sorgen)".

7. Umarmung von Mentorenschaft

John Krystynak sagt, dass "große Programmierer nicht in der Isolation groß werden". Ich begrüße es, dass er das sagt. Einer der Gründe, warum das Mentorenmodell in der IT so gut funktioniert, ist, dass einige gute Entwickler lernen am effizientesten durch Lehre. Es braucht einfach weniger Zeit, Dinge herauszufinden, wenn man einem erfahreneren Kollegen bei der Arbeit zusehen kann. Ein weiterer Grund, warum Top-Techniker für Mentorenschaft plädieren, ist, dass Sie dabei sowohl Ihre Stärken als auch Ihre Schwächen offenlegen müssen. Dies lehrt Sie viel über Ihr Ego im Zaum halten.

Eines der besten Dinge, die Sie als Arbeitgeber tun können, um diese Art von Einstellung in Ihrer Organisation zu fördern, ist, dass Sie erfahrene Programmierer mit Erstsemestern paaren. Sie könnten denken, dass dies höchstwahrscheinlich eine Belastung für den Mentor darstellt, der ohnehin schon mehr als beschäftigt ist. Bedenken Sie, dass sowohl der der Mentee und der Mentor lernen aus dieser Vereinbarung. Wenn Sie Ihrem Mentee etwas nicht erklären können, bedeutet das, dass Sie es nicht wirklich gut genug verstehen. Oder Sie können es nicht gut genug kommunizieren. Das bedeutet, dass es in dieser Beziehung Lernmöglichkeiten für beide Parteien gibt.

8. Kommunikationsfähigkeit

Damien Filiatrault stellt fest, dass "gute Kommunikationsfähigkeiten korrelieren direkt mit guten Entwicklungsfähigkeiten." Hier ist der Grund..:

  • Sie müssen wissen, welche Fragen Sie stellen müssen, wenn Sie etwas nicht verstehen oder noch einmal nachfragen müssen.
  • Es ist möglich, Dinge aufgrund der Kommunikation mit Kollegen herauszufinden. Das bedeutet müssen Sie sich nicht auf schriftliche Spezifikationen verlassen.
  • Konzepte werden schnell verstanden und kommuniziert in einem Team von erfolgreichen Entwicklern.
  • Eine der Qualitäten eines guten Programmierers ist, dass er überzeugend mit technischem und nicht-technischem Personal kommunizieren.

Stärken des Entwicklers: Fazit

Es wird immer schwieriger, exzellente Programmierer zu finden. Die Tech-Industrie durchläuft eine Talentknappheitssituation. Das bedeutet, dass wir mehr Entwickler brauchen, als wir überhaupt finden können, und Unternehmen sind die alles daran setzen, Top-Talente aus der Technologiebranche anzuziehen.

google ad ad adressiert wichtige Stärken der Entwickler

Die Stärken von Entwicklern zu identifizieren, die für das Wachstum Ihres Unternehmens entscheidend sind, ist ein Muss. Aber seien Sie schnell! Wenn Sie auf einen vielversprechenden Kandidaten stoßen, handeln Sie schnell. In der Situation der Knappheit kämpfen die Recruiter um die gleichen Kandidaten.

Was sind die wichtigsten Stärken der Entwickler? Wir freuen uns auf Ihre Gedanken!

Anmerkung des Herausgebers: Dieser Beitrag wurde ursprünglich im April 2017 veröffentlicht und wurde für Genauigkeit und Vollständigkeit aktualisiert.

Beitrag teilen

Es ist mehr als nur ein Newsletter

Erhalten Sie nützliche Einblicke direkt in Ihren Posteingang und erfahren Sie mehr über die Einstellung von Technikern.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.