163study

開發人員愛開發

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

作為軟件開發人員的我們很幸運。我們喜歡我們干的工作,并且很多時候,當我們實際構建軟件時,我們又非常開心。不幸的是,這樣的情況并不普遍,因為許多軟件開發項目要求開發人員除了編寫代碼之外,還要做很多其他的事情,例如開無聊的會議,建立文檔或其他工件等等。在解決問題,學習知識和探索奧秘的同時,還要面對這些無聊的事情,可不是一件令人愉悅的事情。因此我們只能把注意力投入到編寫軟件中去。

專業的軟件開發從根本上不同于大多數人的想法。它與使用軟件或網絡或其他任何東西無關。構建軟件是一項非常有創意的活動。

我問過幾乎所有我教過的學生一個問題,編寫軟件更偏向藝術還是科學。大多數開發人員表示,盡管兩方面的因素都有,但軟件開發更具藝術性。這意味著,作為一個好的軟件開發人員,你需要更富有創意和具備抽象技能,而不是一個明確的過程就行。當然,即使是編寫最簡單的程序也需要大量的訓練,這是一個通過投資時間精力而可以成長的領域。開發人員喜歡構建以前從未構建過的東西,喜歡解決問題,還樂意于提供改善人們生活的工具。

不要把我們想象成是那種孤僻陰沉的書呆子或沉溺于硅膠電路的極客形象。現代軟件開發人員來自社會的各個階層,他們有著各種各樣的背景。

編寫軟件或許是最具吸引力和挑戰性的行業。軟件開發需要多種多樣的技能,為了成功編寫軟件我們必須擅長所有這些技能。設計軟件需要可視化創意——畢竟,我們是用我們的想象來了解問題并對解決方案進行建模的。編寫軟件需要堅韌不拔的品質——我們必須跟蹤大量的細節,并使用各種各樣的技術來管理程序的巨大復雜性,哪怕是一個相對簡單的程序。調試代碼則需要具備卓越的分析能力——完全不同于設計軟件所需的技能,但開發人員必須兩者都擅長。因此,我們傾向于在構建軟件的過程中同時使用我們左右兩邊的大腦,這樣有助于制作出令人高度滿意的用戶體驗,同時這也是一個非常具有挑戰性的經歷。

我問了很多非軟件開發人員關于他們眼中編寫軟件的過程,聽到了很多不同的答案,但沒有一個回答接近正確答案。我相信其他領域也是如此。專業的表演不僅僅是裝扮。偉大的演員會代入他們的角色,就像變成了另一個人。這是一個偉大的技能,但是沒多少人擁有,他們所做的事情并非他們的職業描述的那樣。他們不是扮演他人,而是成為了他人。

我認識一些已經進入餐飲行業的人,他們喜歡與朋友分享食物的過程。但是,每天準備五百頓飯和與朋友坐下來享受美味晚餐是截然不同的。廚師是這么多職業中最難的工作之一。廚師的工作強度很大,這也是為什么很多人最終退出這個職業的原因。很多人認為他們必須對他們各自的領域做出妥協,因為生活就是如此——工作和興趣不能兩全。也許對許多人而言這是事實,但是軟件開發人員可以在每天構建軟件的工作中找到滿足感。

當然,這需要付出巨大的努力,因為真正進入一個專業并不容易。我知道的大部分開發人員是在工作時或通過大量的自學才汲取到那些他們必須了解的知識。就其本身而論,這個行業的技能組合和知識量有很大的差異。現在還沒有一套明確的標準,所以當每個人對于如何做事都有自己的想法時,團隊工作開展起來會很困難。

編寫軟件是一個小組活動。大多數軟件開發項目中的程序員彼此之間并不是孤立的。但是現在大多數為業務而構建的代碼其團隊合作并不緊密。當然,開發人員的并不以社交技能見長,但是隨著我們意識到隊友之間溝通的迫切需求,很多事情正在發生變化。

如何評估設計?

這是我經常在我的高級軟件設計課中問開發人員的一個問題。我傾向于得到空白的反應,不是因為他們不知道如何評估一個設計,而是他們很少適用一個通用的衡量法則。這對團隊來說可能是一個挑戰,使得我們在構建軟件時溝通和協作變得困難起來。所以我花了很多時間定義術語,以便能夠評估軟件設計中的良性。

開發人員喜歡我的課程,是因為他們意識到談論和思考這些事情的價值。我有幸能有機會與許多高級軟件開發人員合作,在合作過程中,我努力找出他們成功的原因是什么,然后與我合作的其他開發人員分享。好像我們每個人都有一塊拼圖,當我們把這些拼圖放在一起的時候,我們就得到了一幅優美的畫卷。大贊!

譯文鏈接:http://www.ztsusc.tw/article/developers-love-development.html
英文原文:Developers Love Development
翻譯作者:碼農網 – 小峰
轉載必須在正文中標注并保留原文鏈接、譯文鏈接和譯者等信息。]

發表我的評論

取消評論
表情 插代碼

Hi,您需要填寫昵稱和郵箱!

  • 必填項
  • 必填項
22选5今晚开奖公告