[心得] 机械转软件工程师经验分享

楼主: wulouise (在线上!=在电脑前)   2021-01-21 20:45:46
# 前言
想分享一下当初从进公司几乎不会写程式
到现在负责做软件的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
中文: 无瑕的程式码 番外篇:专业程式设计师的生存之道)
这本书很薄,但是我看了很有感触,有做专案的人建议一看
作者: s455164 (梦想家)   2021-01-21 21:02:00
作者: Raymond0710 (雷门)   2021-01-21 21:15:00
推 不过工具机产业薪水应该不高吧 你值得去外面试试
作者: creaton (Mr.艾尔默)   2021-01-21 21:40:00
推 自学能力不是普通的强
作者: lolicat (猫雨果)   2021-01-21 21:59:00
重点 要会通灵(X
楼主: wulouise (在线上!=在电脑前)   2021-01-21 22:13:00
我这个产业运气不错,薪水还可以,虽然没有mnnrp高然后通灵真的蛮重要的xd
作者: ibizacodi (下霰无底)   2021-01-21 22:19:00
推通灵大师
作者: zaku (....)   2021-01-21 22:20:00
porting driver不算纯软,要稍微懂一点硬件的东西
作者: Morphee (千磨万击还坚劲)   2021-01-21 22:25:00
工具机就新代吧 最近怎么消失了 很少有人提
作者: gaea0127 (Taiwan's Zangief)   2021-01-21 22:34:00
推通灵
作者: pttano (pttano)   2021-01-21 23:02:00
其实重点在于台大学士,你以为大叶学士有公司敢冒险?
作者: easyman (oops)   2021-01-21 23:05:00
跟我走的路很像, 书单也几乎一样
作者: bena5mail13 (浪费人生)   2021-01-21 23:06:00
新代不就丢骰子 能不能碰程式全看运气 跟职缺无关
作者: easyman (oops)   2021-01-21 23:07:00
老实讲, 很多本科系也不会自学看这些书
作者: aria0520 (紫)   2021-01-21 23:10:00
新代就台大机械大本营
作者: smallfatleg (猫˙ω˙)   2021-01-21 23:39:00
同样做案子天天要通灵 帮QQ
作者: mejichoco (UoU)   2021-01-22 00:01:00
没台大进不了!大哥很努力!
作者: tpegioe (oeo)   2021-01-22 00:57:00
推,曾是机器人
作者: saladim (杀拉顶)   2021-01-22 02:15:00
重点在于台大好吗 看过很多例子 就是愿意给台大机会 其他学校的非相关科系 要嘛直接刷掉履历要嘛就是很折磨
作者: apple1235566 (pingo)   2021-01-22 07:44:00
傻眼原po学了那么多 酸酸只说一句靠台大哈哈哈原po就是肯学 所以不会是大叶是台大啊
作者: nctuDuncan (Duncan去!静啊@@[mS)   2021-01-22 08:07:00
推通灵王
作者: haudoing (阿华平凡版)   2021-01-22 09:08:00
原po很认真又厉害
作者: michaelgodtw (可爱书生宝宝)   2021-01-22 09:35:00
选择一定比努力重要
作者: hoouhoou (hoouhoou)   2021-01-22 10:01:00
作者: botnet (天龙人)   2021-01-22 10:26:00
推 Clean Code
作者: chupiggy (機器人)   2021-01-22 10:32:00
同学推一个
作者: LittleYueh (岳)   2021-01-22 10:34:00
推 感谢分享
作者: chupiggy (機器人)   2021-01-22 10:34:00
然后你当年大学修的是 VB Express 2005 XD
作者: daywalker (请大家重视全球暖化)   2021-01-22 11:15:00
学习能力强的的还会念大叶吗? ㄏㄏ
楼主: wulouise (在线上!=在电脑前)   2021-01-22 12:02:00
谢谢同学提醒vb版本xd每个人的境遇都不一样,希望能分享资讯帮助有需求的人
作者: misupm (gphone)   2021-01-22 12:46:00
Hi学长,想问找到一间愿意收非本科转职的公司会是首要条件吗?公司的类型需要怎么筛选呢?
作者: NTU100 (YUY)   2021-01-22 12:48:00
非本科的大部分都是从一些条件比较不好的公司开始慢慢爬
作者: m4vu0 (m4vu0)   2021-01-22 12:55:00
非本科没经验就是看学历。自学再多没学历一样没人理你
作者: snow0112 (小雪)   2021-01-22 13:07:00
大公司都比较愿意收非本科毕业的,只要刷题
作者: ycess (WhyQQ)   2021-01-22 13:21:00
推通灵
作者: choral   2021-01-22 15:53:00
原来是学长,帮推~
作者: hongsiangfu   2021-01-22 15:56:00
楼主: wulouise (在线上!=在电脑前)   2021-01-22 18:06:00
如果是韧体,有些收机械系,台大的话我知道有进P
作者: kkyyllee   2021-01-22 18:25:00
朝圣推
作者: saladim (杀拉顶)   2021-01-22 20:55:00
有人不知道是窝在自己的舒适圈还是逻辑少了点 原PO学了很多 其他人就没有学吗? 现实看到的就是会的一样多 就是给台大 基本上就是按照学校排名阿 这也没损害到原PO的努力 第一份工作跟机会本来就跟学校有关 看过的例子里面有清大物理材料也是自学很多(清大不是废柴了吧?) 一样结果而且有些东西是先有机会才有得学(这篇里有)最后大概也是都认为台大品质保证做结尾 结果这变成前提了
楼主: wulouise (在线上!=在电脑前)   2021-01-22 21:13:00
必须说我运气算很好,有遇到肯给机会的公司,也肯发展但是念的书跟心得还是可以提供参考,境遇没办法比较
作者: tinalockhart (无言)   2021-01-22 21:25:00
恭喜原po~~但是真的感觉是台大给了你机会
作者: physicsdk (我是小洛)   2021-01-22 21:52:00
推!真优秀!
作者: joice76x (Poker Face)   2021-01-23 09:24:00
大叶凭哪一点可以跟台大比啊 人家努力了20年凭什么出社会两三年野鸡大学就自认已经超越台大了?
作者: tenpoinyuki (阿苍)   2021-01-23 13:26:00
推,感谢分享
作者: jason777king (阿权)   2021-01-23 20:17:00
推一个 高手
作者: jimmy983 (Jimmy)   2021-01-23 21:09:00
作者: abchunger (abchunger)   2021-01-26 14:39:00
强者同事 先推再说
作者: h5904098 (LBJ IS GOD)   2021-01-29 00:29:00
推 强者

Links booklink

Contact Us: admin [ a t ] ucptt.com