程式設計師成熟的標誌
程式設計師在經歷了若干年程式設計工作之後,很想知道自己水平到底如何?自己是否已經成為成熟的程式設計師?雖然程式設計師會對自己有一個自我評價,但是,自己的評 價和社會的評價、專業的評價會有差異,所以程式設計師自己並不能肯定這個評價。現實中,除了各種證書之外,很少有人會專門給出一個程式設計師的成熟度的評價。人們 往往是偶發性地就事論事地對程式設計師的工作作出好與不好,行與不行的評論。因此,程式設計師對此感到很茫然,不知道要從那些方面去評價自己的能力。
一個程式設計師到底成熟不成熟,我想從以下幾個方面談談自己的看法。
1、技術標誌
如果程式設計師不會程式設計序那決不是程式設計師,程式設計師至少要掌握一門程式設計語言,要能夠用這種語言去編寫程式去解決他想解決的問題。但是,成熟的程式設計師往往掌握不止一種程式語言,三到四種語言的掌握是必須的,一種二種語言的精通也是必須的。
除了從掌握程式設計語言個數之外,我們還可以從其他幾個方面去看看程式設計師在技術上水平。例如,函式編寫能力(命名、格式、大小、分類、引數、複用等),面 向過程的能力,物件導向的能力,資料庫技術能力,效率處理能力,安全處理能力,網路處理能力,軟體構架能力,人機互動能力,通用軟體能力,軟體文件能力等 等。尤其是物件導向技術的掌握和運用,以及面向服務的技術都是成熟程式設計師所必需掌握的。
2、時間標誌
雖然程式設計師的天資、素質、基礎知識各不相同,所經歷的工作內容以及環境也不相同,但是,時間也是程式設計師成熟程度的標誌之一。一般程式設計師需要經過三到五年的 時間才能日趨成熟。其中入門需要一年,成長需要兩年。這是我經過長期觀察得到平均資料。我並不認為成熟時間越短程式設計師就越聰明,就越了不起。享受每個階段 充分的時間,會讓自己成長更加充實、更加成熟。當然,也有超期而不成熟的情況,這也是很正常的。
3、專案標誌
程式設計師的社會性是程式設計師成熟的標誌之一。沒有參加過專案的程式設計師,程式編得再好,只能是純程式類的程式設計師,是一個孤獨的高手,是一種個人型的程式設計師,遠沒 有成熟。專案作為社會性活動,體現了專案的社會價值。所以專案能力也是程式設計師成熟的重要標誌之一:專案能力包括參加專案的個數、專案的大小、在專案中承擔 的角色等等。就專案承擔的角色而言,主持開發(專案經理)3個以上專案是必須的,這是一個必要條件。一個程式設計師如果沒有主持過開發,無論參加過多少專案的 開發,無論是在程式編寫或專案設計上發揮了多大的作用,是很難被稱之為成熟的,因為專案的組織、協調和管理是反映一個程式設計師成熟程度的又一個標誌。就如同 一個程式設計師能參與過10個以上大大小小的專案或能參加或能主持兩個以上大型專案的開發,其成熟程度是可以信賴的。若低於此數,則說明程式設計師離成熟還有相當 的空間。“我們在專案中成長”可見專案對於程式設計師的意義是多麼的巨大。
另外,一般程式設計師只是為一個企業客戶進行開發一個或多個專案,或同行業的企開發專案,如果程式設計師能夠如果程式設計師能夠開發過多個行業的專案,其成熟度要比一般人要高一些。
4、思維標誌
幼稚和成熟在思維方式上還是有很明顯的區別的。就程式設計師而言,不成熟的程式設計師邏輯性不強,程式編得沒有條理,即使程式設計師自己進行了解釋也沒人能看懂。而成 熟的程式設計師應該具有很強的邏輯性,程式編得井井有條,不用解釋別人也能看得懂。這種邏輯性還體現在軟體的構架設計、資料庫設計、演算法設計等多個方面。程式 員通過全集子集概念、時間概念、順序概念、重點非重點概念等對各種事物進行邏輯分析。例如,以順序概念為例,不成熟的程式設計師往往會採用自底向上的思維方式 來開發程式。他們先考慮程式的具體實現,然後再考慮功能設計、最後考慮構架設計。而成熟的程式設計師則採用自頂向下思維方式,先考慮構架設計、再考慮功能設 計、最後才考慮程式設計的具體實現。前者思維方式主要是出於工作慣性,只適合入門階段,而後者思維方式反映了後者的進步,適用於各種專案開發或大型專案的開 發。
除了在思維內容上的邏輯性之外,程式設計師還應該處理好動腦和動手的關係。重視思維本身就是一種成熟的標誌。成熟的程式設計師的思考時間要大於動手程式設計時間,想好 之後只要一次就程式設計成功,而不成熟的程式設計師往往動手程式設計時間要遠大於思考時間,而且是邊做邊想,通過反覆來逼近最終目標。
另外,在思維範圍上,成熟的程式設計師要比普通的程式設計師有更開放視野。他們更容易去接受新的東西,更容易不受各種約束去考慮問題,更勇於去挑戰自己和高手。
5、與人交往
很多人認為程式設計師是和計算機打交道的行業。這只是這個職業的特點。但是,只要是工作必然就是一種社會勞動。而社會勞動則必須和人進行交流和溝通。盡 管程式設計師的勞動工具是計算機,但並不意味著程式設計師只想著這個工具。從這個工具的下游來看,程式設計師還是要考慮用這個勞動工具生產出來的軟體產品是否有人購 買,是否有人使用,是否執行正常,從這個工具的上游來看,是誰讓程式設計師瞭解設計方案的,是誰讓程式設計師程式設計序的,是誰讓程式設計師程式通過驗收的等等。因此程式 員在軟體製作各個環節都會與其他人打交道。只有和人進行有效的交流和溝通我們的工作才能進行下去才能做的更好。
如果一個程式設計師還沉浸在個人勞動的意境之中,對外界持有冷漠、無奈、恐懼的心理,內心裡不願意和外界打交道,無論自己感覺自己的技術水平有多高,還 是一個不成熟的程式設計師。而成熟的程式設計師一定是特別重視與人的交往,無論是上級領導、外部客戶、專案經理、團隊同伴這些與自身工作密切相關的人還是那些非同 單位同行朋友、網友等他們都會認真去聽取別人的闡述、要求、意見、建議、反饋等。從中得到更多的工作上的、技術上的、生活上的好的想法,以便自己參考和吸 收。與此同時,與人交往也反映你有好的想法和好的技術水平交流出去,而這些想法和技術水平也是你成熟度一種反映。那些沒有想法和技術水平的程式設計師的確是怕 和別人交流的。
與人交流的有兩個基本能力,一個是理解能力,一個是表達能力。兩者缺一不可。例如,有的程式設計師理解能力差,不能理解專案經理提出的要求,有的程式設計師表達能力差,無邏輯,無重點,囉裡囉唆,讓別人不知所云。這都是不成熟的表現。
6、別人評價
別人的評價尤其是單位同事以及對自己工作情況比較瞭解的人對自己的評價是有參考價值的。一般而言,評價差的,一定是不行的,是不成熟的。評價好的要 看情況而定,單位同事對人的評價會從兩個方面來考慮,一個是這個人的為人情況,一個是這個人的工作能力。如果兩者都不錯,我們有理由認為這個程式設計師是成熟 的。反之,無論是工作能力強,但為人不好,為人很好,工作能力不強,我看都不能算一個成熟的程式設計師。
所以,程式設計師要注重別人對自己的評價,在提高自己技術水平的同時,學會做人,做好人,學會與他人分享,這樣別人才會給自己更好的評價。
無視別人評價其實,也是一種不成熟的表現。只有自己感覺好,大家感覺好,那才是真的好。
其實,別人的評價如果僅限於自己單位的話,恐怕這種評價的價值會打折扣,如果這個單位技術人員的人數很少,水平普遍很低,即使你鶴立雞群,大家對你的評價很好,但是,你和其他公司和單位的程式設計師來比,你真的不一定的成熟。所以,我說別人的評價僅僅是一個參考。
7、收入標誌
收入也是成熟程式設計師一個參考標誌。收入的大小往往是對程式設計師社會價值的認可度,表明程式設計師的勞動值這個價錢。一般而言,成熟的程式設計師能夠掙得軟體業 平均收入的中上水平,或者在一個單位或部門中能夠掙得比80%左右員工要高的收入。而剛參加工作不久的程式設計師收入應該與其相差很大的。另外,單位的專案獎 金髮放也可以看出程式設計師在專案中的地位和作用。
現實中,我們知道程式設計師的收入和其付出是不是正比的,而且,越是能力強的、貢獻大的程式設計師,可能不一定比那些不如其它能力不如他的程式設計師高出許多。 這不是軟體行業的通病,幾乎所有行業都存在這種情況。通過分析我們認為程式設計師成熟度應該是和其收入高低掛鉤的。如果,我們知道我們能力和貢獻大大超出我們 的收入,我們就有理由向上級領導提出自己的收入要求。
8、心理素質
程式設計師常常面對各種各樣的成功和失敗,尤其是失敗更是多於成功,這也是程式設計師這個職業特點之一。以程式設計為例,幾乎沒有一個人一次就能把程式給編好的,它總 是要遇到各種語法錯誤,總要遇到各種遺漏,一個程式要反覆多次修改除錯才能完好。有的程式設計師因找不出來程式的bug,束手無措,哀聲嘆氣,心裡極其不爽。 以工作為例,有的程式設計師因工作進度和程式出錯常常受到別人的批評和指責,心裡極其不滿,認為批評人不瞭解造成這個結果的客觀原因,批評錯了人。從而對人產 生意見,甚至對工作造成了影響。面對失敗和挫折,成熟的程式設計師會坦然面對:程式設計時出現問題不可怕,有什麼問題就解決問題,解決不了的問題可以想其他方法進 行解決,不在一棵樹上吊死。面對別人的批評和指責,首先從自身查問題,是自己的問題,那就要主動承擔責任,並儘快改正。不是自己的問題,應該換位思考,理 解批評人的焦急心態,並找機會給予說明。良好的心理素質在面對困難和挫折的時候,就會很坦然,很堅強,很自信。
相關文章
- 程式設計師的墓誌銘程式設計師
- 一個成熟的程式設計師必會技能:賺錢程式設計師
- 每個Java程式設計師必須知道的5個JVM命令列標誌Java程式設計師JVM命令列
- 程式設計師廁所標語程式設計師
- 程式設計師面試的標準答案並不標準程式設計師面試
- 程式設計師的“非程式設計師”之路程式設計師
- Java程式設計師成長之路(為程式設計師量身定製的12個目標)【轉】Java程式設計師
- 以前的程式設計師,現在的程式設計師程式設計師
- PHP程式設計師必須知道的兩種日誌PHP程式設計師
- 程式設計師必讀的書籍和期刊雜誌程式設計師
- 程式設計師必看的書-Ruby程式設計師程式設計師
- 《程式設計師的春天:EOM與程式設計師》程式設計師
- Lisp程式設計師眼中的其他程式設計師Lisp程式設計師
- Java程式設計師的工資標準是多少Java程式設計師
- 程式設計師選擇公司的8個標準程式設計師
- 八塊腹肌:矽谷程式設計師的新標配程式設計師
- 程式設計師必看的書之Java程式設計師程式設計師Java
- 程式設計師OR非程式設計師,有些程式設計的事需要知道程式設計師
- 黑客和程式設計師有什麼區別?程式設計師目標是成神,黑客目標是弒神!黑客程式設計師
- 盲人程式設計師的程式設計生涯程式設計師
- 專業程式設計師的標準,你達到了嗎?程式設計師
- 八塊腹肌:矽谷程式設計師的新標配 [圖]程式設計師
- 為程式設計師量身定製的12個目標程式設計師
- 悲催的程式設計師,以及程式設計師的悲催程式設計師
- 程式設計師的燈下黑:“逗到底”的程式設計師程式設計師
- 美女程式設計師觀點:程式設計師最重要的非程式設計技巧程式設計師
- 程式設計師快速睡眠攻略 失眠程式設計師的福音程式設計師
- 《程式設計師健康指南》:給程式設計師的健康書程式設計師
- 愛偷懶的程式設計師是好程式設計師程式設計師
- 程式設計師啊,程式設計師,究竟是咋的程式設計師
- 普通程式設計師和厲害程式設計師的差距!程式設計師
- 程式設計師何苦為難程式設計師?程式設計師
- 程式設計師何必難為程式設計師程式設計師
- 盲人程式設計師是如何程式設計的?程式設計師
- 糟糕程式設計師的程式設計風格程式設計師
- 《程式設計師》雜誌:我的資料庫學習“曲線”程式設計師資料庫
- 一個老程式設計師未來10年的計劃目標程式設計師
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師