如何在三年內成長為頂級coder
在編程這樣典型腦力勞動的行業,如「超體」附身的世界***程序員簡直被當做大神來崇拜。在 100offer 的程序員拍賣庫中,擁有多年工作經驗的資深程序員毫無疑問占據了主力位置,但越來越多的非科班出身、有激情和想法的年輕程序員也在源源不斷地涌現。其實,從菜鳥到大神的跨越說難也不難,看看這個腦洞大開的漫畫,或許你也可以在三年之內成長為「*** Coder」。
如何在三年之內成長為*** Coder?
如果你以為這是個搞噱頭的偽***,笑笑就放棄了,那就真是too young, too simple, sometimes naive.
用三年時間成長為***Coder是有可能的。
你需要的是「自律」和「堅持」。
請注意,我們說的是「Coder」,而不是「Programmer」或「Software Engineer」。
對于Coder,我們是有客觀評價標準的,那就是參加「編程比賽」。
除了國內的各種程序設計大賽,我們更推薦參加國外的編程比賽網站,如「topcoder」、「codeforeces」。這些網站上每個月都有比賽,只要你有一臺能上網的電腦就可以免費參加,和全球的Coder競爭,贏得了比賽還有美金拿哦!
Tips:
- 進入topCoder的練習室,每天花4-6個小時練習編程。
- 制定一個計劃,比如:每天解決10個初級問題,每周搞定3個中級問題、1個高級問題。
- 如果在某個問題上困住了,馬上去論壇求助。要知道,問問題體現了你的思維邏輯,問出好問題也是需要練習的。試著每周在問答網站 stack over flow 上問一個問題吧!
- 不要閉門造車,把你的代碼展示給別人看,他們提出的意見會讓你事半功倍,推薦免費網站coder review。
- 學會看別人的代碼,看代碼其實比自己寫代碼更難,但是高手是可以輕易調用別人的代碼的,推薦gitub,可以輕松地找到海量的開源代碼。
- 建議采取一些外部的措施克服拖延癥,比如開通一個博客、或微博,每天在上面記下你今天做過的一件重要的事情,保證每天晚上都帶著巨大的滿足感入睡。
如果堅持做到以上這些,你完全可以成為一名***Coder。
需要注意的是,編程比賽關注的是算法能力;要成為一名「 Programmer」或「 Software Engineer」,你還需要項目經驗。
正如Facebook喜歡雇傭所謂的 「Full Stack Programmer」,就是一個人從設計、到交互、html、css、javascript、server、sql、架構,以及數據統計都能做。成為Full Stack Programmer***的方式就是不斷做個人項目。
參加Hackathons 或 game jams 就是鍛煉項目能力的好方法。
在規定的時間內,一群開發者分享、討論、組隊、分工協作,用創意思維完成項目任務。無論是制作一個游戲,還是網站,在整個項目的進程中,你會不斷經歷發現問題、解決問題、獲得經驗的過程,從而保證在實際工作中也能輕松解決問題。
小結
入行時間并不是衡量人才能力的絕對標準,碌碌無為的「老人」在各行業都不鮮見。在3年之內能否成長為一名優秀的 Coder 或 Programmer,其實取決于你對所做事情的理解程度。
對所做事情理解的越深,你就會做的越好。
成為一名優秀的程序員和成為其他行業的高手一樣,都需要不停地學習、練習、反省和總結。這不僅是最初3年的要求,而是貫穿整個職業生涯的要義。