作者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://webptt.com/cn.aspx?n=bbs/Tech_Job/M.1611233153.A.356.html
※ wulouise:转录至看板 Soft_Job 01/21 20:48
1F:推 s455164: 推 01/21 21:02
2F:推 Raymond0710: 推 不过工具机产业薪水应该不高吧 你值得去外面试试 01/21 21:15
※ 编辑: wulouise (220.137.55.249 台湾), 01/21/2021 21:38:49
3F:推 creaton: 推 自学能力不是普通的强 01/21 21:40
4F:推 lolicat: 重点 要会通灵(X 01/21 21:59
5F:→ wulouise: 我这个产业运气不错,薪水还可以,虽然没有mnnrp高 01/21 22:13
6F:→ wulouise: 然後通灵真的蛮重要的xd 01/21 22:14
7F:推 ibizacodi: 推通灵大师 01/21 22:19
8F:推 zaku: porting driver不算纯软,要稍微懂一点硬体的东西 01/21 22:20
9F:推 Morphee: 工具机就新代吧 最近怎麽消失了 很少有人提 01/21 22:25
10F:推 gaea0127: 推通灵 01/21 22:34
11F:嘘 pttano: 其实重点在於台大学士,你以爲大叶学士有公司敢冒险? 01/21 23:02
12F:推 easyman: 跟我走的路很像, 书单也几乎一样 01/21 23:05
13F:嘘 bena5mail13: 新代不就丢骰子 能不能碰程式全看运气 跟职缺无关 01/21 23:06
14F:→ easyman: 老实讲, 很多本科系也不会自学看这些书 01/21 23:07
15F:推 aria0520: 新代就台大机械大本营 01/21 23:10
16F:推 smallfatleg: 同样做案子天天要通灵 帮QQ 01/21 23:39
17F:推 mejichoco: 没台大进不了!大哥很努力! 01/22 00:01
18F:推 tpegioe: 推,曾是机械人 01/22 00:57
19F:→ saladim: 重点在於台大好吗 看过很多例子 就是愿意给台大机会 其他 01/22 02:15
20F:→ saladim: 学校的非相关科系 要嘛直接刷掉履历要嘛就是很折磨 01/22 02:16
21F:推 apple1235566: 傻眼原po学了那麽多 酸酸只说一句靠台大哈哈哈 01/22 07:44
22F:→ apple1235566: 原po就是肯学 所以不会是大叶是台大啊 01/22 07:45
23F:推 nctuDuncan: 推通灵王 01/22 08:07
24F:推 haudoing: 原po很认真又厉害 01/22 09:08
25F:推 michaelgodtw: 选择一定比努力重要 01/22 09:35
26F:推 hoouhoou: 推 01/22 10:01
27F:推 botnet: 推 Clean Code 01/22 10:26
28F:推 chupiggy: 同学推一个 01/22 10:32
29F:推 LittleYueh: 推 感谢分享 01/22 10:34
30F:→ chupiggy: 然後你当年大学修的是 VB Express 2005 XD 01/22 10:34
31F:→ daywalker: 学习能力强的的还会念大叶吗? ㄏㄏ 01/22 11:15
32F:→ wulouise: 谢谢同学提醒vb版本xd 01/22 12:02
33F:→ wulouise: 每个人的境遇都不一样,希望能分享资讯帮助有需求的人 01/22 12:11
34F:推 misupm: Hi学长,想问找到一间愿意收非本科转职的公司会是首要条 01/22 12:46
35F:→ misupm: 件吗?公司的类型需要怎麽筛选呢? 01/22 12:46
36F:推 NTU100: 非本科的大部分都是从一些条件比较不好的公司开始慢慢爬 01/22 12:48
37F:推 m4vu0: 非本科没经验就是看学历。自学再多没学历一样没人理你 01/22 12:55
38F:推 snow0112: 大公司都比较愿意收非本科毕业的,只要刷题 01/22 13:07
39F:推 ycess: 推通灵 01/22 13:21
40F:推 choral: 原来是学长,帮推~ 01/22 15:53
41F:推 hongsiangfu: 推 01/22 15:56
42F:→ wulouise: 如果是韧体,有些收机械系,台大的话我知道有进P 01/22 18:06
43F:推 kkyyllee: 朝圣推 01/22 18:25
44F:→ saladim: 有人不知道是窝在自己的舒适圈还是逻辑少了点 原PO学了 01/22 20:55
45F:→ saladim: 很多 其他人就没有学吗? 现实看到的就是会的一样多 就是 01/22 20:55
46F:→ saladim: 给台大 基本上就是按照学校排名阿 这也没损害到原PO的努 01/22 20:56
47F:→ saladim: 力 第一份工作跟机会本来就跟学校有关 看过的例子里面有 01/22 20:57
48F:→ saladim: 清大物理材料也是自学很多(清大不是废柴了吧?) 一样结果 01/22 20:58
49F:→ saladim: 而且有些东西是先有机会才有得学(这篇里有) 01/22 21:00
50F:→ saladim: 最後大概也是都认为台大品质保证做结尾 结果这变成前提了 01/22 21:01
51F:→ wulouise: 必须说我运气算很好,有遇到肯给机会的公司,也肯发展 01/22 21:13
52F:→ wulouise: 但是念的书跟心得还是可以提供参考,境遇没办法比较 01/22 21:13
53F:推 tinalockhart: 恭喜原po~~但是真的感觉是台大给了你机会 01/22 21:25
54F:推 physicsdk: 推!真优秀! 01/22 21:52
55F:推 physicsdk: 机运也很重要,公司缺人扩编的时候机会很多,非本科没 01/23 00:06
56F:→ physicsdk: 经验的也行 01/23 00:06
57F:推 joice76x: 大叶凭哪一点可以跟台大比啊 人家努力了20年 01/23 09:24
58F:→ joice76x: 凭什麽出社会两三年野鸡大学就自认已经超越台大了? 01/23 09:24
59F:推 tenpoinyuki: 推,感谢分享 01/23 13:26
60F:推 jason777king: 推一个 高手 01/23 20:17
61F:推 jimmy983: 推 01/23 21:09
62F:推 abchunger: 强者同事 先推再说 01/26 14:39
63F:推 h5904098: 推 强者 01/29 00:29
64F:推 geraldliu98: 推推 02/06 17:24