與此同時更必須學習勤勞、堅持、人際等比學識更加重要的東西,。
只有好好地集中精神,你才能一步一步完成所有的目標
Original: 9 Things I Learned as a Software Engineer
From: [遊戲葡萄]做程式設計師,至少得學會九件事
1. 不要高估天賦的價值
恭喜你,你很幸運,同時卻也十分不幸運。因為當你毫無阻礙的就沖過了求學的終點線,對待學習如反掌折枝。在這同時別人必須去學習勤勞、堅持、人際網路這些之後遠遠比學識更加重要的東西。
我們的社會太過重視聰明才智了!聰明才智當然還是能幫你打開一扇門,但絕不會幫你做好工作。勤勞、嚴謹、可靠的人際關係都是不只軟體工程師,而是你跨出研究所的美好泡泡之後要成為任何專家都必須擁有的特質。
2. 要對你的專業感到驕傲、樂在其中
不論物件是人或是試管,你都必須嚴謹分析你的資料並使你的統計資料有效,然後再重來一遍,因為有時候你會發現你犯了哪些愚蠢錯誤。如果你無法樂在其中,僅把這些步驟視為出版論文或發行產品的必須過程,那麼你永遠無法真正擅長這件事。
如果你是寫軟體的,這代表你要規畫你的特色、研究現有的開原始程式碼、學習新的模型與程式語言、修復你的錯誤、重建程式碼並且維護它。如果你沒有想要精通你工作的野心,那無論你是科學家、工程是或是任何你在做的工作,可能都只是浪費時間。
3. 學習新工具/新技術
一個學習新工具的好方法是上述的「寵物計畫」。每次你要建造新東西時,也用新的方法建造它。記住,寵物計畫就是拿來失敗用的,你投資不多、你學到一點東西;如果計畫不成功,或是你失去興趣、或是你發現實在有點太難了,你不會有損失,不會傷到自己。
如果你從事學術工作,以下是我強力推薦的好東西:
(1) Git 跟 Github
Git 幫助你管理你的工作,再也不用擔心備份問題;而 Github 上有一堆很好用的程式碼,你不需要自己重造輪子。噢,請記得跟你的同伴再確認一次你的程式碼。絕對不要用程式碼來分析那些只有你看過的資料。(我不敢相信我得告訴你這件事情啊,年輕的自己。你一直以來都是一個好的程式編寫者,但我仍然做了那些可能會被忽視的錯誤。如果不是有再檢查一遍,我不會發現因為程式錯誤,有百分之三十的科學結果可能是假的。)
(2) 一個繪圖軟體
我通常都用 Inkscape ,但標準的 Adobe Illustrator 跟新的 Sketch 其實也一樣好。用這些繪圖軟體來先處理你的圖表和計畫,這通常都比你在 Matlab 或是 matplotlib 上寫繪圖指令來得容易。
(3) 學習如何有效的利用你的文字與代碼編輯器
Sublime Text 是個比 VIM 或 Emacs 來得容易學會的編輯器。知道捷徑能夠幫你省下一堆時間。
(4) 學習如何說話
看看 TED 上的演講並注意這些講者如何在十五分鐘內就抓住觀眾,同時說出那些吸引人的故事。你可以在鏡子前面練習,你的肢體與聲音都是工具。
(5) 知道基本的 Python、R、HTML 跟 Javascript
這些工具可以幫上不少忙。如果你對寫程式並非一竅不通,那學個新的面向程式設計或資料庫。玩玩電腦視覺、自然語法編寫、網頁擷取、音樂合成跟機器人!
你所能看見解決問題的方法,永遠都會被你所使用的工具所限 。學習 新工具代表你用新的角度看問題 。如果你是大學生,我強力建議你一週之間撥出一天來學習新工具。如果你開始做碩博士研究,那就撥兩天出來。長期來看,你會省下很多時間,而人們會被你的效率所驚艷。如果你覺得這聽起來太困難、你沒有時間、其他壓力太大,那就跟你的老朋友談談,看看到底什麼纔是值得你花時間去做的。
4. 成為真正的局內人
當我們說到「公司的最大利益」,其實我們是說某些局內人的最大利益。真正的問題是,你的長官或 CEO 到底把誰當局內人?這些利益共用者的利益又有多重要?
如果 你的老闆認為他自己是唯一的獲利者(越出名越好、越快獲利越好),你最好快點逃走,逃得越快越好 ,不然你會被當成犧牲品。那誰纔有資格利益共用?你的投資者或贊助者?員工?學生?人類?重點是:快點找出來。如果你不被當成受益者之一,那就快走。無論你有多愛你的工作,那都只是一廂情願、被濫用的關係。
5. 學會展現成果
在學術範疇中,我寫的大部分軟體都只會在一個系統上執行一次。為了產品而寫的程式則是完全不一樣的東西,這會讓五十萬人使用,而當寫程式成為我的專業時,我發現我並不擅長這件事。
但這同時也代表琢磨好幾年,直到完美產品誕生是沒有意義的。你只要做出一點成果,就把它送出去,寫一份最簡單的報告你就有可能被錄取。晚點再擔心更複雜的學問吧,先搞定基礎,儘快發表它。Just ship it。
6. 懂得 80/20 守則
這重要在哪?因為人們總是低估計畫所需的時間,科學家跟工程師尤其常這樣。這部分要歸因於經驗:你知道得越多,你越能預測之後有什麼會出錯、以及有什麼是人們一開始不會注意到的有趣東西。
如果你還沒有這些經驗, 只要把你預期所需的時間乘以五倍,並且預想五倍時間過後你就能達到「快成功了」的階段 。
7. 你沒出賣你的靈魂
這跟做工作是一樣的道理。人們總是會投資你,但那常常是因為這對他們最有利,而不代表他們買走了你的靈魂。
8. 脫離你的舒適圈
以下是我如何看待這個世界的:如果身邊一切看起來很熟悉,代表你能學的東西極少。但如果你現在處於非常驚慌的狀態,你可能什麼都沒學到。
在舒適圈內,你熟知圈子裡的每個人、那裡是你的歸屬,你知道如何應付問題,太陽底下沒有新鮮事。如果你想學些新知並成長,你必須離開你的舒適圈,那纔是學習的開始、有趣的事情發生的地方。那是一個你無法對每件事立即反應過來的地方。
當然也有某些時刻你會被壓垮,那就是驚恐圈,你在那裡昏倒、你所能做的只有勉強維生,並期待某人快來救你。
最棒的地方就正在你的驚恐圈正前面,那裡纔有挑戰、你會在那裡學到最多、改變最多 。想辦法去到那裡吧。
「忘記安全。在你所畏懼之處住下。摧毀你的名聲。變得惡名昭彰。」
- 魯米,伊斯蘭神祕主義詩人
9. 學會馴服你的躁動
你剛剛專心了多久?五分鐘?恐怕不到。
一分鐘?很好。
比二十秒更少?恭喜你,你是正常人。你的腦袋就像猴子一樣,會抓住最近的樹枝。在學術上我會換句話說 …… 說好聽一點是「聯想思考」。如果你想要有創意,聯想思考是很好的事情,但它卻是專注力的殺手。
好消息是,你能學會如何專注。外面有一卡車的「提升生產力的技巧」,但他們都只抓到皮毛,你不會想要一個分心自由寫作的軟體,你想要永遠撫平你猴子般跳來跳去的思緒。
對我有效的跟對你有效的可能完全不同。對我來說,定期靜坐冥想非常有效(同時有其他許多優點與副作用),但就算是冥想靜坐也有很多種不同的形態與傳統,而我不可能找到一個對大家來說都適用的。我所建議的,是讓你的意識保持一定的型態,並且很認真的對待它。你認為靜坐是浪費時間嗎?你會去健身房健身,但你應該要兩倍的時間在腦力運動上。
只有好好地集中精神,你才能一步一步完成所有的目標。










