跟我的背景很像,分享一下。
先講結果,在 25 歲那一年,幾乎什麼都不會的我步入台灣的系統廠寫 code,
目前 31 歲,在此之前只在國土外待過十數天,現在 LA 做 IoT 的 software engineer,
從 device 端 Linux distribution 調校到 application 撰寫串接 cloud 一手包辦,
小玩 server 端。
學、經簡歷
- 20 歲自學 AutoHotkey(一種腳本語言)小有成績,
當時以之寫的 WarCraft III 外掛被台灣各大網咖內建
(魔獸板 sitos 大大有幫我 review 過早期的 code)。
http://bit.ly/1T80XR2
http://bit.ly/29fs6U9
- 21 歲時以 AutoHotkey 寫 PCman po 文賺 P 幣外掛,PTT 帳號八年後因此被砍。
http://bit.ly/29dr2i6
http://bit.ly/1Pf3wB1
- 22 歲國立大學電機系畢,畢業時 C 語言程度為 printf("Hello, World!\n");
資結、作業系統、計組都不會,但很會玩魔獸三國。
- 24 歲到台北捷運當新路線的試乘工讀,二個月後經同學引薦至國立大學做研究助理,
小練 Delphi。半年後主動離職,渡過了半年多的黑歷史。
- 25 歲年中,黑歷史後期,開始做類似保全的工作,同時打算出國留學。
因 IELTS 準備了二個月只考 5.5 分,加上大學都鬼混 GPA 只有 2.4。
所以最後沒有去國外浪費錢。放棄出國後,類似保全的工作又繼續了二個月。
之後因為找到系統廠的工作而離職。
在系統廠寫 C、寫 Java、摸一些 Linux/sysadmin 和 Android framework/app。
- 27 歲覺得該把資工的科班底子補起來,下班後去補習班補了資工所要考的六個科目。
- 28 歲因為考到外縣市資工碩專而換工作,一樣是軟體工程師,主要任務是 porting,
因此學到了對電路圖、改 pin 腳、booting process 和加強對 driver 的理解。
- 29 歲加入一間做 Android app 的 startup,後因個人因素離職。
- 30 歲因為目前的工作可以 work from home 而加入。
- 31 歲同樣的工作,但來到了 LA,因為 team 裡除了另一位同事跟我一起在台灣,
其他都是在美國的美國人,而他們再也受不了時差。
碩專還沒畢業,因為我工作太忙了。
當研究助理時可能因為退伍沒多久所以比較腦一點,一個迴圈可以想上一天。
(就是這時我真的很弱的意思。)
在學校遇到當年三年碩博畢業的醫師教授,
和後來同樣三年碩博畢業的醫學系同學,噢對了他還跳級,
大大開了眼界。自那時起再也不敢自恃聰明。
(明白自己的能力定位。)
中間黑歷史談了一場悲劇收場的戀愛。
正因為悲劇收場,所以才轉性努力。
(轉捩點。)
在進系統廠之前的類似保全的工作,一天 12 小時幾乎都待在自己的位子上沒事幹。
待過這類工作的心得是,會習慣性的怠惰,
而且不知道是不是那間公司特例,同事大都是失意的人或是怪人(雖然我也滿怪的),
裡面有性騷擾同事被告的,色誘主管後來在機房打砲的,家裡開保全公司來當間諜的,
因為打瞌睡差點報銷上億納稅人血汗錢的。
我個人認為這是很嚴重的問題,我不是惡意歧視,但請小心他們的人生態度影響到你。
在保全那類型的工作無所事事四個月就找到系統廠的工作了,
所以沒有真的在那種狀況下持續很久。
不論如何,時間實在多到炸,所以任何靜態的投資都可以做,
奉勸想做什麼就趕快去執行。又有薪水又能做自己的事,划算!
(岔題分享一點主觀人生哲學。)
身邊多數人都靠自學過來沒錯,不過我是不建議單單自學啦,除非你是天縱之才。
最好找到好的老師或朋友、同事、社群,多看看別人比較不會走歪或鑽牛角尖。
尤其你的背景不是本科,初期會不知道自己的能力定位,這時候只能靠比較,
自學就無從比較了。
不過不論如何,這一行對多數人來說,都是需要不間斷且大量的學習的,
不建議沒有熱忱的人來。
(建議。)
我在系統廠的時候運氣很好,遇到了 GitHub 台灣地區 Java 開源貢獻度第一的同事、
介紹我玩 Codeforces 的同事、人稱怪物團隊的頭頭與他的快樂小夥伴、
手把手教我寫 C 的主管、x86 逆向工程很厲害的、五天寫二、三千行程式的。
沒有他們我可能還在自以為很厲害。在外縣市工作時的其中一位同事,
隔年就拿到三份在香港年薪破二百萬台幣的 offer,
所以我也從不覺得我進步得有多快,反倒有雞立鶴群的感覺。
(再叉題分享一下人生哲學。看別人的光明面,在能力範圍內 clone 他們的特質,
就有機會跟他們一樣。)
我覺得我的資質沒有特別突出,從跟你接近的程度到現在的程度花了六年,供你參考。