1. 程式人生 > >優秀程式設計師的6個共同特質

優秀程式設計師的6個共同特質

  作者: ROYVANRIJN  

摘要:如果你是一個程式設計師,你會發現身邊優秀的同事也總是有一些共同點。原文作者ROYVANRIJN總結了他身邊優秀程式設計師擁有的6個特質:具有好奇心、熱愛分享、具有社群意識、以身為程式設計師而自豪、有點懶、程式碼視覺化的能力。

如果你在一家IT公司,與周邊的程式設計師接觸時間越長,對他們的可愛之處瞭解地就越多:或呆或萌,或正派或猥瑣。如果你恰好是一個程式設計師,你會發現身邊優秀的同事也總是有一些共同點。原文作者ROYVANRIJN總結了他身邊優秀程式設計師同事擁有的6個共同特質: 

•  具有好奇心
  •  熱愛分享
  •  具有社群意識
  •  以身為程式設計師而自豪
  •  有點懶
  •  程式碼視覺化

1. 具有好奇心

他們總是保持一顆好奇心,凡是遇到問題,首先就是:Google!沒有Google就沒有發言權。然後,會在StackOverflow上查詢相關問題、瀏覽郵件列表、閱讀線上文件等等。 

這聽起來理所當然,但是部分人卻是先問自己身邊的同事。原作者認為,這個習慣不太好:Google檢索到的資訊遠比你周圍同事瞭解的多,沒必要放著這麼好的資源不用,在你緊張工作的同事身上費功夫。

當然,大多數時候第一次在Google搜尋問題,可能沒有自己想要的結果,不過不要放棄!繼續搜尋,嘗試使用不同的關鍵詞,或者直接閱讀原始碼。如果上面都沒有結果,那就在郵件列表、新聞組等社群提問。 

2. 熱愛分享

一旦找到解決自己問題的方法,然後就到此為止,然後就沒有然後了?No!一名優秀程式設計師不能這樣做。在地球上正有一群程式設計師遭遇和你一樣的問題,他們也正在嘗試解決。

理理自己的思路,寫成部落格記錄下來:遇到了哪些坑兒,如何避免這些坑兒。在你曾經搜尋過該問題的地方,如果問題還沒有解決,就幫助回答,貼出自己的方案,接受後來者的膜拜。當然,你可能會“自問自答”,這樣就準備接受後來者的鄙視吧。 

3. 具有社群意識

如果在使用某個開源軟體的時候遇到了Bug,你會怎麼辦?一般會有2個反應: 

•   抱怨,尋找另一個替代軟體
  •   下載原始碼,自己動手打補丁

上面2個方式都不太明智。開源社群之所以成為社群,就是因為是大家自願地來修復問題,很明顯第一個方式不太合適。那第二個方式為何不妥?我們不鼓勵直接下載原始碼來打補丁,應該首先聯絡該軟體的維護者。一個著名的例子就是,Linus Torvalds曾拒絕合併一段可以大幅提升Linux核心速度的程式碼,只是因為該段程式碼的作者獨自工作了6個月之久。記住,首先與社群一塊討論你的改進,然後大家一起來做!

有句俏皮話是這麼說的:開源專案沒死掉,是因為還沒人來修復你的Bug;因為沒人修復你的Bug,所以這個開源專案死掉了。 

4. 以身為程式設計師而自豪

優秀的程式設計師都以作為程式設計師而感到自豪。一旦你完成了某項功能,你會迫不及待地將成果展示給客戶、麻利利地實現客戶的想法。

如果發現自己的程式碼裡面可能存在問題時,怎麼辦?可能會“自大”,因為是自己寫的,就覺得程式碼稽核沒有必要;或者有問題也非要自己完成,而不是協作解決。優秀的程式設計師,應該學會與團隊分享,時刻保持激情,但不僅僅是為了自己,而是為了團隊、產品和專案。 

5. 嗯…有點懶

幾乎全部職業的優秀員工都很勤奮、工作努力,不過程式設計師例外,那些優秀出色的程式設計師都有點懶。這可能是唯一把懶惰當做優秀品質來對待的職業(測試人員可以除外)。 

也許可以說明這一優秀特質的最知名的例子就是“計算機第一夫人”Grace Hopper在1952年發明了編譯器。她解釋說,做出編譯器就是因為自己很懶,並且希望程式設計師都能夠成為一個數學家。 

如果一個程式設計師被要求定期完成某事,他/她會堅持想出一個辦法來避免這樣做。“一次編寫,到處執行。”如果客戶總是談論令人厭煩的重複性的工作,優秀的程式設計師總會嘗試著將這個工作自動化。 

比爾蓋茨也講到“我總是會選擇一個懶人去完成一份困難的工作。因為,他會找到捷徑”。 

程式設計師們,擁抱“懶惰”吧,將重複性的工作自動化,不要重複自己!提示:懶人們應該快速學會快捷鍵喲~這也是優秀程式設計師應該做的!! 

6. 程式碼視覺化

對於整個程式碼庫,需要在腦子裡面構建一個模型。這就是我們所說的“程式碼視覺化”。

要做到“程式碼視覺化”,首先我們需要了解整個程式碼庫。需要對部分程式碼進行修改或增刪時,需要知道在什麼地方進行查詢。問題出現在什麼地方,應用程式中的物件/例程是怎麼進行的,每個模組之間的關係是怎樣的,這些都需要清楚。 

其次,需要了解正在工作的程式碼環境。大部分情況下,我們會在多個檔案中來回切換,優秀程式設計師會明白自己當前所處的環境,不會覺得暈頭轉向。只要一看程式碼框架和結構,就可以快速找到自己需要的原始檔。當然,這需要對整個程式碼做到了然於胸。 

不過,程式猿和程式媛在程式碼視覺化方面的能力是由有差別的,據目前研究,貌似IDE中的導航功能更對程式猿有利。 

相關推薦

優秀程式設計師6共同特質

  作者: ROYVANRIJN   摘要:如果你是一個程式設計師,你會發現身邊優秀的同事也總是有一些共同點。原文作者ROYVANRIJN總結了他身邊優秀程式設計師擁有的6個特質:具有好奇心、熱愛分享、具有社群意識、以身為程式設計師而自豪、有點懶、程式碼視覺化的能力。 如果你在一家IT公司,與周邊的程式設

優秀程式設計師具備的10共同特徵?

一、前言 如果你對最新的程式語言和最新的框架有最新的瞭解——非常棒!你已經掌握了編寫優秀程式碼所需的技術技能。但是,擁有堅實的技術能力並不是唯一需要程式設計師的職業。要想脫穎而出,你需要具備做這項工作所需要的各種特質,並做好它。 二、特徵分類 以下幾個是優秀程式設計師特徵的分類:: 1、愛好和經歷都很廣泛。深

程式設計師6年只幹了50小時的活,自動化工作是要逆天麼?

2016年,Reddit上出現了一則匿名的自白帖子:“大概六年前到現在,我在公司什麼活都沒幹。” 這個化名為FiletOFish1066的程式設計師稱自己供職於一家知名的科技公司,實際上無所事事。 他寫道,謀得這份質量保證工作的八個月後,他使自己的全部工作完全自

【連載】優秀程式設計師的 45 習慣之習慣35

對問題各個擊破 ——  高效程式設計師的 45 個習慣之習慣35 “逐行檢查程式碼庫中的程式碼確實很令人恐懼。但是要除錯一個明顯的錯誤,只有去檢視整個系統的程式碼,而且要全部過一遍。畢竟你不知道問題可能發生在什麼地方,這樣做是找到它的唯一方式。”    

【連載】優秀程式設計師的45習慣之45——及時通報進展與問題

好訊息: 本書今天互動網有貨,噹噹網、卓越網也會陸續有貨。 及時通報進展與問題 —— 高效程式設計師的 45 個習慣之習慣45 “管理層、專案團隊以及業務所有方,都仰仗你來完成任務。如果他們想知道進展狀況,會主動找你要的。還是埋頭繼續做事吧。”    接受一個任務,

優秀程式設計師的45習慣書籍簡介

強烈推薦大家將這些打印出來,貼在自己的辦公桌旁邊的牆上,學習實踐。 態度篇 1. 做實事 不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。 2. 欲速則不達 用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。 3.

優秀程式設計師的45習慣]

態度篇 1. 做實事 不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。 2. 欲速則不達 用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。 3. 對事不對人 就事論事,明智、真誠、虛心地討論問題,提出創新方案。 4. 排除萬難,奮勇前進 勇氣往往是克

【連載】優秀程式設計師的45習慣之42——允許大家自己想辦法

允許大家自己想辦法 —— 高效程式設計師的 45 個習慣之習慣42 “你這麼聰明,直接把乾淨利落的解決方案告訴團隊其他人就好了。不用浪費時間告訴他們為什麼這樣做。” “授人以魚,三餐之需;授人以漁,終生之用。”告訴團隊成員解決問題的方法,也要讓他們知道如何解決問題的思路,這也是成

優秀程式設計師的45習慣(轉載)

1. 做實事不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。2. 欲速則不達用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。3. 對事不對人就事論事,明智、真誠、虛心地討論問題,提出創新方案。4. 排除萬難,奮勇前進勇

優秀程式設計師的八好習慣

關注微信公眾號“測試自動化顧問”(ID: taforum),更多原創文章等您。讓我們一起探討自動化測試的成功之道!Sonny Recio在Hacknoon上發表了一篇名為《What habits made me a better Software Engineer?》的文章,

優秀程式設計師的十習慣

在這個世界上,有數百萬的人熱衷於軟體開發,他們有很多名字,如:軟體工程師(Software Engineer),程式設計師(Programmer),編碼人(Coder),開發人員(Developer)。經過一段時間後,這些人也許能夠成為一個優秀的編碼人員,他們會

優秀程式設計師所具備的7好習慣

除了必需的技術技能和邏輯能力,下面講一下一個團隊應該具備怎樣的好習慣: 1. 良好的時間管理 遲到對於任何一家公司都是個頭痛的問題。作為一個程式設計師,有時候為了完成任務常常不得不熬夜,從而導致第二天上班就遲到了。但是我們忽略了這一點,我們的工作時間至關重要,因為在這段時間裡我們要和客戶同步,也要

一個優秀程式設計師的自我修養

對於網路推廣來說,必然少不了代理IP的使用,像論壇發帖、微博推廣、百度問答等等,如果你想看到效果,就需要大量操作,但是同一個IP重複操作,必然會受到限制,這個時候必須使用代理IP比如太陽IP軟體的幫助,將效率和效果最大化。 當然這只是推廣過程中的一小部分,如果你想更好的去操作,就要多掌握一些操作技巧,這樣才

優秀程式設計師應該具備的12種能力

1. 程式語言能力   不用多說,作為合格的計算機程式設計師,精通一門語言是必須的。這種精通,不是說看了一本程式設計寶典,抄了幾個程式就能說精通的,要靠長時間的積累。   2.編碼能力   我曾經看很多程式設計師寫的程式碼,在同一個jsp或者java原始檔裡,出現了三種以上的對方

#HR吐槽程式設計師30面試者因下雨一個沒來,這種態度還想找工作?

我們每個人找工作的時候都希望有一份好工作,我們都希望輕鬆並且薪資高或者福利好,但是你想要找到這樣的工作,你還得有實力。一般人區求職的時候一般會面試多家公司,然後從職業發展、薪資待遇、員工福利等多方面考慮,然後擇優選擇! 如果有想學習java的程式設計師,可來我們的java學習扣qun:723

凌晨3點不回家不心酸:程式設計師真實通宵時刻

《凌晨3點不回家,成年人的世界是你想不到的心酸》一篇引起熱議,繼而出現其他反駁的聲音:《凌晨3點不回家:對不起我做不到》、《凌晨3點不回家?那是你效率不高》。 從事IT行業,有時候凌晨三點不回家真不是效率不效率的,今天和大家分享幾個真實加班的時刻: 01 初入職場,連續睡辦公室 剛畢業,在

程式設計師月面試30家公司全部失敗!血淚總結面試經驗!

大概一年前,研究生畢業 踏上了找工作之旅   七月的北京,特別的熱 為了找到一個好一點的工作,在北京城四處穿梭 經過前期的一些列準備,也通過很多公司的筆試   在八月的時候正式的開始了各種面試 剛開始的面試是特別不順利的 整個一個月

懂得這40條程式設計箴言才稱得上優秀程式設計師

1、重構是程式設計師的主力技能。 2、工作日誌能提升腦容量。 3、先用profiler調查,才有臉談優化。 4、註釋貴精不貴多。杜絕大姨媽般的“例注”。漫山遍野的碎碎念註釋,實際就是背景噪音。 5、普通程式設計師+google=超級程式設計師。 6、單元測試總是合算的。

優秀程式設計師應具備的自我修養

態度篇 1. 做實事 不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。 2. 欲速則不達 用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。 3. 對事不對人 就事論事,明智、真誠、虛心地討論問題,提出創新方案。 4