程式設計入門,這763位老程式設計師有話講!

AI科技大本營發表於2019-02-09

640?wx_fmt=jpeg

作者 | Ólafur Waage

譯者 | 彎月

來源 | CSDN(ID:CSDNNews)

概述

瑞典馬爾默有一所名為 The Game Assembly 的學校。這所學校專注於教學生遊戲製作。從程式設計到藝術和設計,所有內容都教。這是一個為期三年的計劃,最後一年會去遊戲工作室實習。

因為我在一家遊戲公司工作,所以他們邀請我去為學生們舉辦講座。多年來我舉行過很多次講座,每當有這樣的機會都感到非常榮幸。

今年我要舉辦的講座面向的是大一新生。主要目的是為了回顧物件導向程式設計的基礎知識,但我還有另外一個想法。

我想聯絡Twitter上的人,問問他們是否能給這些“易受影響的年輕人”一些建議。

於是,我在Twitter上發了如下一則訊息:

各位Twitter上的程式設計師:你好!

最近這幾天,我要去給一些易受影響的年輕人開一個講座。

他們剛開始學習程式設計,正處在20歲出頭的年紀。

你有什麼寶貴的意見嗎?語言不限。

在此向各位表示感謝!

640?wx_fmt=png

沒想到我收到了700多條的回覆。因為從發出這條推文到我去開講座只有兩天的時候,所以我沒能彙總所有的建議。但是我設法找到了最受歡迎的部分回覆以及從事遊戲行業的人的回覆。

但是很多建議都無法展現出來。我需要分析這些回覆。


獲取資料


首先,我設法按照 Twitter 上的時間線挨個瀏覽,然後把內容複製出來。但是很顯然如果某條推文的回覆達到一定的大小,Twitter 就會限制你能看到的回覆。所以我只能看到285條回覆。

接下來是使用 Twitter Developer API,雖然這個 API 有嚴格的流量控制,但可以實現更精細的搜尋。

於是,我通過 Python 和 Tweepy,每隔5分鐘發一條請求,最後獲得了763條直接的回覆。總共花費了6個小時(362分鐘)。可能間隔時間再短一些也沒問題,但反正我的指令碼是在夜間執行的,所以無所謂了。

for page in tweepy.Cursor(api.search, q="to:olafurw", since_id='1087438169585434624', tweet_mode='extended').pages():
  repliesFile = open("replies.txt""a")

  for tweet in page:
    repliesFile.write(tweet.in_reply_to_status_id_str + "\n")
    repliesFile.write(tweet.user.screen_name + "\n")
    repliesFile.write(tweet.id_str + "\n")
    repliesFile.write(tweet.full_text.encode("utf-8") + "\n")

    repliesFile.write("\n--==--\n")

  repliesFile.flush()
  repliesFile.close()

  time.sleep(300)


基本分析


分析文字語料庫本身自成一科,我沒有足夠的知識或時間深入研究。但我想強調一些重要的問題。


程式設計是一個人類領域


763條推文中有131條談到了其他人。佔總比的17.1%。

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

下面是一些例子:

@tomjadams

軟體是一個團隊專案。

@mrdowden

生活中最重要的事情(也是你能時刻控制的事情)就是你如何對待別人。

@originalJonLowe

在求知的過程中保持樂於助人與善良。

與其他開發建立良好的關係,因為終有一天你會成為團隊的一員。

注重團隊合作,不要逞個人英雄主義,因為知識原本就應該分享。

@ccmccomb

永遠別忘了在計算機領域保持同情心。


程式設計是一件持續學習的事情


13個回覆明確說“永遠不要停止學習”。

763條推文中有82條談到了學習或練習的方法。佔總比的10.7%。

下面是一些例子:

@iam_js_

學習程式設計沒有捷徑,唯有練習、練習、再練習。

@curtisko

你有責任持續學習和發展職業生涯。

@hedgeb

即使你只是幫助手冊中的一頁,也可以指導別人並幫助他們學習編碼。

@howbazaar

書山有路勤為徑,學海無涯苦作舟。

大量練習。

讀書,看部落格。

永遠不可能速成。


程式設計可能令人生畏


許多回復都很好地反映了這一點。需要學習的東西很多,你的知識遠遠不夠。看看這個領域的專家可能會讓你膽怯。

27個回覆談到了錯誤與失敗,29個回覆用到了恐懼、擔心或害怕等詞語。

@jitterted

不要跟別人比,跟你自己的過去比。

@greberger

不要害怕說你不知道。

不要害怕向別人求助。

我們(曾經)都有冒名頂替綜合症。

@ben_deane

每個人都會犯錯。

誠實地為自己的錯誤承擔責任,不要感到羞恥,不要在犯錯誤時把責任推給別人。

@FiddlersCode

技術轉瞬即逝,但關係永久長存。

多多瞭解你的同事和你自己。

有勇氣說出自己遇到的困難。

勇敢地向他人求助,不要害怕別人把你當傻瓜。


程式設計不僅僅是最新的技術


閃閃發亮的新程式碼庫、新語言和新框架非常酷。但正如許多回復所顯示的那樣,基本知識更為重要。

34篇回覆直接談到了技術、演算法與關注全域性。

@bjorn_fahller

語言和工具來也匆匆,去也匆匆。

學會掌握不同語言、庫與正規化中的模式與邏輯。

瞭解不同技術的優缺點,根據具體的問題明智地選擇技術。

@aras_p

找到你感興趣的程式設計領域,並長期從事。

日積月累非常重要:“我把螢幕變紅了!現在我可以讓它漸變了!”,“我移動了頁面上的按鈕!”,如此這般一點點積累。

語言、框架、庫、“技堆疊”並不重要(如果有人說這些很重要,請無視)。

@rickschott

這個世界需要解決問題的人,而不是隻會死記硬背演算法的人。


程式設計要求你付出得太多


個人健康也是一個常見的討論點。最重要的健康行為莫過於睡眠與飲食。

33個回覆談到了睡眠、飲食、個人健康和工作時間。

@sehurlburt

保證充足的睡眠,健康的飲食,保證身體健康。花費的時間越多不代表工作做得越好,有時甚至不代表可以完成工作。

事業不能以健康為代價。

健康快樂最重要,不必過於強求。

@caffodian

照顧好自己的身體。

程式設計技術固然重要,但是不能握滑鼠握到手發麻,不要常坐不起讓自己腰痠背痛,經常看看窗外,……。

@ArvidGerstmann

過猶不及。趁著年輕多享受生活。24歲的人看上去像44豈不令人嘆息?

@ma_lindstedt

每週工作100小時並不意味著你很專注。

照顧好自己的身體,敞開胸懷,多多與經理交談。

盡情地享受業餘時間,才能更出色地完成工作。

愛好+朋友與良好的職業道德並不互相排斥。


程式設計,其他有趣的回覆


上面的回覆都有共同的主題,但是下面這些無法進行具體地分類,但值得一提。

30個回覆提到了測試

@brianokken

學會問下列問題:

  • 怎樣才能知道這樣做可行?

  • 怎樣才能自動化?

  • 儘快學會利用自動化測試,這可以為你節省大量時間。

18個回覆談到了版本控制

@UndefinedBehav

使用版本控制系統。

如果有人早點告訴我的話,我會欣喜若狂。

14個回覆提到了除錯

@AliBeeGfx

編碼通常與不確定性原則相反。

保證確定性的唯一方法是通過除錯仔細觀察!


鳴謝


像這樣的推文非常罕見。如此多的人願意拿出寶貴的時間來回復出乎了我的預料。

感謝各位的回覆、轉發與點贊!我希望這條推文能激發你的靈感,我也希望這篇博文對你有所幫助。

原文:http://olafurw.com/2019-01-27-programmer-advice/

作者:Ólafur Waage,瑞士Ubisoft Massive公司的程式設計師,擅長 C++。

(本文為AI科技大本營轉載文章,轉載請聯絡作者。)


徵稿

640?wx_fmt=png


推薦閱讀:

點選“閱讀原文”,開啟CSDN APP 閱讀更貼心!

相關文章