code 海無涯,不想溺斃就快抓緊這 6 個緊急救生圈吧!

隔行如隔山,因應不同專業背景讀者們的需求,我們還是先用最白話的方式來簡單說說 coding 是怎麼一回事。如果你常常參加一些科技人的聚會,應該聽過很多人說自己是 programmer(程式設計師),簡單地說,他們的工作範疇包含分析、設計、編碼、測試、排錯等不同階段,而 Coding 就是其中的「編碼」的部分,說人話,就是「寫程式」啦!

到美國、英國,你得說英文;到法國,你得說法文;到日本,大部份在地人可能聽不懂英文,你就得乖乖說日文,才能和日本人溝通,而 coding,就是用所謂的程式語言 (Programming Language) 和電腦溝通 / 對電腦下指令,基本上,你怎麼說,它怎麼做,不同的 coding 過程,就能堆砌出不一樣的 APP、電腦軟體、網頁,以及任何你在銀幕上可以看到的東西,比如動畫。

10-0094

(圖片來源: hackNY)

  • code 路漫無止盡、鬼怪環伺   專家: 別人的經驗對你沒用

說實在話,大多數的 programming(程式設計),並不是只有智商 180 的怪胎才有辦法完成。尤其現在成千上萬的部落格文章、論壇、APP,相關教程或心得文俯拾即是,不過,這些前人或所謂達人 (真假也未定) 的經驗,常常會讓人誤以為 coding 可以是一件和買菜一樣純粹的事情,引誘著無數人走上了這一條漫漫不歸長路,等到發現再無回頭之路的時候,才漸漸發現 coding 圈內人才會知道的真相 – 即使以極其堅毅的意志和強大心臟一路過關斬將打怪、不斷晉級,卻也永遠走不到終點,因為這條路根本沒有所謂的 final level。

有趣的是,當你剛開始探索這條既迷人又能殺人的領域之際,你會發現自己無法從身邊的前輩友人身上得到足夠的有用資訊,這並不表示他們不願意幫你,而是,許多 coding 達人也不大清楚自己是怎麼殺出一條血路走到今天的。

3899114449_ec210c67d5_z

(圖片來源: Marjan Krebelj)

美國最近有一家超夯的新創公司 Scroll Kit,總部設在紐約,截至去年底已經籌得了 22.5 萬美元種子資金。他們的打出的服務口號是,即使是個 coding 行外人,也可以創造出一個像樣的網站,做法是在他們所提供的空白頁面上,透過簡單的操作,任意編排圖文影音等不同元素,就能生出理想的網站成品出來。

聯合創始人 Kate Ray 指出,他們為不懂 coding 的人提供一條做網站的捷徑,但他們更想傳達的是:就算你懂得 coding,你也未必能創造一個酷炫的網站。至於談到自己過去的 Coding 學習之路,Ray 是這樣形容的:「原來預期很難的部分,自己卻表現良好,但原來認為簡單的部分,卻難如登天,遇到解決不了的問題時,簡直就是世界末日。」

  • coding 既迷人又能殺人,阿宅 code 到「心流」力量超強大

正因為受困於 (或陶醉於) 這個「世界末日」當中,我們常常覺得某些程式設計師坐在電腦前的時候,總沉浸在自己的世界裡,甚至於不坐在電腦前的時候,也沉浸在自己的世界裡。這個時候,其實相當適合來跟大家提一提心理學家 Csikszentmihalyi(超難念的名字,如果你強迫症發作想知道到底要怎麼唸,其發音近似於 cheeks sent me high) 所提出的「心流」(flow) 概念 (1975),他表示這是一種專注於某種事物、忘記時間 / 空間、忘記所有不相干一切的忘我狀態。很驚人吧,竟然有一個這麼有 feel 的學術名詞來形容你隔壁的宅同事寫程式寫到進入第三度空間的狀態,事實上,他們腦內的波動,才不只是忘忘忘一堆忘這麼簡單呢!

其實寫程式真的和打怪一樣,對付太簡單的小咖,會讓人覺得索然無味,打 boss 會令人小心翼翼、心跳加速,生怕自己一個不小心被 KO 了,而過關晉級的感覺也如實地比研究英語教學片還喜悅。是故,別看你隔壁同事兩眼盯著銀幕,十隻手指在鍵盤上敲啊敲的,微微張開的雙唇兩側各留下一行口水,事實上,人家的大腦裡正持續進行著複雜的「心流」活動呢!

說複雜,其實歸根究柢,只有兩大股力量在不斷拉鋸。Csikszentmihalyi 和 Moneta(1996) 的共同研究進一步指出,當個人發現自身的技術能力低於所遭遇的挑戰時,會產生焦慮 (anxiety) 的感覺,他會設法學習更高深的技術來「平衡」這種感覺 (等級練得高一點才能打 boss);而當個人感到本身技術能力高於克服挑戰所需的程度時,則會感到乏味 (boredom),接著會設法尋求更具挑戰性的活動來「平衡」這種感覺 (類似於一種稍微犯賤的概念)。這就是所謂的焦慮 – 心流 – 乏味 (anxiety-flow-boredom) 三路徑模式。

flow-channel

(圖片來源: justincone.com)

有趣的是,Csikszentmihalyi 和 Moneta 的實驗發現,當事人會無止境地擴張平衡的層次,換句話說,當一個人察覺到的挑戰與技術能力愈來愈高,自己會因為透過對心流經驗的感受,而不斷持續地找尋更多的複雜性與樂趣。果然,這是條能殺死人、又迷死人的道路,這可能也是為什麼許多 coding 人整天抱怨工作,卻仍然被那些密密麻麻的編碼操得樂此不疲的原因了。

  • code 海無涯,晉級要訣: 隨時覺得自己還不夠的心態

看到這裡,你應該清楚明瞭,如果有人告訴你 coding 超簡單,企圖把你從 coding 外的世界勾引進這片茫茫 code 海裡,他如果不是個極愛面子、口是心非的傢伙,就是別有居心,或邏輯思考異於常人。再者,coding 的迷人之處 (可怖之處) 莫過於 code 海茫茫,經驗法則在這裡未必成立,因為在這個每寸空氣縫隙都填滿未知數的時空裡,他人的意見未必對你有用,因為每個人所經歷的過程、所遭遇的難題都是不一樣的。那麼,有沒有什麼適用於大多數人的心法?

8673938593_0623877c66_z

(圖片來源: hackNY)

共通法則也不是沒有。Kate Ray 就語重心長地建議各位 coding 先進,這條路上的妖魔鬼怪千萬種,個個有絕招,不過卻有一樣法寶,只要裝備在身上,便能一寶殺遍天下鬼,此神物就是「隨時覺得自己還不夠的心態」。

看到這裡,你一定覺得八股死了,不過確實是這樣,唯有承認自己的不足,你才有進步的空間。再來,提供大家一套當前流行於美國新創人士的 coding 心法,包括 Scroll Kit 團隊,以及紐約知名投資人 MarkBirch 都大力推薦。每個階段按照時間順序排列:

1. 先爬文找到對自己有幫助的內容 (即使有限),一步一步地模仿著做,即使你一開始搞不清楚你在做什麼,這部分可能很無聊。(就是 copy 啦!)
2. 重練你完成的部分 (不一定需要完全砍掉重練,也可片段式、篩選性的),關鍵是在重複練習的過程中,你得逐步理解其中的邏輯架構,自己練習做一些變化。
3. 回歸到你的原始目標,試著簡單地從零到一完成一些內容。(在這個階段,盡量不要抄襲)
4. 現在允許你再找資料 copy 了。
5. 再重練這一切。
6. 設立一個新目標,然後重複以上提及的步驟。

6585812185_2a90005146_z

(圖片來源: Vintuitive)

最後,還是要再叮嚀各位 coding 人,有了隨時覺得自己還不夠的心態,也只做到了一半而已,換言之,學海無涯,你必需不斷精進,對程式設計師來說絕對如此,假設你對某一類程式語言特別專精,但你也得與時俱進,學習各式各樣的新工具,你才能夠隨時掌握資源,對付隨時跳出的各式新一代鬼怪,才能有效完成任務。

此外,不斷精進的另一個好處,是能夠幫助你掌握各方資源,而一旦左右逢源,也必然會在這條 coding 的漫漫長路上幫助你減少許多挫折感。當然啦,吃苦當吃補,挫折感來的時候,可以想想「心流」理論,它能見證你有必然的潛能可以提升自己的經驗值去戰勝任何魍魎鬼怪!

(資料來源: techcrunchalleywatchscrollkitUniversity of Cambridge

說點什麼吧!

SPONSOR

熱門 未分類 分類文章