04.19 計算機專業同學如何避免自己成為一名低級碼農

程序員只是一個職業,做好這份職業與做好其他的職業無異,想要做好這個職業就要多思考,多動手。

至於要成為偉大的程序員,那麼在大學裡除了職業知識的積累,還要注意自我的反思,成長。

計算機專業同學如何避免自己成為一名低級碼農


上面的話就是幾句有用又沒用的話,那麼我來具體介紹一個可執行的方法

使用的工具是:github,具體的方法是:模仿

首先,選擇一個你感興趣的方向。

然後,按照語言或方法在github上找到你覺得已經到達Google/Facebook這種級別的工程師關注。我估計你如果看他們的項目會很困難,那沒關係,在關注他們的人中找,你總會找到類似你這樣,比你強但差距沒那麼大的人,依次類推直到找到符合你現在階段實力去模仿的人。

單單在github上模仿他們的代碼可能還不行,如果遇到你不知道的代碼,那麼直接貼到google來搜索吧,另外還可以搜索他們的個人網站或推薦的東西。

一邊模仿一邊積累知識點,如果有可能可以改進自己再做,甚至可以再你模仿的項目中對你覺得自己能寫的更好的地方提交代碼;

做到獨立的思考。

計算機專業同學如何避免自己成為一名低級碼農

所有別人的建議,與前輩所謂的經驗對你來說都有參考價值,即使是錯誤的,你也得到了一份名為失敗的經驗;同時,在你不給出你自身的情況時,所有的參考又必然不完全適合你。你要知道別人初中高中有編程特長生,人家高中就鑽研pascal,c++,不談精通,熟練使用自然不在話下。你可能是上了大學才知道CS要學什麼,花了一年入門c或java還是一知半解,而別人此時已經搞定了linux,web前後端,馳騁http.etc 起點不一樣,學習過程也要不一樣。

做java的常被批為碼農吧?那些理解透徹j2ee,jvm,andriod這麼多java的方向,你還以碼農稱呼他們嗎?基本沒有一個大學是手把手教你這麼多具體東西的,全是自學。

我們常常嘲笑的是那些培訓機構工廠式生產出來的程序員,因為他們比我之前說的那種人少了一個東西,叫做自我思考的能力。別人的經驗永遠是別人的經驗,別人的成功只屬於他個人,一味遵循別人的步伐,很難實現自我。要學的很多啊,具體的知識我沒說,怎麼學我也沒說,我只想告訴你時刻不要忘記自己獨立的思考。

任何職業都是有好壞之分的,同樣的職業卻又很多不同的人群,關於碼農這件事,舉個例子吧,之前聽過學校附近有一家外包公司專門給日本做軟件外包的業務,所以公司裡最多的也就是程序員了,但是日本的那家公司在發過來的設計文檔中其實已經包含了程序員所有要做的工作,不僅僅是軟件的界面、功能,甚至連要用什麼數據機構,要用什麼算法,變量名函數名都寫好了送過來,程序員每天的工作基本就是看著偽代碼打進去。

計算機專業同學如何避免自己成為一名低級碼農

但是其實程序員的工作就是敲代碼嗎?不是的,應該是寫代碼,就是說,這個代碼,應該怎麼寫,用什麼算法應該都是程序員要考慮的問題,所以在學習的時候就要多動腦了,大部分同學在學編程的時候其實都是簡單的看著書上的代碼敲進電腦裡,一看結果對了,就感覺自己學會編程了。其實這種人就很容易成為碼農。真正的程序員是需要思考的,相對於編程語言,我覺得對於數據結構和算法的學習和思考更為重要,算法設計好了,程序實現起來其實是很簡單的。所以在學習的過程中不要進入一個誤區,就是想所謂編程就是學會一兩種語言,能夠用語言完成我所需要的功能就這麼簡單了。當你在寫一段代碼的時候,應該多思考,思考這段代碼的健壯性、可移植性,時間複雜度等等,試圖去尋找更好的方法讓代碼變得更有效率,運行的更快,bug更少,甚至去建立一種新的算法解決已有的問題。


分享到:


相關文章: