Java >> Java Tutorial >  >> Tag >> import

Drei Gründe, warum menschliche Fähigkeiten für Softwareentwickler wichtig sind

Es ist leicht zu glauben, dass ein guter Softwareentwickler nur technische Fähigkeiten erfordert. Schließlich verbringen Softwareentwickler einen Großteil ihrer Zeit damit, Software zu entwerfen und Code zu schreiben. Es ist klar, dass technische Fähigkeiten wichtig sind.

Aber wenn Sie Software zum Leben schreiben wollen, müssen Sie in der Lage sein, mit anderen Menschen zusammenzuarbeiten. Dazu gehören Ihre Teammitglieder, andere Kollegen und Ihre Kunden. Um die Sache interessanter zu machen, hat jeder dieser Leute unterschiedliche Erwartungen an Sie.

Als ich anfing, Software Engineering zu studieren, war mir das nicht bewusst. Ich denke, das ist ein ziemlich häufiger Fehler, aber das Problem ist, dass es Ihrem Ruf (und Ihrer Karriere) ernsthaft schaden kann. Als ich meinen ersten Programmierjob bekam, wurde mir klar, dass menschliche Fähigkeiten für jeden Softwareentwickler von wesentlicher Bedeutung sind.

Also, was sind menschliche Fähigkeiten? Eine Definition des Begriffs menschliche Fähigkeiten besagt, dass

Menschliche Fähigkeiten sind die Fähigkeit, effektiv mit anderen Menschen sowohl einzeln als auch in der Gruppe zusammenzuarbeiten, um bestimmte Ziele zu erreichen.

Lassen Sie uns herausfinden, warum gute menschliche Fähigkeiten wichtig sind.

1. Menschliche Fähigkeiten helfen Ihnen, Ihre Kunden zu verstehen

Kunde und Softwareentwickler leben in unterschiedlichen Welten. Sie haben jedoch ein gemeinsames Ziel. Beide wollen das Problem des Kunden lösen.

Das Problem ist, dass viele Probleme des Kunden für Softwareentwickler nicht unbedingt sichtbar sind. Beispielsweise könnte der Kunde von seinen Vorgesetzten und anderen Interessengruppen unter Druck gesetzt werden. Dies kann Auswirkungen auf seine Kommunikation haben.

Softwareentwickler verstehen das nicht unbedingt. Stattdessen beschweren sie sich über den Kunden, indem sie etwa Folgendes sagen:

Unser Kunde beschwert sich über unseren langsamen Fortschritt. Er versteht nicht, dass wir so hart arbeiten, wie wir können. Es dauert nur einige Zeit, Dinge zu erledigen.

Es ist natürlich möglich, dass der Kunde ein unvernünftiges Arschloch ist. Ich halte es jedoch für wahrscheinlicher, dass der Kunde unter enormem Stress steht und ihn deshalb so handelt.

Wenn Sie verstehen, dass die Handlungen Ihrer Kunden von Gründen geleitet werden, die für Sie nicht sichtbar sind (und nicht sichtbar sein sollten), können Sie produktiv auf seine Handlungen reagieren.

Tatsache ist, dass das Meckern über Ihren Kunden nutzlos ist . Es hilft dir nicht, seine Situation zu verstehen oder Konflikte mit ihm zu vermeiden. Tatsächlich erhöht diese Art von Verhalten oft die Spannung zwischen Ihnen und Ihrem Kunden.

Das ist ein Rezept für eine Katastrophe.

2. Menschliche Fähigkeiten helfen Ihnen, Ihre Ideen auszudrücken

Wenn Sie in einem Team arbeiten, müssen Sie zwei Dinge verstehen:

  1. Jeder hat eine "versteckte" Agenda, die seine Handlungen leitet.
  2. Die Dinge, die Sie motivieren, motivieren nicht unbedingt Ihre Teammitglieder.

Das heißt, um Ihre Ideen zu verbreiten, müssen Sie zunächst herausfinden, wie Ihre Teammitglieder denken und was sie motiviert.

Wieso den? Weil

  1. Wenn Sie herausfinden, was die Handlungen Ihrer Teammitglieder leitet, können Sie Ihre Idee so ausdrücken, dass sie für Ihre Teammitglieder sinnvoll ist.
  2. Wenn Sie verstehen, was Ihre Teammitglieder motiviert, können Sie Ihre Idee so ausdrücken, dass sie sich faszinierend und motivierend anfühlt.

Jedes Mal, wenn ich jemanden beschweren höre, dass seine Teammitglieder nicht daran interessiert sind, neue Dinge auszuprobieren, habe ich das Gefühl, dass diese Person seine Ideen falsch ausdrückt. Es ist eine traurige Sache, denn wenn er seine Hausaufgaben gemacht hätte, würden die Chancen stehen, dass zumindest einige seiner Ideen jetzt verwendet würden.

3. Menschliche Fähigkeiten helfen Ihnen, bessere APIs zu erstellen

Als ich anfing, Software fürs Leben zu schreiben, machten sich Softwareentwickler viel über User-Interface-Designer lustig. Früher dachten wir, dass sie nur aus einem Grund existierten:um Softwareentwickler mit ihren lächerlichen Ideen zu quälen. Ich lag (natürlich) falsch .

Heutzutage denke ich, dass User Experience Design eines der wichtigsten Dinge eines Softwareprojekts ist. Schließlich schreiben wir Software, die Menschen benutzen können. Es ist sinnvoll sicherzustellen, dass unsere Software eine großartige Benutzererfahrung bietet.

Also, was hat das mit APIs zu tun?

Eigentlich eine Menge. Die API-Entwicklung wird oft als technische Aufgabe betrachtet. Obwohl die Implementierung der API eine technische Aufgabe ist, ist das API-Design keine. Es reicht nicht aus, die Bedürfnisse eines Benutzers zu verstehen, da es möglich ist, eine unbrauchbare API zu implementieren, die seine Anforderungen erfüllt. Daher ist das User Experience Design ein wesentlicher Bestandteil der API-Entwicklung!

Wie hängt das mit menschlichen Fähigkeiten zusammen?

Wikipedia definiert den Begriff Benutzererfahrung wie folgt:

Die Benutzererfahrung (UX) umfasst die Verhaltensweisen, Einstellungen und Emotionen einer Person in Bezug auf die Verwendung eines bestimmten Produkts, Systems oder Dienstes. Die Benutzererfahrung umfasst die praktischen, erfahrungsbezogenen, affektiven, bedeutungsvollen und wertvollen Aspekte der Mensch-Computer-Interaktion und des Produktbesitzes. Darüber hinaus umfasst es die Wahrnehmung einer Person von Systemaspekten wie Nützlichkeit, Benutzerfreundlichkeit und Effizienz. Die Benutzererfahrung kann insofern als subjektiv angesehen werden, als es um die individuelle Wahrnehmung und das Denken in Bezug auf das System geht. Die Benutzererfahrung ist dynamisch, da sie im Laufe der Zeit aufgrund von sich ändernden Nutzungsbedingungen und Änderungen an einzelnen Systemen sowie dem breiteren Nutzungskontext, in dem sie zu finden sind, ständig modifiziert wird.

Mit anderen Worten, wenn Sie eine API erstellen möchten, die eine großartige Benutzererfahrung bietet, müssen Sie

1) Implementieren Sie eine API, die alle erforderlichen Funktionen bereitstellt.
2) Verstehen Sie, wie Entwickler Ihre API verwenden möchten.

Gute menschliche Fähigkeiten werden Ihnen helfen, das zweite Ziel zu erreichen.

Sie müssen kein Experte sein (aber es hilft)

Softwareentwicklung ist keine Tätigkeit, die isoliert ausgeübt wird. Es ist Teamarbeit, bei der Softwareentwickler mit Kunden, Teammitgliedern und Kollegen interagieren müssen. Man muss kein Extrovertierter sein, um ein guter Softwareentwickler zu sein, aber man muss in der Lage sein, andere Menschen zu verstehen und mit ihnen zu kommunizieren .

Außerdem müssen Sie kein Experte für menschliches Verhalten sein, aber je mehr Sie darüber wissen, desto mehr werden Sie davon profitieren.


No
Java-Tag