來分享個學的廣的經驗,不過會有一大段的鋪陳就是了
先說說我的背景已經工作十幾年了,但是程式設計是到大學才開始學
大一開始學C,那時候遞迴對我來說根本是天文:(
懵懵懂懂的還是把大學給唸完了,回到台北找了第一份工作用VC寫MFC
然後被介紹到第二個工作還是用VC寫MFC,但是額外學到的東西就有趣了
“如何hack軟體/側錄硬體protocol/監視OS在做啥動作“(windows)
當然這些東西並不是有教科書教的,
而是工作上"需要"所以前輩把經驗傳承下來
畢竟那時的工作是在做“模擬”原廠軟硬體的克隆軟硬體
而且這份工作的後期因為厭倦了當人體build machine學了python和php
自幹了一個build window application的類jekins系統(約2004年)
第三份工作就跑到了未分家前的以卵擊石,寫產線的Auto Testing System(ATS)
在A5U5時發生過一次很好笑的事,因為各BU分紅是看各BU的業績,
所以別的BU不一定會把他們的code給你,所以我得去hack同是A5U5家的軟體 XD
分家後因為工作需要,學了linux embedded system,QT
然後因為客戶進入Mac,obj-C,iPhone的世界了
離開系統廠後進入一家做電子書的Start up公司,專職作iOS app
當時能完整呈現epub電子書的是Stanza,本者軟體能做就能黑的精神
把Stanza的做法黑出來後,我自己在用html5+jQuery+CSS 做出類似的功能
(我那時每天開者browser的developer mode都快變web前端了)
應該是台灣第一個把epub reader做出來的iOS app
接下來的公司也是純軟,不過沒啥好談的就跳過它
終於要進入發揮我大成的公司了(誤
這家A公司是家專門做"代理"的手機遊戲公司,當時他們接了一個日本大咖遊戲
但是日本端的要求是只放source code給台灣,架設/管理/營運都要台灣自己做
所以只好成立RD部門,我是部門第二個員工,但是是第一個真的有寫code的
面試時的工作範圍是負責iOS端的開發,那時我還開始學了unity的c sharp
不過代誌當然不是那麼簡單
在部門成立前,A公司就找了家外包公司負責架設伺服器
總之在發生一連串狗屁事件 ex:只有外包公司的人才有伺服器的admin密碼
A公司總算把伺服器通通收回來了,然後就開啟了神奇天賦(誤
原本日本人是用團隊去做server/client的開發,
但是剛開始部門能coding/debug的只有我一個
所以就變成最多時我要看四個以上的語言,php,java,RoR,C sharp,python
必要時還要看看Android和iOS 的native code
偶爾充當DevOP架設Tomcat/Apache/Nginx,管理32*2組的伺服器
固定每週當一下DB admin備份整個Oracle的DB
吃燒餅哪有不掉芝麻的,
我曾經在php裡用了java的string api然後花了半天才抓出這個問題
還不小心drop掉整個db,害PM只好在花一天的時間把CB資料補回來(無備份)
更不用說對不熟的工作總是要花時間研究和找解法
好在後來陸陸續續有了可靠的同事之後,就把部分的工作分派出去
看到這,相信大部分的人都會覺得這是啥慣老闆給的屎缺啊
但是我得說,除了那些coding上的東西,我可是得到了些相當有趣的經驗
畢竟在這份工作前,我一直都在client端的工作,沒有在server side過
所以這些經歷對我來說都超新鮮有趣且印象深刻
ex:第一次體驗到Tomcat有多傲嬌
RoR對新手有多不友善:(
不過最後我還是離開這份工作了,原因是我看不到A公司的未來
後來的工作又回到iOS就不多說了
回到原原PO的問題"[討論] 學的廣真的沒好下場?"
網友們提到的Startup和慣老闆情況,我都經歷過也可以告訴你他們的意見是對的
我想說的是對我自己來說,學的廣的好處是我可以用不同的解法去看/解決問題
ex: 用html5+css+jQuery去做出epub reader,而不是用obj-c
如何去黑硬/軟體/web front-side (這最近又在用了;p)
Server side出問題不認帳/不會解的時候,怎麼提證明/解法給他
以職涯規劃來說,有個專精項目當然是好的。至少可以讓你不愁吃飯
但是你額外學的東西可以成為你的助力,讓你對事情/問題有不同的看法和彈性
而且同 qrtt1網友說的“廣跟專精並不衝突”
就像達文西不也學超廣的,可是他還是留下了很深刻的影響