# 工程師的職人精神 技術力/商業力/領導力 什麼是技術好的工程師? maybe 1. 全端工程師 會很多語言 很多框架 >不是學很多語言越好 每間公司都會特化指定語言 進公司會很多跟原本落差 熟悉一個先 不是學越多越好 2. 很會刷題,Leetcode破千題 >解題>刷題 >思路>>>>正解 3. 可以做架構師,規劃十萬行程式碼的架構 工程師之路->工程師->資深->lead->技術長/架構師/工程主管之類 p.s. engineering manager 不寫code只做決定 = 轉職 === ## 講者認為 需要扎實、也要雜食、不可偏廢: 1. 不同端之間的界線越來越模糊 > 語言、框架很難一套用到底 2. 寫程式門檻持續下降 > 寫出高效能、高可擴充性的程式變困難 如何培養技術力? 1. 不要挑食,各種技術都用開放態度 > 靜態語言 / 動態語言 兩邊至少都要碰一下 > golang rust / python js 2. 有機會去上一些原理性的課程,關於程式語言的原理 > 這樣換程式語言比較快 > 程式效能怎麼提高 > ex. db 撈資料加速 (加個index之類、but但要加對類別) > 加index的原理就是tree,如若加在性別上,只會切成少少幾份,效率就還是不夠 > 這些是基本素養 3. 盡力把問題挖深,特別是那些查不到文件的事情 > 學習過程中,遇到bug、任何困難,別輕易放棄,只要經歷過一遍,累積起來的經驗就是你的 ## 工程師的商業力: 最終都還是要賺錢,好的賺錢能力才有好的待遇: 開源(賺錢)節流(優化項目) 1. 主流怎麼獲利?電商、廣告、課金 2. 理解新趨勢?虛擬貨幣、AR/VR、5G的前瞻性在哪 > 4g 帶來了直播、tiktok之類的 > 要挑對主題 3. 理解股票市場的股價高低,哪些又是明星? > 投資理財 ## 如何培養商業力? 看商業雜誌、新聞媒體(ex. 科技島讀) 花錢上課、去聽研討會(學生相對便宜 就職後這些成本很高) 花小錢做投資(至少要去理解"商業") ## 工程師的領導力 工程師不能只寫程式就好嗎? 1. 即便只是個資深工程師,不做管理職,還是需要帶工程師 > 很重要!!!!! > 或許主管不是最會寫的,但領導力會成為他最重要的能力 > 辦個讀書會阿 之類的提高大家的能力也是好的 2. 技術選擇本身就是一種領導力 > 學習做選擇,並且學會承受後果 3. 沒辦法展現領到力,要怎麼找到好的夥伴? > ex. pinkoi 出來說話的並不一定是最強的,但願意分享想法,也是會成長 如何培養領導力 1. 貢獻open source專案比你想像中簡單很多 >版本迭代也是可以做pull/quest 2. 有機會多分享,文章、演講都好 3. 網路也有很多社團,可以專貼相關內容進去 4. 參加各種hackathon,試著當小組長 ## 在學期間可以做的事情 1. 實習(建議可以新創、大公司都可試試) > 去感受實作做軟體工程的經驗(這跟寫code有很多差異) 2. 參加開源專案(Hackoberfest) 3. Google Summer of code > 每年一二月開始申請,暑假 4. 到實驗室做研究 > 有realworld的數據可以做,這跟kaggle上的還是有差 ## 題外話 在台灣有的工作機會 amazon 子公司 -Ring 做智慧家庭 google 子公司 -google map -招聘很多硬體工程師 ## 題外話 台灣產業現況 > 台灣的強項 > 或許無法複製其他市場 > 規模比較小 > 要挑對主題 > ex. momo foodpanda ## 題外話 矽谷 fb 強迫升等 幾年內沒升等就被fire 於是員工要對自己公司的產品更去掌握 了解商業狀況 ## 題外話 台灣博弈很多糟糕的 要小心 有上市的還ok 但有一大堆很危險 ## 題外話 FB 用的是php 變化型 hack