诚心请教,校招生不想写纯业务代码,如何选择更好的发展方向?

2021-04-17 19:46:39 +08:00
 qwezxcassd

背景:去年毕业入职某大厂搬了半年多的砖了,主要就是写后端的业务代码、打打杂,感觉缺少核心竞争力,说难听点就还是个随便找个人都可以替代的“螺丝钉”。并不喜欢去钻研业务逻辑(兼职产品经理)、提高扯皮水平这样的发展方向,所以感觉自己无论如何都是要换个职位的,但对于之后如何发展心里还是没有定数。

Paul Graham 的某篇文章对自己的想法还是有一定影响的,那就是做的工作需要是可以量化、可以 scale 的,恰好目前自己做的事情这两点都不具备。业务本身没有超高的 qps 、没有低延迟的要求、没有海量的数据,因此即使你写的再好、对底层理解再熟悉、优化的再完美也是没有意义的,最终代码只要能用就行,谁都能写,但写的更好也不会有任何看得见的收益,就只是搬砖实现产品要求而已。

因为对上面说的几点有充分的认识,我平时也在不断学习不同的技术与读书,分布式系统和数据库方面读了 DDIA 和 6.824 了解 Raft 协议等概念以及很多常见数据库系统的底层实现,k8s 对 Controller 、Pod 等概念和大致实现都有些了解,也熟悉微服务架构下服务发现、链路追踪等一套东西。尽管感觉自己很多都有涉猎,但落实到要找别的方向的工作时却一方面感觉缺乏相关实际经验、有些怀疑自己的能力,一方面又想 k8s 或者数据库的方向真的就可以帮助自己跳出目前的“坑”吗?最后依然不能坚定决心选一条路来走。

诚心请教大家,有没有做 k8s 或者数据库方向(或者其它有挑战性方向)的同学可以给一些建议或者指点一下内幕,或者有没有大佬来批判一下自己不成熟的烦恼,先在这里谢过了。

2947 次点击
所在节点    问与答
30 条回复
winglight2016
2021-04-18 18:32:40 +08:00
程序员都是从写业务代码开始的,毕竟基础不扎实,让你去做底层代码,你也担不下来这个活呀。。。至于运维,和程序员是两个岗位了,没有什么可比性
IwfWcf
2021-04-18 19:08:54 +08:00
经验也不是只有工作能得到啊,真的有兴趣为什么不去参与 tidb 这样的开源项目?
xingguang
2021-04-18 19:22:13 +08:00
严格意义上,写框架也是写业务,只是业务是自己考虑的,所以单纯的技术是没用的,除非是搞科研,否则只有和业务结合起来才能有竞争力
qwezxcassd
2021-04-18 19:55:53 +08:00
@Akiya 谢谢您的建议,我想参与开源应该应该也是最快能补全经验空缺的方式了,我也会再关注外面的机会。

@IwfWcf 确实是这样的,只是比起业余时间参与开源,实际参与相关的全职工作应该是见效更快、可以更快速成长的,不过对于现在缺乏经验的我来说可能还是开源是一个好的破局的方法。
asanelder
2021-04-18 20:28:02 +08:00
就以 CRUD 为例吧, 俺觉得这其实也是可以学习到一些东西的, 比如说

1. 从业务角度: 你会了解业务, 说不定这个业务比较有通用性一些, 有通用性的业务还是值得要了解的, 它们都面面临一些共同的问题, 你可以搞明白这些共同的问题如何解决, 那么, 你就学会到了一般性的解决方案, 这是从业务角度来说.

2. 从技术角度: 你如果觉得 CRUD 很枯燥, 你可以去想一下不使用 CRUD , 还有没有其它的方案来做? 比如说 DDD? 在学习 DDD 过程中,这个点又会引申到什么微服务之类的, 你又可以学习到很多东西, 而这些东西, 俺看来是很有通用性的.

3. 从数据角度: 无论 C 端还是 B 端, 都会涉及到各种类型的数据, 你可以去思考这些数据的存储为什么会这样? 为什么有的要在 redis, 有的要在数据库? 有的要在 ES? 你可以学习去分析数据的数据量, 数据的读写冷热问题, 如果数据之间还有关系, 你要思考一致性的问题了.

所以, 俺认为, 即使你是在写无聊的业务, 也可以从多个角度去思考, 也会有收获的, 你可以有一个目标,

"如果整个业务系统由你来设计, 你会如何考虑?"

学会了以上这些, 自然就不会去做一个只些纯业务代码, 做 CRUD 的 boy 了, 你就可以从整体的一个视角来看待这些"纯业务代码了".
qwezxcassd
2021-04-18 22:23:20 +08:00
@asanelder 谢谢您的回复,您说的我很认同,CRUD 业务确实不只 CRUD,在搬砖的过程中也需要去学习各个组件、平台的原理和适用场景,而设计一个服务的整体架构也有很多学问,在不少方面我也只是个门外汉而已。

我不想否定 CRUD 的价值,在这段时间内我也学到了不少东西,目前我的困境主要在于如何(是否)去开始去做另一个方向的东西,无聊的业务也能学到东西不假,但一般来说还是希望能做更感兴趣的东西的。
asanelder
2021-04-18 22:31:43 +08:00
@qwezxcassd #26

看你现在方向是有了.

但只是工作了半年多.

俺觉得可以在等等, 先工作一年比较好, 在这剩下的时间里, 可以继续在你喜欢的方向上做一些积累.

然后在工作中看能不能实践你的一些想法, 如果不能实践的话, 就再忍忍半年, 也不必过于在当前工作中证明自己.(好把自己搞的好累)

过了一年后, 可以考虑其它的机会.

俺觉得最关键的是, 你现在是有自己的方向, 只是自己学习和积累的在当前工作中不好实践, 没有反馈, 就不好坚持了.

这比其它没有方向, 迷茫, 让别人指明方向的情况好多了.
asanelder
2021-04-18 22:36:04 +08:00
@qwezxcassd #26

不要有太多患得患失的心里,
减少对物质和追求和他人的期待,
多增加点自己的积蓄
提升自己的能力
追求工作和生活的平衡
注意锻炼身体
在除工作的其它方面, 找一些能持续进步和得到正反馈的事
相信自己, 在这个认能力的行业, 只要你有能力, 是绝对有你发挥的空间的.

以上只是俺的一点拙劣的思想, 供参考
IwfWcf
2021-04-19 04:04:16 +08:00
@qwezxcassd 嗯,你还很年轻,其实试错成本很低,大胆去试就好了。不过从简历的角度可能待满一年再跳槽会更理想,而且上面不少回复其实也提到了实际做 infra 时也是会有不少杂事的,最好自己实际参与其中去了解一下这些情况并做好预期
litujin1123
2021-04-19 11:11:28 +08:00
@qwezxcassd 可以找人内推阿里云看看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/771337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX