一名好程式設計師到底需要什麼樣的標準?

千鋒雲端計算發表於2019-12-24

無數的人問過類似的問題:怎麼樣才能做一個好的程式設計師?在回答這個問題之前,首先得明白什麼是好的程式設計師,這樣才有方向和目標,可是這事情太主觀,可能各人的標準幹差萬別。不談那些傳奇性的獨自一人做出偉大事情的特例,也不談什麼上天入地,上帝大牛的詭論,以下是我比較認可的,在通常的專案開發中,一個好程式設計師的標準。

一名好程式設計師到底需要什麼樣的標準?

在專案開發中,一個程式設計師的能力等於其解決問題的能力。假如想有個尺度來衡量這個能力的話,一個程式設計師的能力可以用能完成任務的規模和難度來衡量。因為難度上不好那麼筒單的劃分,並且在一般的專案開發中 (非研究性專案),任務的難度主要來自於任務的規模帶來的複雜度,這裡把任務從規模上大致的劃分為1個函式=>1個 類=>1個功能=>1個模組=>1個專案。更細緻的劃分時,函式、類、功能、模組、專案本身也有簡單和規模大小之分。

在此之前,對專案的生產力為負,即為他佈置任務、溝通和為他修補bug的時間其實要多於自己直接完成該功能的時間。也就是說,專案中存在這個水平的程式設計師純粹是為了培養人才。能較好完成一個完整模組的程式設計師算是較好的程式設計師, 也是一般專案中的主要幵發者;能完成整個專案的裎序員才能算是好的裎序員,在多人專案中可做主程。

一名好程式設計師到底需要什麼樣的標準?

什麼決定了一個裎序員解決問題的能力呢?我認為有如下幾個因素:

在同等水平的裎序員之間,一個對某領域問題有所瞭解,一個對該領域完全不瞭解,完成該領域同樣任務的效率差了不止一個數量級。這就是我們通常所說的經驗的作用,這種經驗可以看作是知識積累。—個程式設計師的知識積累很大程度上決定了其解決問題的能力。

這是一個知識大爆炸,知識重新整理頻率讓人無法追趕的時代。一 方面,面對一個稍有難度的任務,難免會有超出自己現有的知識範圍的時候,此時自學能力決定了你能多快的完成此任務;另一方面,你的自學能力決定了在平時的工作過程中,你積累知識的多少。

自學能力強的人,即使沒有人指點也總能在專案的程式碼中學到東西;而反過來,學習意願弱的人寫的程式碼被別人重構後, 也不會想想,這段程式碼是否改的更好了以及為什麼。從較長的尺度上(比如一個人的工作生涯)來看,一個程式設計師知識積累的多少隻決定於其自學能力和他對程式設計本身的興趣。

一名好程式設計師到底需要什麼樣的標準?

溝通能力、對工作負責任的態度、對程式碼的追求,很大程度上由性格決定,我不知道實際中怎麼簡單的去提高,這裡只稍微 的談談我對知識積累的一些看法吧:

1、培養興趣,技術工作總是辛苦的,程式設計尤其如此。

假如你對此沒有濃烈的興趣,不能從程式設計本身找到很多樂趣,那最好就不要奢求能成為一個好的程式設計師了。對程式設計的興趣也是我一般招聘初級程式設計師時最大的要求。

2、什麼樣的環境決定你有什麼樣的知識積累,決定了你的品味,決定了你會以什麼方式來做事,這個除非有強大的意志力。

3、不要停留在自己學習的舒適區,假如你的工作僅僅是以前工作的簡單重複,你會工作的很輕鬆,同時也很難有提高。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2670357/,如需轉載,請註明出處,否則將追究法律責任。

相關文章