“成為一個傑出的程序員!”,每個程序員都是這么想的,雖然嘴上不說!這是一個人人自稱“屌絲”,骨子里卻都認為自己是“高富帥”(或者認為自己終究會成為高富帥)的年代!
大部分時候,我們一直在努力成為一名優秀的程序員。但是,更多的時候,我們並不知道如何成為一個優秀的程序員!
怎樣成為一個優秀的程序員?
完美主義?注重細節?懂用戶需求?恩,聽起來都有道理,但又覺得很虛,難以實施!
選(fang)擇(fa)比努力重要,一味只會埋頭苦干的人,注定成不了傑出的程序員,有時候,我們需要停下來:思考!
我不是一個傑出的程序員,甚至可以說不是一個正統的程序員,所以沒有資格來給出一個好的答案,但是“課程格子”的李天放工程師給出的答案,覺得很是認同。分享給大家:
首先, 我認為答案絕對不是 “只要寫很多年代碼就好了“。我面試過不少有10年經驗,代碼卻寫的很糟糕的程序員。經驗很保貴, 但只靠經驗是不夠的。就像下棋一樣,假如你用心研究,復習,不斷挑戰自己,也許可以成為一名大師。但不斷用懶散的方式去玩棋,下20年也只是一個”臭棋簍子“。
我覺得比較有用的進步方式:
1. 學會看代碼
大多數程序員都只願意用自己寫的代碼,但高手一般可以輕易調用別人寫的代碼。表面看上去是工作習慣不同, 但實際上是能力上的差別。看代碼要比寫代碼難很多倍。
我建議上班時多給隊友們作code review,下班后試着閱讀github上的開源代碼。
2. 復習
程序員一般都很忙, 手上有永遠也做不完的活兒。但在某些公司里, 你只是在反復做同樣的事。偶爾放下手上的活兒,留下一部分時間來分析自己的弱點,更改壞習慣,看新書, 或學習新語言。
3. 做個人項目
工作中的編程一般只能讓你熟悉一部分技術, 導致漏洞的形成。這就好像你長期一個人在自己后院練習投籃, 但第一次打比賽才(在慘敗中)發些原來還需要傳球, 防守, 強籃板這些概念。
Facebook喜歡雇佣所謂的 “full stack programmer”,就是一個人從設計,到交互,到html, css,javascript, server,sql, 架構,和數據統計都能做。成為full stack programmer最好的方式就是不斷做個人項目。
4. 問答網站
問問題和回答問題都是很好的學習方式。 有的時候寫出一個好問題, 比寫出解答次問題所需要的代碼還難。寫問題可以幫你整理自己的思維邏輯。你可以試着每周在http://stackoverflow.com上問一個好問題或寫一個好答案。
5. 加入一個好團隊
最好的進步方式就是跟比自己強的人一起做事。高手都願意聚在一起,所以很多會選擇去優秀的早期創業公司。我在硅谷和創新工場創業時遇到了很多神人, 跟他們學了不少東西。
恩,就這么多吧,希望自己有朝一日,能成為一個正統的程序員!
關於學習,自我修養,我這里分享一些自認為很好的網址給大家。
0:Github Linus又一神作,真正的程序員之家!
1.Quora 最好的外文問答社區
2.知乎 最好的中文問答社區
3.虎嗅 一個很有節操的新科技媒體
4 PingWest 清新的科技媒體
5.阮一峰的網絡日志 有態度,文章深入淺出
6.網易公開課
7.果殼mooc學院
8.coursera
9.Matrix67 數學愛好者必備
10.CSDN cnblogs stackoverflow 這幾個網站程序員該多逛逛
11.算法之道 程序員面試必備
12.前端網址導航 耗子收集的一些前端相關的網站
13.快課-程序員的自我修養 一群程序員的自娛自樂之地,IT精品資源集散地!
后面這個是自娛自樂,不要當真,當真你就贏了!
作者:快課 出處:cricode.com