※取自漫畫《浪人劍客》
武士需要戰場,工程師需要Dojo(道場)。
除了之前說的接的案子,以及參與side project外。你需要更多機會去練習你擅長,或者不擅長想之後擅長的地方。
這裡指的建立道場(Dojo),不一定是指一個實質的教室或者場地,然後大家同時間一起刷leetcode或者討論程式碼。並不是這樣的。我所認為的道場,是任何實體或者網路上可以試煉自己的環境或團體。組織讀書會也是一種。
是一個專門大家單純討論技術、新知、或任何人生方向,不拘泥任何形式,也不帶任何批判,彼此很願意分享的聚會。
※取自《駭客任務》劇照
場地不需要像上面一樣這麼隆重,但我想說的是,大家都要有所準備的進入這個道場,像成年人一樣認真看待這件事情。
參與任何你可以出力的side project。比如,我最近參與視障協會的一個專案MathML數理式解析器程式,語言使用wxpython。一種用python寫windows視窗程式的library。
當初參與的原因很簡單,我想練習我的python技巧又想去幫助需要幫助的人,所以我想這個專案應該對我有很大的幫助。
其中使用到pubsub,利用訂閱者模式(Publish/Subscribe Pattern)來設計。
import wx
from pubsub import pub
from pubsub.utils.notification import useNotifyByWriteFile
import sys
useNotifyByWriteFile(sys.stdout)
class Model:
def __init__(self):
...
def updateItem(self, data):
...
pub.sendMessage("data_changed", data=data)
class Controller:
def __init__(self):
...
pub.subscribe(self.changeData, 'data_changing')
def changeData(self, data):
...
if __name__ == "__main__":
app = wx.App()
c = Controller()
sys.stdout = sys.__stdout__
app.MainLoop()
我除了能學python,又能在專案上貢獻我們的前端技術,why not to do?
到一間公司或團體,不要只想著你想學東西(學生心態),公司不是hire你來學東西的。
教學相長。你得把你那一點成就貢獻出來。因為在貢獻的過程本身就是一種學習。
做side project通常是沒有錢的。
年輕人經常卡在錢的問題。當然你要先把錢的問題解決,才能做上面的事情。
至於錢的問題怎麼解決,不是我這個主題要講的。
不管決定什麼,做就對了。
一但你把錢的事情拋在腦後,你才會真正去思考自己真正想做的事情是什麼。
不再多贅述我之前導入的過程,可以看這裡: 連結
要記住,開發軟體永遠都是人的問題。
很多人一直過於技術崇拜,拘泥於學好一個工具或語言。殊不知真正的大神,都是在最後人與人之間的過手後,領悟出更高深一層的學問,不管是人生或技術都是。
高手絕對不是與優秀的技術共事,而是與優秀的團隊共事。人才是唯一能夠改變一間公司或讓公司賺錢的東西,很多人甚至公司都搞不清楚,試著去找一間公司或團隊or你自己的公司,從無到有的導入一件事情或者建立一個新的團隊吧!
你將學到非常之多。