被養壞的軟體工程師?

        常常聽很多軟體公司抱怨,找不到人才或找不到好的軟體工程師,其實問題的根源在薪水與訓練,公司並沒有有效的系統訓練,來培養員工,從人力銀行上面就可以察覺,眾多的工作之中,年資最少最少都要有一年以上,也就是說每間公司都想要別人訓練過的,自己可能無法訓練或不想訓練,所以絕大部分的工程師,都是直接被丟在海裡學游泳,業界還可笑的亂套用名詞On the Job Training,人家的定義是




OJT必須建立在提前作出計劃與目標的基礎之上。否則單純地讓員工“一邊工作一邊學習知識技能”,那就不叫OJT了。
 這邊產生的可怕問題就是,有些公司沒有目標與計劃,需要甚麼就叫你學甚麼,導致工程師身上的技能是樣樣通、樣樣鬆,結果要做大專案,設計架構,規劃流程時,往往覺得自己家的小小工程師扛不住,甚至外包或找顧問,有的還會空降主管,叫任勞任怨的工程師情何以堪,這讓我想到,曾經去某家軟體大公司面試時,主管表示,雖然是應徵Android的職務,但往後,還是需要學PHP跟iOS,最有趣的點是他下一秒,話題一轉,就跟我說我們要找厲害的工程師,是要會蓋大樓的那種,不是只要會貼磁磚,我就跟他笑一笑,心理覺得他一定搞不清楚自己需要甚麼跟想要甚麼,這邊蓋大樓可以解釋成軟體架構,也就是可以從無到有設計開發專案,而貼磁磚就是指,只能在人家建立架構後,改改程式,當下就覺得,他需要的是能夠蓋大樓的,但他想要的卻是貼磁磚的....

        其實夠有水準的公司,都會要求專才,而不是通才,專才就跟寫程式一樣,高內聚低耦合,對公司的好處就是能解決深度夠的問題,又好替換,好替換是指找人只要找一個方向,要替換時依賴也會比較少,無論如何都要追求自己成為蓋大樓的,而不是貼磁磚的,但通常公司卻只有培養養壞?貼磁磚的能力,能蓋大樓的工程師都是有目標的培養自己,像我自己,下班還不斷K書,做專案來練習,甚至看書看到,朋友說某系列有某本書時,我可以跟他打賭,絕對沒有這本書的程度,但也還是遇過,不懂軟體實力與價位的公司,開出可笑的薪資,連對方都自己再三提到自己公司薪水真的不多,對方還是上市櫃大公司,所以如果妳有好好地培養自己,真的要慎選公司,因為一定是你選公司不是公司選你!

       千萬不要天真的以為軟體工程師只要會google就能當了,平平是用google高手是當工具,新手卻是當聖經,高手心中早就有架構跟方向,google只是查查某個api怎麼用,新手卻會把查到東西以為只能這樣做的複製貼上,那要怎麼從菜鳥變成高手呢?我的答案是....思考,永遠都要去想"為什麼?"與"有沒有更好的做法?",一直不斷的嘗試A做法與B作法然後思考,哪個好?為什麼?甚麼你說有沒有輕鬆一點的方法與明確的目標?有...給些我一路走來的大方向與順序

  1. 設計模式
  2. 物件導向
  3. 重構
  4. 測試
  5. 架構
        這樣的順序,也許跟一般由淺入深,不太一樣,但我認我這樣的方向反而更符合人性,從設計模式看見整片森林之後,對重構或物件導向就不會有見樹不見林的困惑了,而這些方向,其實都有不少書籍有談到,看前人經驗所寫下的書,可以為自己省下不少摸索與犯錯的時間,花點小錢買書與花時間看書絕對值得!

        最後,每個技術都有它的優點與缺點,要養成多看資料,多思考的習慣,不要看見技術熱門,推廣者的熱血分享,就覺得很棒,就衝了,當別人提出異議時最好能有虛心求教討論的心態,一言堂那種只有我對,其他跟我不一樣的都是錯誤,就跟邪教一樣,不可盲從,就像你現在看這篇文章一樣,一定有你認同或不認同的地方,歡迎一起討論,期待大家都能不斷的自我追求,成為一位更棒的軟體工程師,做更棒的軟體!

如果對軟體技術資訊有高度興趣,也歡迎訂閱我的粉絲團,我會定期分享我看到不錯的文章

留言