作者tofuflower (无)
看板Soft_Job
标题Re: [请益] 後端工程师要如何更优秀
时间Mon Jun 3 11:50:22 2019
※ 引述《csjs87 (思念的季节)》之铭言:
: 各位年薪三百万的大神们好,小弟不才又上来请益了。一年前为了选择资策会的课程在版上发了问,有幸获得许多人的回覆。
: 从资策会毕业、顺利找到工作也一阵子了,现在月薪37k,主要是协助开发後端。但我碰到一些对於自己不足的地方,想再次请教各位。
: 一、
: 因为公司没有一套完整的教育训练或是架构的教学,所以即使我有尝试在我负责做的小工具、api中尽量使用"我认为的oop观念"、"solid的开发原则"。但还是不晓得是否正确,同事们大多也都很资浅,加上没有太多时间帮我看(专案忙)。我要怎麽检视自己的code是良好、容易维护的呢?
不知道你用什麽语言,我假设是业界常看到的那几款好了。
在本地端架一套 sonarqube 起来,把自己的 code 扫一遍,
你就会知道那些 code 写得不好了。
我现在有在公司内部架一套,用来避免自己一时恍神写出烂 code。
中高阶的程式架构 design pattern, SOLID 等,碰过的专案越多再搭配书来看才会比较有感觉,
初期没概念很正常。
新手我推荐 Clean Code / Clean Architecture 系列,写的浅显易懂。
英文听力还 ok 的话,可以去 youtube 搜寻 "robert c. martin" 或 "martin fowler"
这两位大师在讲解程式架构概念非常有一手,可以把复杂的概念讲的很简单。
单配英文字幕看不会太难懂。
: 二、
: 偶尔会看版上或是104徵才需要什麽样的能力,为将来不管跳槽或是谈薪水更有筹码。我印象中常看到的有云端架设相关(aws、azure)、程式设计上(单元测试、graph api)、其他(CI/CD、Docker容器、TDD)。虽然都有查过也大致知道是什麽,但也仅此而已,更不晓得知识还很浅薄的我有没有误会什麽。
个人强烈建议先投资测试,从最简单的 unit test 开始。
xUnit Test Patterns: Refactoring Test Code 这本书就很不错。
没有测试保护你要去搞 CI/CD 只是把有问题的 code 上到 prod 的流程自动化而已。
当你跑过几轮 code 从开发到测试到上到 pro 环境的流程後,
可以看一下这本书: Continuous Delivery。
: 三、
: 最後是一些比较底层的资料结构、计算机概论这类都几乎是0知识。虽然计概有自己看台大开放课程的计算机概论,是多少有学到一些,但又好像不是我现在急迫必要的知识。听说资工有本圣经恐龙本,看过目录发现,很多都是我常常看到的陌生词汇。I/O、thread、Process等等,我觉得好像不看懂这些我就很难更精进。
: 其实我本身不是“非常”热爱写程式的人,我会在写code的时候为解出bug感到开心,也会边骑车边想程式的事,看到好像很神奇的新技术新闻也会很兴奋,也想做side project,想使用新知识。但到了休假日,也很少真的着手进行。
: 总之我现在稍微有点迷惘,对於程式这条路我觉得我才刚起步,也不想离开。但学海无涯,光上面就太多东西要学。
: 根据我自己的感觉,只知道自己暂时还不太想钻研前端。而对於我上面提到的各种知识,能怎麽安排、规划比较好?谢谢大家。
这是长期投资,短期内很难看到成效,但请持之以恒地继续钻研,
有一天你会发现扎实的基础可以让你更快的定位系统异常或效能问题。
OS 恐龙本 / Fundamentals of Database Systems
这两本我都很推荐想走後端的工程师看。
: -----
: Sent from JPTT on my Sony G8142.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.146.95.158 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1559533824.A.248.html
1F:推 bobbyaxe: 感谢分享 06/03 12:25
2F:推 jt912129: 感谢分享 06/03 12:45
3F:推 lgates: 感谢分享 06/03 12:53
4F:推 LERICAL: 推 06/03 13:38
5F:推 oopFoo: 推。还有花时间学写注解如JavaDoc,把公司的code补一补。 06/03 13:44
6F:→ oopFoo: 也可以学到很多。 06/03 13:45
7F:→ lwtech: 我是不太推荐补 JavaDoc, 因为你不会永远在那家公司 06/03 13:45
8F:→ lwtech: 核心能力学一学,没有就闪,人生很短不用浪费时间 06/03 13:49
9F:→ knives: JavaDoc还需要学?编辑器plugin装一装,快捷键就帮你产生样 06/03 15:58
10F:→ knives: 版刻出来了 06/03 15:58
11F:推 paul800526: 这一定要推 06/03 16:30
12F:推 locklose: 推测试,而且覆盖率越高有助提升生活品质 06/03 17:04
13F:推 vn509942: 感谢分享 06/03 17:38
14F:推 keroro01: 是 Martin Fowler吧 06/03 18:22
15F:推 alihue: 是 马丁佛凹乐,不是 马丁扶老二 06/03 18:29
16F:推 ricky0050: 高手!! 06/03 18:57
17F:→ csieflyman: 果然有人会误认为马丁花 06/03 19:10
该死!居然打错大师的名字。
请容我扶老二致歉 qwq
※ 编辑: tofuflower (49.217.44.15 台湾), 06/03/2019 19:49:53
※ 编辑: tofuflower (49.217.44.15 台湾), 06/03/2019 19:50:24
18F:推 csjs87: 非常详细,也推荐了很多书,谢谢大大 06/03 21:29
19F:推 clamperni: 推 06/03 21:58
20F:推 GGFACE: 你好像很会看书 06/03 22:40
21F:推 jj0321: XD 这两个大师在软体工程贡献许多~~ 06/03 22:41
22F:推 toothlesses: 推 06/03 22:51
23F:推 sharku: 推 06/03 22:57
24F:推 BignoZe: 推 06/04 00:06
25F:推 molopo: 非常感谢 06/04 01:31
26F:推 BlacksPig: 推 06/04 07:06
27F:推 frankshih: 感谢分享,不只後端,基本上软体开发都受用 06/04 07:11
28F:推 boy955403: 感谢分享,推推 06/04 11:56
29F:推 marsyang1: 推 06/04 13:08
30F:推 showgunLa: 推 06/04 18:24
31F:推 richer6605: 非常感谢分享 06/05 00:33
32F:推 aliasber66: 推 06/06 12:44
33F:→ cloudskyblue: 结果这些读到透彻然後面试被演算法洗脸 06/06 21:03
34F:→ lwtech: 结果隔天中乐透从此人生烦恼的是钱要怎麽花 06/07 12:35
35F:推 q10242: 谢谢 06/07 14:06
36F:推 internetms52: 推 06/25 08:08