PTT推薦

[心得] 機械轉軟體工程師經驗分享

看板Tech_Job標題[心得] 機械轉軟體工程師經驗分享作者
wulouise
(在線上!=在電腦前)
時間推噓37 推:39 噓:2 →:23

# 前言

想分享一下當初從進公司幾乎不會寫程式
到現在負責做軟體的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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.55.249 (臺灣)
PTT 網址
wulouise:轉錄至看板 Soft_Job

01/21 20:48

s45516401/21 21:02

Raymond071001/21 21:15推 不過工具機產業薪水應該不高吧 你值得去外面試試

※ 編輯: wulouise (220.137.55.249 臺灣), 01/21/2021 21:38:49

creaton01/21 21:40推 自學能力不是普通的強

lolicat01/21 21:59重點 要會通靈(X

wulouise01/21 22:13我這個產業運氣不錯,薪水還可以,雖然沒有mnnrp高

wulouise01/21 22:14然後通靈真的蠻重要的xd

ibizacodi01/21 22:19推通靈大師

zaku01/21 22:20porting driver不算純軟,要稍微懂一點硬體的東西

Morphee01/21 22:25工具機就新代吧 最近怎麼消失了 很少有人提

gaea012701/21 22:34推通靈

pttano01/21 23:02其實重點在於台大學士,你以爲大葉學士有公司敢冒險?

easyman01/21 23:05跟我走的路很像, 書單也幾乎一樣

bena5mail1301/21 23:06新代不就丟骰子 能不能碰程式全看運氣 跟職缺無關

easyman01/21 23:07老實講, 很多本科系也不會自學看這些書

aria052001/21 23:10新代就台大機械大本營

smallfatleg01/21 23:39同樣做案子天天要通靈 幫QQ

mejichoco01/22 00:01沒台大進不了!大哥很努力!

tpegioe01/22 00:57推,曾是機械人

saladim01/22 02:15重點在於台大好嗎 看過很多例子 就是願意給台大機會 其他

saladim01/22 02:16學校的非相關科系 要嘛直接刷掉履歷要嘛就是很折磨

apple123556601/22 07:44傻眼原po學了那麼多 酸酸只說一句靠台大哈哈哈

apple123556601/22 07:45原po就是肯學 所以不會是大葉是台大啊

nctuDuncan01/22 08:07推通靈王

haudoing01/22 09:08原po很認真又厲害

michaelgodtw01/22 09:35選擇一定比努力重要

hoouhoou01/22 10:01

botnet01/22 10:26推 Clean Code

chupiggy01/22 10:32同學推一個

LittleYueh01/22 10:34推 感謝分享

chupiggy01/22 10:34然後你當年大學修的是 VB Express 2005 XD

daywalker01/22 11:15學習能力強的的還會念大葉嗎? ㄏㄏ

wulouise01/22 12:02謝謝同學提醒vb版本xd

wulouise01/22 12:11每個人的境遇都不一樣,希望能分享資訊幫助有需求的人

misupm01/22 12:46Hi學長,想問找到一間願意收非本科轉職的公司會是首要條

misupm01/22 12:46件嗎?公司的類型需要怎麼篩選呢?

NTU10001/22 12:48非本科的大部分都是從一些條件比較不好的公司開始慢慢爬

m4vu001/22 12:55非本科沒經驗就是看學歷。自學再多沒學歷一樣沒人理你

snow011201/22 13:07大公司都比較願意收非本科畢業的,只要刷題

ycess01/22 13:21推通靈

choral01/22 15:53原來是學長,幫推~

hongsiangfu01/22 15:56

wulouise01/22 18:06如果是韌體,有些收機械系,台大的話我知道有進P

kkyyllee01/22 18:25朝聖推

saladim01/22 20:55有人不知道是窩在自己的舒適圈還是邏輯少了點 原PO學了

saladim01/22 20:55很多 其他人就沒有學嗎? 現實看到的就是會的一樣多 就是

saladim01/22 20:56給台大 基本上就是按照學校排名阿 這也沒損害到原PO的努

saladim01/22 20:57力 第一份工作跟機會本來就跟學校有關 看過的例子裏面有

saladim01/22 20:58清大物理材料也是自學很多(清大不是廢柴了吧?) 一樣結果

saladim01/22 21:00而且有些東西是先有機會才有得學(這篇裡有)

saladim01/22 21:01最後大概也是都認為台大品質保證做結尾 結果這變成前提了

wulouise01/22 21:13必須說我運氣算很好,有遇到肯給機會的公司,也肯發展

wulouise01/22 21:13但是念的書跟心得還是可以提供參考,境遇沒辦法比較

tinalockhart01/22 21:25恭喜原po~~但是真的感覺是台大給了你機會

physicsdk01/22 21:52推!真優秀!

physicsdk01/23 00:06機運也很重要,公司缺人擴編的時候機會很多,非本科沒

physicsdk01/23 00:06經驗的也行

joice76x01/23 09:24大葉憑哪一點可以跟台大比啊 人家努力了20年

joice76x01/23 09:24憑什麼出社會兩三年野雞大學就自認已經超越台大了?

tenpoinyuki01/23 13:26推,感謝分享

jason777king01/23 20:17推一個 高手

jimmy98301/23 21:09

abchunger01/26 14:39強者同事 先推再說

h590409801/29 00:29推 強者

geraldliu9802/06 17:24推推