給新程序員的建議

给新程序员的建议

初學編程的學生並不是每天都有機會向709名軟件開發人員徵求意見。

概述

在瑞典的馬爾默有一個學校叫做遊戲大會(The Game Assembly),這個學校致力於教導學生製作遊戲。從編程到藝術和設計,應有盡有。這裡是三年的學制,並且最後一年是在一個遊戲工作室中度過。

由於我在一家遊戲公司任職,這些年被邀請為這裡的學生們舉辦過幾次講座,我對此感到非常的榮幸。

今年我和一年級的學生有一次交流會,原本我的想法是回顧一下面向對象編程的基礎知識,但是我還有另外一個想法。

為什麼不在 Twitter 上面諮詢一下人們對於”容易受影響的年輕人”有什麼建議?

Ólafur Waage olafurw

嗨,推特上的開發者朋友們!

過幾天,我將與一些易受影響的年輕人有一場交談。

他們正處於學習的初期,大概二十來歲的樣子。

你能給一個靠譜點的建議嗎?與語言無關的。

歡迎轉推。

如果有好的好的建議我也會在 ppt 中引用的。


2019年1月27日 3點53分


令我沒有預料到的是竟然收到超過700條回覆。因為從發推文到演講只有兩天的時間,我來不及將所有建議都總結出來。但是我儘量整理出了那些比較熱門的回覆以及從事於遊戲行業的人的回覆。


但是還有很多不相關的信息需要忽略,所以我需要對這些回覆做些分析。


獲取數據


首先我試著根據推特上的時間線瀏覽並複製內容,但是顯然當時間線達到一定大小時,推特會限制你能閱讀的推文數量。至此,我只能看到285條回覆信息。


接下來使用 Twitter 開發者編程接口(Twitter Developer API),它擁有嚴格的限制,但是可以實現更加精準的查詢。


利用 Python 和 Tweepy,並且在每一個請求之間休眠5分鐘,我可以拉取到763條推文,這些推文直接回復了我的問題。共耗時362分鐘,或者說6小時。休眠時間短一些也可以,但是我給它留了一夜,所以這不重要。


給新程序員的建議

基本分析

分析文本語料庫本身就是一個教育領域,我並不具備相關的專業知識或時間來深入研究,不過我想強調說明一些突出的觀點。

編程屬於人文領域

673條推文中有131條提到了其他人,佔17.1%

他們談到了人類、團隊、同齡人、朋友、同事。

下面是一些例子:

網友A

軟件編程是一種團隊運動

網友B

生活中最重要的事,以及那些你總在關注的,就是如何與別人打交道

網友C

在知識的旅途中保持信心與激情

每天結束的時候與其他開發者聊聊,你們是一個團隊

成為 “Rockstar“ 的一員,因為知識應該共享

網友D

永遠不要忘記在計算中尋找同情的空間

編程是持續學習

有13個回覆確切地提到了“不要停止學習”。

在763條推文中,有82條是以不同的方式談到了學習與實踐,佔10.7%

下面是一些例子:

網友A

這裡沒有捷徑,只有實踐、實踐,再實踐

網友B

你有義務持續學習並作出職業規劃

網友C

即使你所會的不過滄海一粟,你仍然可以指導別人並幫助他們學習編碼

網友D

你還將繼續學習

你尚未成功

做好實踐

閱讀書籍和博客

不要期望一蹴而就

編程可能使人望而卻步

許多回復很好的反映了這一點,你仍有很多未知的東西需要學習

有27條回覆談到了錯誤或者失敗,29條涉及恐懼,擔心或者害怕

網友A

不要與其他人比較,與之前的你比較

網友B

不要害怕說你不知道

不要害怕向他人求助

我們都有自我能力否定傾向

網友C

我們都會犯錯

儘量誠實的承擔錯誤,不要感到羞恥,並且不要在他人犯錯時恥笑他人

網友D

技術是暫時的,但關係是長久的

從情感上了解你的同事和你自己

擁有在逆境中抗爭的勇氣

即使你看起來有些愚蠢,也要尋求幫助

編程不只是新技術

誠然,那些新的惹人眼球的庫/語言/框架很酷,但是正如許多回復所描述的,基礎更為重要。

34條回覆直接談到了關於技術、算法以及關注更廣闊的領域。

網友A

語言和工具迭代很快

學習在不同語言、庫甚至範例中所看到的相同的或者更有韻味的模式

瞭解不同技術的優缺點,以便為特定的問題選擇最佳解決方案

網友B

選擇你感興趣的編程領域併為此工作

小增量任務-“嘿,我讓屏幕變紅了!我做了一個漸變”,“嘿,我在頁面上移動了按鈕”,等等

語言、框架、庫、“技術棧”並不重要(忽略那些肯定它的人)

網友C

世界需要的是解決問題的人,而不是固有的算法

編程可能對你有高的要求

還有一個常見的討論點是個人健康,正確的睡眠和飲食被列在健康行為的首位。

33條回覆討論了睡眠、飲食、個人健康以及工作時長的相關內容。

網友A

保持睡眠,健康飲食,照顧好自己的身體—即使你感覺身體很好

高工作時長並不意味著高質量,也不表示高完成度

你不必完全通曉你的職業

你不必打破外部的生活模式,只要開心就好

網友B

照顧好自己的身體

沒錯,實際的編程技巧是有用的,但是要保證使用的鼠標的時候不會傷到自己,坐下的時候不會感到背痛,關注屏幕的時候不會感到頭痛,等等

網友C

過猶不及。儘可能享受你那糟糕透頂的生命。署名,一個22歲但看起來像44歲的人

網友D

每週工作100小時並不意味著你就是專注的

照顧好自己的身體,坦誠的與經理交談

享受你的業餘時間,這樣你每次都能保持最好的工作狀態

愛好+朋友與良好的職業道德並不相違背

關於編程,其他一些有趣的回覆

上面的幾類都屬於常見話題,還有一些不屬於常見類別但是仍然值得一提的回覆。

30條回覆提到測試

網友A

學會先問這些問題:

* 我怎麼知道它有效?

* 我該如何使它自動化?

學習依靠自動化測試 ASAP 可以節省人們大量時間

18條回覆談到某種版本控制

網友B

使用一種版本控系統

如果之前有人告訴過我,我會很高興

14條回覆關注調試

網友C

代碼往往不存在不確定原則

確保事件真實發生的唯一方法就是通過調試密切觀察!

致謝

像這樣的主題相當罕見,因為這麼多人花費時間來回復著實有些讓人難以置信。

感謝所有回覆,轉發和喜歡這篇推文的人。

我希望這個主題能夠對你有所啟發,也希望這篇博文能對你有所幫助。

保持謙虛,保持好奇心。

英文原文:http://olafurw.com/2019-01-27-programmer-advice/
譯者:敦偉


分享到:


相關文章: