機械轉軟體工程師經驗分享 - 工程師
By Franklin
at 2021-01-21T20:45
at 2021-01-21T20:45
Table of Contents
# 前言
想分享一下當初從進公司幾乎不會寫程式
到現在負責做軟體的porting to Linux的經歷
如果你想轉軟體工程師,最好先進到願意讓你寫程式的公司
但是這不一定辦得到,我底下分享一些自己做的功課
不想看心得可以直接跳到 # 自修建議
# 個人背景
台大機械學士
碩士非CS EE ME
高中只摸過一下用C寫的C++
大學只學過很廢的VB忘記是不是.net
# 現職
工具機產業,領域特殊,大多使用C#與C++
對網路front end, backend不了解
工作大概就是UI跟演算法處理
# 當軟體工程師的心理準備
不是學會寫程式,找到薪水不錯的工作就結束了
學會之後仍然需要補充新的知識
想辦法write better code,並理解沒有best code
因為要寫軟體很簡單,軟體要會動也很簡單
難的其實是寫出來的東西有人願意用
軟體不是單純寫程式,而是寫出客戶要的東西
不論code再乾淨,東西不是客戶想要的,就是浪費時間
(如果可以)花上一兩天只是寫prototype,確認是客戶要的東西最好
over design跟premature optimization都要盡量避免
事前的溝通很重要,所以溝通(通靈)其實是很重要的一環
但不是所有公司都有辦法讓工程師溝通
不過以上都要痛過才知道,沒痛過的人請跳過
# 通靈
當客戶提出莫名其妙的要求時,猜得到他想要甚麼比較重要
啊對,通靈不是免費,應該要能反映在你的薪水上
或是找一家願意付錢通靈的公司
# 自修建議
- Google能力
不知道怎麼建議,但是如果你發現自己不太會google,練不起來
那真的不建議轉軟體工程師
- OS > memory multi-thread
可以參考清大周志遠,目的就是還債
作業沒做沒關係,至少觀念要聽得懂
- Design Pattern
雖然一開始看不知道在幹嘛,但是把前幾個先看過
配上實際例子你會比較有感覺
最好是自己的爛code一直refactor,配上下面的TDD
推薦看head first design patterns,他的實例很多
- TDD
很重要,先有unit tests再寫程式可以減少很多regression問題
不過沒痛過的人不知道,可以先跳過
- Algorithm
這個非CS EE可能都沒有從頭練過,如果沒有強烈要求可以慢慢來
我是工作有遇到的至少會弄熟,或是覺得做法有點爛再去查
當然純軟免不了刷刷leet code, 不過不是很建議從leet code開始
沒寫過的人挫折感其實很重,不過懂多了也會影響程式架構能力
- System Design
SOFT_JOB版應該很多人推薦過,這邊就不多寫
以上都念過之後,對軟體工作會有新感覺
至少我覺得比之前懵懵懂懂的時候了解更多了,查資料也更準
- 英文 & 通靈
當你有一點程式基礎後,下班有空可以逛逛stackoverflow
選一個你熟悉的語言開始回答新手問題,他可以鍛鍊兩件事情
- 你如何理解不懂的人問的奇怪問題
- 有條理的整理你的回答
不過我累積一千多分之後就有點膩了...偶爾自己查到的問題再回而已
另一個方式是訂閱一些有興趣領域的英文digest,不一定要是程式
像是我會去NSwitch的reddit上去逛逛
# 書籍推薦
C++:
懂一點C++後,建議看Scott Meyers的Effective C++, 雖然寫的時間很早
而且C++ standard都到20了,還是有很多值得一看的部分
其他書單很多,我貼個SO就好
https://stackoverflow.com/a/388282/4123703
C#: Head first, C#
Code:
Clean Code
Clean Architecture
The clean coder
中文: 無瑕的程式碼 番外篇:專業程式設計師的生存之道)
這本書很薄,但是我看了很有感觸,有做專案的人建議一看
--
等等,我是不知道妳是看了什麼神槍手的故事,可是為什麼要拿我當靶 (′Д‵)
什麼!是黃忠和后羿的故事?他們拿的不是銃,是弓!
長門,妳手上拿著蘋果跟繩子是作什麼?今天晚餐不是關東煮是烤乳豬嗎?
連爸爸都沒弄痛過我,可不可以不要綁這麼緊,好歹鬆一點讓我有空間逃吧,古泉。
好,我認了,要射就射吧,可是請聽一下在我死前的最後一個願望。
不 要 拿 霰 彈 來.....噗滋(腦漿聲) 摘自「阿虛的最後一餐」
--
想分享一下當初從進公司幾乎不會寫程式
到現在負責做軟體的porting to Linux的經歷
如果你想轉軟體工程師,最好先進到願意讓你寫程式的公司
但是這不一定辦得到,我底下分享一些自己做的功課
不想看心得可以直接跳到 # 自修建議
# 個人背景
台大機械學士
碩士非CS EE ME
高中只摸過一下用C寫的C++
大學只學過很廢的VB忘記是不是.net
# 現職
工具機產業,領域特殊,大多使用C#與C++
對網路front end, backend不了解
工作大概就是UI跟演算法處理
# 當軟體工程師的心理準備
不是學會寫程式,找到薪水不錯的工作就結束了
學會之後仍然需要補充新的知識
想辦法write better code,並理解沒有best code
因為要寫軟體很簡單,軟體要會動也很簡單
難的其實是寫出來的東西有人願意用
軟體不是單純寫程式,而是寫出客戶要的東西
不論code再乾淨,東西不是客戶想要的,就是浪費時間
(如果可以)花上一兩天只是寫prototype,確認是客戶要的東西最好
over design跟premature optimization都要盡量避免
事前的溝通很重要,所以溝通(通靈)其實是很重要的一環
但不是所有公司都有辦法讓工程師溝通
不過以上都要痛過才知道,沒痛過的人請跳過
# 通靈
當客戶提出莫名其妙的要求時,猜得到他想要甚麼比較重要
啊對,通靈不是免費,應該要能反映在你的薪水上
或是找一家願意付錢通靈的公司
# 自修建議
- Google能力
不知道怎麼建議,但是如果你發現自己不太會google,練不起來
那真的不建議轉軟體工程師
- OS > memory multi-thread
可以參考清大周志遠,目的就是還債
作業沒做沒關係,至少觀念要聽得懂
- Design Pattern
雖然一開始看不知道在幹嘛,但是把前幾個先看過
配上實際例子你會比較有感覺
最好是自己的爛code一直refactor,配上下面的TDD
推薦看head first design patterns,他的實例很多
- TDD
很重要,先有unit tests再寫程式可以減少很多regression問題
不過沒痛過的人不知道,可以先跳過
- Algorithm
這個非CS EE可能都沒有從頭練過,如果沒有強烈要求可以慢慢來
我是工作有遇到的至少會弄熟,或是覺得做法有點爛再去查
當然純軟免不了刷刷leet code, 不過不是很建議從leet code開始
沒寫過的人挫折感其實很重,不過懂多了也會影響程式架構能力
- System Design
SOFT_JOB版應該很多人推薦過,這邊就不多寫
以上都念過之後,對軟體工作會有新感覺
至少我覺得比之前懵懵懂懂的時候了解更多了,查資料也更準
- 英文 & 通靈
當你有一點程式基礎後,下班有空可以逛逛stackoverflow
選一個你熟悉的語言開始回答新手問題,他可以鍛鍊兩件事情
- 你如何理解不懂的人問的奇怪問題
- 有條理的整理你的回答
不過我累積一千多分之後就有點膩了...偶爾自己查到的問題再回而已
另一個方式是訂閱一些有興趣領域的英文digest,不一定要是程式
像是我會去NSwitch的reddit上去逛逛
# 書籍推薦
C++:
懂一點C++後,建議看Scott Meyers的Effective C++, 雖然寫的時間很早
而且C++ standard都到20了,還是有很多值得一看的部分
其他書單很多,我貼個SO就好
https://stackoverflow.com/a/388282/4123703
C#: Head first, C#
Code:
Clean Code
Clean Architecture
The clean coder
中文: 無瑕的程式碼 番外篇:專業程式設計師的生存之道)
這本書很薄,但是我看了很有感觸,有做專案的人建議一看
--
等等,我是不知道妳是看了什麼神槍手的故事,可是為什麼要拿我當靶 (′Д‵)
什麼!是黃忠和后羿的故事?他們拿的不是銃,是弓!
長門,妳手上拿著蘋果跟繩子是作什麼?今天晚餐不是關東煮是烤乳豬嗎?
連爸爸都沒弄痛過我,可不可以不要綁這麼緊,好歹鬆一點讓我有空間逃吧,古泉。
好,我認了,要射就射吧,可是請聽一下在我死前的最後一個願望。
不 要 拿 霰 彈 來.....噗滋(腦漿聲) 摘自「阿虛的最後一餐」
--
All Comments
By Eartha
at 2021-01-24T13:19
at 2021-01-24T13:19
By Daniel
at 2021-01-25T03:01
at 2021-01-25T03:01
By Wallis
at 2021-01-28T11:32
at 2021-01-28T11:32
By Elma
at 2021-01-30T05:07
at 2021-01-30T05:07
By Elvira
at 2021-01-31T19:34
at 2021-01-31T19:34
By Ophelia
at 2021-02-03T01:41
at 2021-02-03T01:41
By Franklin
at 2021-02-04T14:14
at 2021-02-04T14:14
By Catherine
at 2021-02-07T03:58
at 2021-02-07T03:58
By Donna
at 2021-02-09T23:46
at 2021-02-09T23:46
By Emma
at 2021-02-10T10:10
at 2021-02-10T10:10
By Hedy
at 2021-02-14T09:41
at 2021-02-14T09:41
By Agnes
at 2021-02-19T00:11
at 2021-02-19T00:11
By Lucy
at 2021-02-23T23:31
at 2021-02-23T23:31
By Odelette
at 2021-02-28T22:13
at 2021-02-28T22:13
By Thomas
at 2021-03-01T03:46
at 2021-03-01T03:46
By Edward Lewis
at 2021-03-04T04:00
at 2021-03-04T04:00
By Ingrid
at 2021-03-04T07:17
at 2021-03-04T07:17
By Lucy
at 2021-03-07T21:03
at 2021-03-07T21:03
By Hedy
at 2021-03-10T00:31
at 2021-03-10T00:31
By Megan
at 2021-03-10T17:12
at 2021-03-10T17:12
By Zenobia
at 2021-03-15T13:13
at 2021-03-15T13:13
By Ivy
at 2021-03-19T12:28
at 2021-03-19T12:28
By Lydia
at 2021-03-21T09:40
at 2021-03-21T09:40
By Brianna
at 2021-03-26T01:03
at 2021-03-26T01:03
By Charlotte
at 2021-03-26T22:33
at 2021-03-26T22:33
By Bethany
at 2021-03-29T06:08
at 2021-03-29T06:08
By Ingrid
at 2021-03-31T03:28
at 2021-03-31T03:28
By Leila
at 2021-04-04T16:20
at 2021-04-04T16:20
By Zenobia
at 2021-04-05T19:36
at 2021-04-05T19:36
By Oliver
at 2021-04-09T19:01
at 2021-04-09T19:01
By Kama
at 2021-04-12T22:37
at 2021-04-12T22:37
By Rosalind
at 2021-04-17T19:48
at 2021-04-17T19:48
By Edward Lewis
at 2021-04-19T09:43
at 2021-04-19T09:43
By Isabella
at 2021-04-22T02:25
at 2021-04-22T02:25
By Audriana
at 2021-04-24T08:15
at 2021-04-24T08:15
By Joe
at 2021-04-24T23:55
at 2021-04-24T23:55
By Lauren
at 2021-04-25T11:25
at 2021-04-25T11:25
By Liam
at 2021-04-25T13:58
at 2021-04-25T13:58
By Barb Cronin
at 2021-04-30T00:42
at 2021-04-30T00:42
By Liam
at 2021-05-02T18:15
at 2021-05-02T18:15
By Liam
at 2021-05-07T02:11
at 2021-05-07T02:11
By Annie
at 2021-05-07T11:45
at 2021-05-07T11:45
By Yuri
at 2021-05-08T11:06
at 2021-05-08T11:06
By Kelly
at 2021-05-12T01:48
at 2021-05-12T01:48
By Thomas
at 2021-05-12T13:51
at 2021-05-12T13:51
By Ina
at 2021-05-16T11:43
at 2021-05-16T11:43
By Jake
at 2021-05-17T11:37
at 2021-05-17T11:37
By William
at 2021-05-21T03:14
at 2021-05-21T03:14
By Sierra Rose
at 2021-05-22T12:00
at 2021-05-22T12:00
By Poppy
at 2021-05-23T03:25
at 2021-05-23T03:25
By Irma
at 2021-05-26T19:50
at 2021-05-26T19:50
By Rachel
at 2021-05-28T19:43
at 2021-05-28T19:43
By Susan
at 2021-06-01T07:10
at 2021-06-01T07:10
By Cara
at 2021-06-02T00:48
at 2021-06-02T00:48
By Susan
at 2021-06-05T04:59
at 2021-06-05T04:59
By William
at 2021-06-07T15:33
at 2021-06-07T15:33
By Iris
at 2021-06-09T18:05
at 2021-06-09T18:05
By Ingrid
at 2021-06-13T10:23
at 2021-06-13T10:23
By Dora
at 2021-06-15T07:45
at 2021-06-15T07:45
Related Posts
無懼美制裁禁令 ASML在大陸銷售額去年增至18%
By Olive
at 2021-01-21T19:03
at 2021-01-21T19:03
台積是不是偏好A型血
By Franklin
at 2021-01-21T18:56
at 2021-01-21T18:56
放棄台積電300萬年薪!當大學教授收入銳減 優勢曝光網讚
By Ula
at 2021-01-21T18:01
at 2021-01-21T18:01
放棄台積電300萬年薪!當大學教授收入銳減 優勢曝光網讚
By Ingrid
at 2021-01-21T17:48
at 2021-01-21T17:48
海洋大學「玉山衛星」即將升空 監測海事
By Sarah
at 2021-01-21T17:01
at 2021-01-21T17:01