# 前言
想分享一下當初從進公司幾乎不會寫程式
到現在負責做軟體的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
中文: 無瑕的程式碼 番外篇:專業程式設計師的生存之道)
這本書很薄,但是我看了很有感觸,有做專案的人建議一看
--
等等,我是不知道妳是看了什麼神槍手的故事,可是為什麼要拿我當靶 (′Д‵)
什麼!是黃忠和后羿的故事?他們拿的不是銃,是弓!
長門,妳手上拿著蘋果跟繩子是作什麼?今天晚餐不是關東煮是烤乳豬嗎?
連爸爸都沒弄痛過我,可不可以不要綁這麼緊,好歹鬆一點讓我有空間逃吧,古泉。
好,我認了,要射就射吧,可是請聽一下在我死前的最後一個願望。
不 要 拿 霰 彈 來.....噗滋(腦漿聲) 摘自「阿虛的最後一餐」
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.55.249 (臺灣)
※ 文章網址: https://webptt.cc/bbs/Tech_Job/M.1611233153.A.356.html
※ wulouise:轉錄至看板 Soft_Job 01/21 20:48
※ 編輯: wulouise (220.137.55.249 臺灣), 01/21/2021 21:38:49
推文 (64)
推
s455164
推
01/21 21:02
推
Raymond0710
推 不過工具機產業薪水應該不高吧 你值得去外面試試
01/21 21:15
推
creaton
推 自學能力不是普通的強
01/21 21:40
推
lolicat
重點 要會通靈(X
01/21 21:59
→
wulouise
我這個產業運氣不錯,薪水還可以,雖然沒有mnnrp高
01/21 22:13
→
wulouise
然後通靈真的蠻重要的xd
01/21 22:14
推
ibizacodi
推通靈大師
01/21 22:19
推
zaku
porting driver不算純軟,要稍微懂一點硬體的東西
01/21 22:20
推
Morphee
工具機就新代吧 最近怎麼消失了 很少有人提
01/21 22:25
推
gaea0127
推通靈
01/21 22:34
噓
pttano
其實重點在於台大學士,你以爲大葉學士有公司敢冒險?
01/21 23:02
推
easyman
跟我走的路很像, 書單也幾乎一樣
01/21 23:05
噓
bena5mail13
新代不就丟骰子 能不能碰程式全看運氣 跟職缺無關
01/21 23:06
→
easyman
老實講, 很多本科系也不會自學看這些書
01/21 23:07
推
aria0520
新代就台大機械大本營
01/21 23:10
推
smallfatleg
同樣做案子天天要通靈 幫QQ
01/21 23:39
推
mejichoco
沒台大進不了!大哥很努力!
01/22 00:01
推
tpegioe
推,曾是機械人
01/22 00:57
→
saladim
重點在於台大好嗎 看過很多例子 就是願意給台大機會 其他
01/22 02:15
→
saladim
學校的非相關科系 要嘛直接刷掉履歷要嘛就是很折磨
01/22 02:16
推
apple1235566
傻眼原po學了那麼多 酸酸只說一句靠台大哈哈哈
01/22 07:44
→
apple1235566
原po就是肯學 所以不會是大葉是台大啊
01/22 07:45
推
nctuDuncan
推通靈王
01/22 08:07
推
haudoing
原po很認真又厲害
01/22 09:08
推
michaelgodtw
選擇一定比努力重要
01/22 09:35
推
hoouhoou
推
01/22 10:01
推
botnet
推 Clean Code
01/22 10:26
推
chupiggy
同學推一個
01/22 10:32
推
LittleYueh
推 感謝分享
01/22 10:34
→
chupiggy
然後你當年大學修的是 VB Express 2005 XD
01/22 10:34
→
daywalker
學習能力強的的還會念大葉嗎? ㄏㄏ
01/22 11:15
→
wulouise
謝謝同學提醒vb版本xd
01/22 12:02
→
wulouise
每個人的境遇都不一樣,希望能分享資訊幫助有需求的人
01/22 12:11
推
misupm
Hi學長,想問找到一間願意收非本科轉職的公司會是首要條
01/22 12:46
→
misupm
件嗎?公司的類型需要怎麼篩選呢?
01/22 12:46
推
NTU100
非本科的大部分都是從一些條件比較不好的公司開始慢慢爬
01/22 12:48
推
m4vu0
非本科沒經驗就是看學歷。自學再多沒學歷一樣沒人理你
01/22 12:55
推
snow0112
大公司都比較願意收非本科畢業的,只要刷題
01/22 13:07
推
ycess
推通靈
01/22 13:21
推
choral
原來是學長,幫推~
01/22 15:53
推
hongsiangfu
推
01/22 15:56
→
wulouise
如果是韌體,有些收機械系,台大的話我知道有進P
01/22 18:06
推
kkyyllee
朝聖推
01/22 18:25
→
saladim
有人不知道是窩在自己的舒適圈還是邏輯少了點 原PO學了
01/22 20:55
→
saladim
很多 其他人就沒有學嗎? 現實看到的就是會的一樣多 就是
01/22 20:55
→
saladim
給台大 基本上就是按照學校排名阿 這也沒損害到原PO的努
01/22 20:56
→
saladim
力 第一份工作跟機會本來就跟學校有關 看過的例子裏面有
01/22 20:57
→
saladim
清大物理材料也是自學很多(清大不是廢柴了吧?) 一樣結果
01/22 20:58
→
saladim
而且有些東西是先有機會才有得學(這篇裡有)
01/22 21:00
→
saladim
最後大概也是都認為台大品質保證做結尾 結果這變成前提了
01/22 21:01
→
wulouise
必須說我運氣算很好,有遇到肯給機會的公司,也肯發展
01/22 21:13
→
wulouise
但是念的書跟心得還是可以提供參考,境遇沒辦法比較
01/22 21:13
推
tinalockhart
恭喜原po~~但是真的感覺是台大給了你機會
01/22 21:25
推
physicsdk
推!真優秀!
01/22 21:52
推
physicsdk
機運也很重要,公司缺人擴編的時候機會很多,非本科沒
01/23 00:06
→
physicsdk
經驗的也行
01/23 00:06
推
joice76x
大葉憑哪一點可以跟台大比啊 人家努力了20年
01/23 09:24
→
joice76x
憑什麼出社會兩三年野雞大學就自認已經超越台大了?
01/23 09:24
推
tenpoinyuki
推,感謝分享
01/23 13:26
推
jason777king
推一個 高手
01/23 20:17
推
jimmy983
推
01/23 21:09
推
abchunger
強者同事 先推再說
01/26 14:39
推
h5904098
推 強者
01/29 00:29
推
geraldliu98
推推
02/06 17:24