---
# System prepended metadata

title: 工程師的職人精神

---

# 工程師的職人精神

技術力/商業力/領導力


什麼是技術好的工程師？
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