慎於說Yes
在沒有搞清楚開發需求、任務工做量、團隊指望值以前,有前途的程序員不會輕易答應。特別是對於新人來講,比較急於表現本身,對於同事或者老闆的工做安排來者不拒,精神可嘉,方法不可取。承諾太多,會出現本身沒法按時完成的狀況,即便按時完成,也可能沒有達到別人的指望值,長期以往別人對你的失望會愈來愈多。前端
勇於說No
看起來和第一條雷同,其實細究起來不同。第二條執行起來比第一條可貴多。當遇到明顯不合理的要求時,能夠考慮拒絕,前提是準備好了全面充分的理由。不要常常說No,可是一旦說了,就要切中要害。有前途的程序員不會悶頭幹活,知道本身的定位和團隊指望,分清楚哪些是不合理的要求,哪些是合理的要求,而後把明顯不合理的要求和領導溝通下,取得支持。程序員
構建本身的知識體系
在信息爆炸的年代,碎片化的知識不少,系統學習的時間愈來愈少,若是沒有本身的知識體系,很容易被淹沒在知識的海洋中,並且難以記憶。100分程序員推薦的作法,經過Wiki或者其餘知識管理工具構建一個知識框架,大的分類能夠包括軟技能、架構、語言、前端、後端等,小的分類能夠更細化。算法
培養大局觀
程序員比較容易陷入的困境是專一於本身的一畝三分地,不關心團隊的進度和業績,也不關心軟件的總體架構和其餘模塊。這種狀態長期下去沒有好處,特別是在大公司中,逐漸成長爲一顆螺絲釘。100分程序員會在工做之餘,多看看其餘在作什麼,看看團隊的總體規劃,看看軟件系統的架構和說明文檔。對本身的工做更理解,並且知道爲何這個產品應該這樣設計,爲何領導應該這樣作規劃,這種大局觀很是有利於本身的職業生涯。編程
代碼規範
程序員在新手時期須要培養良好的代碼規範。最直接的辦法,遵循公司已有的代碼規範(若是沒有相似的規定,也是醉了),從簡單的變量命名到模塊劃分,有些規則能夠導入到編碼工具中,更多的部分須要本身體會和遵照。關於此方面的知識,最權威的書籍是《代碼大全》,別誤會,書名是個美麗的錯誤,裏面不是代碼集錦。對於新手來講,養成一個統一的編碼風格很是重要,是基礎一步。後端
代碼審查
把這個單獨拎出來講,是由於對於程序員來講很重要。不少快速成長的公司沒有這個步驟,建議你們可以堅持下來。讓別人審查本身的代碼,能夠獲得更多的反饋,也是和同事交流的好機會;審查別人的代碼,能夠借鑑別人的經驗和思路。一般狀況下,代碼審查比本身寫代碼的收穫更大,對於新手來講更有價值。只要你想作,不論形式是否是正規,均可以執行下去,最好造成團隊的習慣。瀏覽器
一個時間段內只專一於一種類型的語言
若是你正在設計或開發網站,你將須要同時熟悉多種不一樣的語言。你可能會想同時學習全部的這些語言,特別是考慮到它們是如何相互關聯的。
我想,在某種程度上,這是不可避免的。但若是你真的想快速提升,我建議你專一於一個特定領域的專業知識。你想更好地利用CSS?把你的重點放在這一點。嘗試使用一個單一的HTML文檔只使用CSS實現不一樣的佈局。 CSS Zen Garden 是一個使用相同佈局實現不一樣頁面樣式很是棒的例子。你也能夠經過查找元素的列表,並把精力集中在裏面。舉個例子來講,你熟悉CSS2,但想提高對 CSS3 的理解,你能夠學習CSS3屬性並逐一的實現它們。你能夠閱讀當前的 CSS3規範 ,還能夠經過每一個模塊的學習來了解它在瀏覽器上能(或不能)作什麼。架構
經過註釋來寫邏輯
說到編碼,我有堅持不少原則和想法。其中一個就是,代碼中95%都是邏輯。另外一個就是從人類語言到編程語言,邏輯並無改變。
這也就是意味着,若是你能在代碼中寫出來,也就能夠用英語或者其餘語言寫下來。框架
良好的時間管理
遲到對於任何一家公司都是個頭痛的問題。做爲一個程序員,有時候爲了完成任務經常不得不熬夜,從而致使次日上班就遲到了。可是咱們忽略了這一點,咱們的工做時間相當重要,由於在這段時間裏咱們要和客戶同步,也要與團隊其餘成員一齊協做。編程語言
深刻理解客戶需求
僅僅瞭解單一用戶的表面意思是遠遠不夠的。一個偉大的程序員應該具有能把繁瑣的要求理解並分解成項目的技術任務或子任務的能力,而且最後拿到的成果應精確知足客戶的需求。工具
絞盡腦汁仍是「NO」
假如抓耳撓腮仍是找不出解決辦法,咱們該如何是好?一個偉大的程序員應該神機妙算,能靈活應對困境。他們會去詢問同事,或者是向團隊領導者請教;在互聯網上面搜索,而後耐下心來一遍又一遍地試驗。相信山窮水盡疑無路,柳暗花明又一村,投降兩個字從未出如今他們的字典上。
編程以前準備好全套算法
親~還記得咱們老師逼咱們畫的流程圖嗎?還記得一個個案例和僞代碼嗎?他們都是灰常重要的軟件開發手段。一個偉大的程序員若是木有事先準備好算法,那他會不會像個傻小子似的只顧寫代碼呢?因此,在開工以前,作好全套的算法是必須的。
理解and幫助定義驗收標準
是否須要高成次測試腳本是產品全部者決定的,可是,做爲一個偉大的程序員必須可以編寫技術測試腳本,而且也要認識到若是跳過了這一步驟可能會帶來的後果。
主動一點點一個優秀的程序員不須要別人告訴他該作什麼,他的主動性要比別人強一些,他能夠自覺的關注流程,提升應用程序的靈活性以及快速的解決開發過程當中出現的Bug。