成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件開發人員的5個能力:如何識別好的程序員

譯文
開發
軟件只有在滿足業務需求和有足夠可操作性的情況下才能發揮作用。因此,我們需要評估能夠讓軟件開發人員達到這些目標的能力。一個極客程序員在工作中能達到像實用工具那樣的技術水平。每一種技術都是用語言表達的模式集合,而且大部分模式不是新的。如果我們了解這些模式,我們就能真正地了解任何能夠體現它們的技術。

在不同的時期,我都在努力地學習編程,但是我仍不認為這是一個優秀開發者的標志。一個有天賦的開發人員,從9到5提供110%的清晰、精確、可維護的代碼,在休息時間享受午餐,回到家離開鍵盤釋放自我,這會有什么問題呢?

我認為,開發人員應具備的五個關鍵能力。

要了解他們為什么這么重要,想想軟件是什么:它不是一個無限的系列式陳述,也不是一個任意調用的API,更不僅僅是復制粘貼的產物。相反,它是一個由代碼層次結構組成的網格,很少復制代碼,主要是復制格式(不一定是GOF模式,也可以是“延遲初始化”“模式驅動代碼生成”或者“XML腳本”)。它只有在滿足業務需求和有足夠可操作性的情況下才能發揮作用。因此,我們需要評估能夠讓軟件開發人員達到這些目標的能力。

話不多說,開始!

1、分析能力:結構化、清晰、有批判思維的思考者和問題解決者

很多人誤把鎮定、自信、流利的演說能力歸結為智商。因此,我們需要對開發者的智力特征非常清晰。軟件的一切都是關于功能和結構分解,因此,我認為智力的關鍵是天生的、后天培養的或者靠意志力進行的分析能力。一個具有分析能力的人會多角度考慮問題,選擇最好的方法,然后將大問題分解成小問題。

在面試中,你很容易就能檢查這個能力,因為候選人自然會澄清模糊的問題,或者列出解決方案的部分和關系,或者在討論細節之前確認問題的大致情況。去考驗這個能力,你不用提出一個新問題,只需要讓他們描述任何一件事情:他們開發過的軟件產品,面向的對象,軟件開發過程中扮演的角色或處理的任務,互聯網、網絡等等。

當描述完成后,問問自己,你是否聽到了對碎片的列舉,或者候選人是否描述了事情的核心,這就是分析能力。

2、抽象能力:能夠識別和理解抽象概念和模式的能力

軟件是復雜的; 簡單地閱讀代碼是不能理解它的。你通過尋找結構來理解它,建立一個關于如何用代碼建模的理論,然后在閱讀中驗證和改變這個模型。開發新的軟件很像理解一個現有的程序,只是這個模型還不存在,只是在你的腦海里有該軟件的寫代碼時追求的所有品質),那么開發者就可以實現它。

3、準確: 簡潔而準確地表達事物的能力

一些開發者僅通過復制實例就能取得一定的成功;他們找到與其開發的項目近似的軟件代碼,然后對其進行調整。這就像雕刻,只是當它用代碼完成時,結果通常不是很清楚,也不是很簡潔,而且可能不完全準確。同樣,有些開發者只能通過例子來解釋事情,而不是通過命名底層概念或模式。這是可以接受,但可能會成為軟件開發的絆腳石,因為他們不太可能認識、理解和應用代碼中微觀或宏觀層面的模式。

一個能夠準確(但不一定迅速或令人印象深刻)表達的開發者會開發出更精確的代碼,并更容易向另一個開發者解釋一項技術或需求。

4、分清輕重緩急和實用性: 識別必須做的事和可以做的事

靈活的方法自然傾向于今天寫今天的代碼。即使在做瀑布式開發的公司里,能夠區分必要和可能,仍然是一項重要的技能。產品往往只有在按時交付的情況下才能完全成功。一個務實的開發者會做真正需要去做的事情,比如創建一些鉤子,寫一些評論,為明天打好基礎。實用主義還表現在渴望實現、完成目標;這促使并鼓勵我們定義什么是成功,幫助我們確定達到目的的優先次序,并關注任務的完成度而不僅是給履歷鍍金。

5、理想主義:渴望把事情做好

一個只注重實用主義的開發者有時會偷懶;他們不僅只開發今天的功能,而且只為今天而編碼,而不是為明天要維護這些代碼的開發者而編碼。實際上,一個理想主義的開發者會關心他們所交付的產品的所有品質:

①他們會確保他們理解了開發需求。

②他們三思而后行,在寫一行代碼之前會慎重考慮,甚至可能會記錄測試案例。

③他們寫的代碼是清晰的,并且有充分的注釋;他們不斷地重構,以便使普通代碼進入共享方式,然后進入基礎類或輔助類。

④他們會編寫單元測試案例,以保護其他開發人員和測試人員免受錯誤代碼的影響。

⑤在自動測試不可行的情況下,他們會堅持進行手動測試。

理想主義和實用主義是相輔相成的關系,并且二者缺一不可,平衡這兩個品質,并告知開發者整天所做的決定。

其他能力

當然,還有一些其他的能力也很重要:

①專注:編寫軟件是一項將頭腦中的模型轉錄成代碼的復雜任務。

②理解和使用技術的能力。

③渴望學習和提高他們所需的所有技能,以便在個人和軟件交付組織中發揮效力。

④能夠認識到如果不能和團隊成員或其他團隊有效合作,他們的技能再高超也發揮不出效力。

總結

最后一項能力是我們所有人都需要的;那就是認識到沒有一套固定的技能。在任何組織中,有多種方法可以取得成功,有許多角色需要填補,而個人的工作只是一個更大過程中的一部分,所有這些都需要發揮作用才能取得成功。

聰明人有時會忽視其他方面的智慧;如果我們能夠一直互相尊重,并將觀點作為意見提出。即使我們認為是在糾正一個錯誤,也會發現我們竟然經常將意見和觀點混淆為事實。

因此,開發人員最好具備上述能力;然后,他們就可以在技術軌道上推進自己的職業生涯,成為高級開發人員、開發負責人,最后成為架構師;或者在管理軌道上,信守承諾、尊重他人,甚至在更加關鍵的位置上激勵和幫助他人實現愿望。


原文標題:5 Software Developer Competencies: How To Recognize a Good Programmer

原文作者:Mohamed Aboelez · Mar

責任編輯:梁佳樂
相關推薦

2022-07-12 18:36:52

軟件開發企業開發人員

2013-02-22 09:34:57

程序員開發人員

2012-02-06 15:39:05

2020-12-16 15:53:59

開發編程語言技術

2012-02-15 09:17:02

Python編程

2017-04-12 09:24:45

開發編程Java

2022-09-11 08:21:15

LinuxUbuntu軟件開發

2022-07-11 10:04:37

軟件開發編碼

2015-04-14 09:38:35

軟件開發人員便利工具

2017-03-23 15:09:13

軟件開發人員

2020-11-11 09:42:34

軟件開發 技術

2022-01-13 23:15:29

Docker開發嵌入式

2023-12-21 16:45:27

軟件開發人員CIOGenAI

2021-03-27 12:56:36

軟件開發人員軟件開發

2009-05-04 09:42:51

IBM軟件開發社交網站

2019-08-26 11:05:51

數據軟件程序員

2024-01-15 15:09:16

ChatGPT軟件開發

2022-01-06 16:15:58

自測測試開發人員

2020-10-13 08:41:58

Java開發框架

2022-09-11 15:24:29

UbuntuLinux軟件開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久6| 久久国产精品久久国产精品 | 午夜视频一区二区 | 亚洲性视频网站 | 国产精品一区二区不卡 | 国产人免费人成免费视频 | av日韩在线播放 | 九九av | 国产精品久久久久久久久久了 | 九九久久久 | 国产伦一区二区三区久久 | 欧美一区二区三区免费在线观看 | 在线免费观看视频黄 | 亚洲精久久久 | av片在线观看 | 免费在线看黄 | 91网视频 | 欧美国产中文 | 欧美一级二级在线观看 | 国产69精品久久99不卡免费版 | 成人一区二区三区 | 91精品国产自产精品男人的天堂 | 狠狠躁18三区二区一区 | 深夜福利影院 | 日本午夜视频 | 成人在线免费网站 | 免费国产一区 | 国产精品成人av | 午夜精品久久 | 亚洲男人天堂av | 亚洲欧美bt | 亚洲精品一区二区三区 | 搞av.com| 天天干夜夜操 | 久久草在线视频 | 欧美日韩在线免费 | 国产精品一区二区三区久久久 | 欧美一区二区三区久久精品 | 色综合久久久 | 91综合网 | 欧美另类视频在线 |