成功的軟件開發者需要掌握人際技能的3個原因

jopen 10年前發布 | 11K 次閱讀 軟件開發者

  Petri Kainulainen 是位資深的軟件開發者,擁有多年的軟件開發經歷。他熱衷于軟件開發與持續改進,擅長使用 Spring 框架進行軟件開發,同時也是 Spring Data 一書的作者。近日,Petri 撰寫了一篇文章,談到了對于軟件開發者來說,掌握人際技能重要性的 3 個原因。文中談到除了軟件開發本身的技能外,要想在職業生涯中取得更大的成就,良好的人際技能是必不可少的重要因素,文中的觀點對于廣大軟件行業從業者來說頗具實際意義,希望能給各位讀者帶來一些啟示。

  有很多人認為要想成為一名優秀的軟件開發者只需掌握相關技術即可,畢竟軟件開發者每天的大部分時間都用來設計軟件和編寫代碼。從這個角度來看,顯然技術本身是非常重要的。

  不過,如果你以編寫軟件為生,那就需要與其他人協作,這包括團隊中的成員、其他同事以及客戶。值得注意的是,這些人對你的期望是各不相同的。

  在我剛開始學習軟件工程時,我并沒有認識到這一點。我只是覺得可能犯了個小錯誤而已,但實際上這個問題很有可能毀掉你的聲譽和職業生涯。在我開始從事第一份編程工作時,我認識到人際技能對于每個軟件開發者來說都是至關重要的。

  那么,到底什么是人際技能呢?術語人際技能的一個定義如下所示:

人際技能指的是與其他人高效協作以實現特定目標的能力。

  下面就來看看為何說人際技能對于軟件開發者來說是至關重要的。

  1. 良好的人際技能有助于你更好地理解客戶

  客戶與軟件開發者生活在不同的世界中。不過他們有著共同的目標,那就是一同來解決客戶的問題。

  問題在于客戶的很多問題對于軟件開發者來說是不可見的。比如說,客戶可能受到老板和其他利益干系人的壓力,這會對客戶的溝通交流造成影響。

  軟件開發者并不一定能夠理解這一點。相反,他們會抱怨客戶,覺得:

我們的客戶一直在抱怨進度慢。他根本就不知道我們其實已經非常努力了,做什么事情都需要時間啊。

  當然了,客戶也有可能就是個不講道理之人。不過,我認為在絕大多數情況下,客戶都處于巨大的壓力之下,這才會導致他的言談和行為有些異常。

  如果你能理解客戶的行為是由某些你看不見的因素所驅使,那么你就應該以一種高效的方式對此作出反饋。

  光是抱怨客戶是解決不了任何問題的,也沒法幫助你更好地了解客戶的情況,從而避免產生沖突。事實上,抱怨常常會對你與客戶之間的關系造成更不好的影響。這么做絕對是一場災難。

  2. 人際技能有助于更好地表達出自己的觀點

  如果你在一個團隊中工作,那么你需要理解清楚兩件事:

  • 每個人都有一個“隱蔽”的日程安排來指導他們的行為。
  • 能夠激發你的事情未必會對團隊的其他成員起作用。
  • </ul>

      這意味著要想傳播你的觀點,你首先要搞清楚團隊的其他成員在想什么,什么才能激發他們。這是因為:

    • 如果搞清楚到底是什么指導著團隊成員的行為,那么你就能以一種對其他成員有意義的方式來表達出自己的觀點。
    • 如果理解了到底是什么激發著團隊成員,那么你就能以一種吸引人且具有激發力的方式來表達出自己的觀點。
    • </ul>

        每次我聽到有人抱怨他們的團隊成員對新事物沒有興趣時,我都認為這個人在以一種錯誤的方式表達著自己的觀點。如果他自己能學習一些新的技術,那至少他的一些想法就能通過自身表達出來。

        3. 人際技能有助于創建出更好的 APIs

        在我開始以編寫軟件為生時,軟件開發者經常會嘲弄用戶界面設計師。我們那時都認為這些用戶界面設計師存在的唯一目的就是用他們那可笑的想法來折磨我們。現在看看,那時的想法可真是幼稚至極。

        時至今日,我認為用戶體驗設計是軟件項目中最為重要的環節之一。畢竟,我們編寫的軟件是給人用的。確保軟件能夠提供優秀的用戶體驗是非常有意義的事情。

        不過,這與 APIs 有什么關系呢?

        實際上關系很大。API 開發常被認為是一個技術工作。雖然 API 的實現是個技術工作,不過 API 的設計卻并非如此。光是理解用戶的需要還不夠,因為很有可能實現了一個能夠滿足需求,但卻沒法使用的 API。因此,用戶體驗設計也是 API 開發的一個重要組成部分

        那這與人際技能又有什么關系呢?

        Wikipedia 是這樣定義術語用戶體驗的:

      用戶體驗(UX)涉及到使用特定產品、系統或設備的用戶行為、態度與情緒。用戶體驗包括人機交互與產品所有權的實際、經驗、情感 等方面因素。除此之外,它還包含個人對系統的感知和認識,比如說功能性、易用性以及效率等。用戶體驗是動態性的,因為它常常會隨著時間的流逝由于使用環境 和系統變化等因素而發生變化。

        換句話說,如果想要創建出具有優秀用戶體驗的 API,你需要:

      • 實現一個提供了全部所需功能的 API。
      • 理解開發者使用 API 的方式。
      • </ul>

          擁有良好的人際技能能夠幫助你實現第 2 個目標。

          你不必成為專家

          軟件開發并不是一項孤立的活動。相反,它是一項團隊活動,軟件開發者需要與客戶、團隊的其他成員以及同事相互協作。要想成為一名優秀的軟件開發者,你不必非得是外向型人格,不過你要能理解其他人并與之很好地溝通與交流。

          除此之外,你也不必成為一名人類行為學的專家,不過在這方面了解得越多,你獲得的收益也會越大。

        來自: InfoQ
                            <span id="shareA4" class="fl">                          </span>
         本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
         轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
         本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!