看板 Soft_Job 關於我們 聯絡資訊
※ [本文轉錄自 Tech_Job 看板 #1W2NU1DM ] 作者: wulouise (在線上!=在電腦前) 看板: Tech_Job 標題: [心得] 機械轉軟體工程師經驗分享 時間: Thu Jan 21 20:45:46 2021 # 前言 想分享一下當初從進公司幾乎不會寫程式 到現在負責做軟體的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://www.ptt.cc/bbs/Tech_Job/M.1611233153.A.356.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: wulouise (220.137.55.249 臺灣), 01/21/2021 20:48:11 ※ 編輯: wulouise (220.137.55.249 臺灣), 01/21/2021 20:48:45
x246libra: 糟糕 開頭看到台大機械碩 就想 END文章 XD 01/21 20:49
purefalse: 我也是。 01/21 20:54
aidansky0989: 不錯啊這些都搞懂已經算不錯的工程師 01/21 21:12
a3236852: 糟糕 同一樓 01/21 21:36
wulouise: 我是學士機械不是機械碩耶xd 01/21 21:37
※ 編輯: wulouise (220.137.55.249 臺灣), 01/21/2021 21:39:15
NTU100: 只要是好學校都機會比較大! 01/21 22:00
worcdlo: 寫的很好啊,身為轉職者推 01/21 22:26
sugarcanetea: 已收藏 想私信原po公司 01/22 00:17
drajan: 這是台大又不是stanford 看到學校就想end是? 01/22 00:35
DrTech: 機械做軟體工程師一直很多吧。 01/22 00:44
littlebau: 這種程度已經是很好的軟體工程師了,如果能夠在爛一點 01/22 00:54
littlebau: 的天分或者經歷,比較有激勵的作用 01/22 00:54
littlebau: 比方私立機械系,加上自己幾乎不大會寫程式,找到的公 01/22 00:55
littlebau: 司也很普通之類的 01/22 00:55
ntuvic: 轉職第一份薪資談多少呢? 01/22 08:20
Sunal: 台大學士學習能力就已經贏過很多人了吧 01/22 08:38
OrzOGC: 能轉成功的就算文組也大多是前段學校的,又有過人的毅力 01/22 09:50
pornstar: Stanford校園很多走在路上傻笑流口水滴在地下自己滑倒 01/22 10:05
pornstar: 的智缺低能傻屌,台大素質好多了。 01/22 10:05
leolarrel: 現在寫軟體真的簡單到一堆轉職的都能勝任,跟機車行差不 01/22 10:18
leolarrel: 多了 01/22 10:18
summerleaves: 同1F 台大機械學士 這能力應該前3%了 01/22 11:27
KaoZen: 個案 沒參考價值 結束 01/22 12:23
snow0112: 推!好強! 01/22 12:42
snow0112: 樓上,分享的內容真的很實在很具體,參考價值很高。你畫 01/22 12:50
snow0112: 地自限就會覺得全世界都是個案吧? 01/22 12:50
kuochuwon: 推推,同樣非本科系轉職,目前是卡在想從現職換到更高 01/22 13:39
kuochuwon: 薪的公司,有很多面試機會但都無聲卡...很難知道自己 01/22 13:39
kuochuwon: 問題出在哪... 01/22 13:40
DCTmaybe: 沒事啦,我考不上台大還是可以寫code阿,不敢講薪水而已 01/22 17:15
Morphee: 樓樓上不然cv我看看 01/22 20:47
saladim: 很多人都嘛差一個機會 會的也是一樣 還不是拿到到機會 01/22 20:53
wulouise: 有面試機會但是無聲卡的話..最好找人聊,可能理解錯誤 01/22 21:43
viper9709: 推一樓XD 01/23 00:09
doranako: 書單都給你,靠自己 01/23 12:46
maxsho: 通常有面試但是結果是無聲卡大部分都是卡在要求薪資超過 01/23 12:54
maxsho: 公司願意給的或是年紀有些大了 01/23 12:54
MOONY135: 覺得年紀大了不想錄用,還找來面試浪費自己的時間。微妙 01/23 19:19
MOONY135: 的思考方式 01/23 19:19
loadingN: 有時候也會去一些沒意願報到的公司面試啊 想說會不會挖 01/23 20:17
loadingN: 到寶 但現實通常就是不會 公司方大概也是如此 01/23 20:18
taipoo: 推分享 01/24 02:26
j055116: 感謝分享 獲益良多 01/30 11:22
xiao2chen: clean code 讚 02/06 08:20