V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qwezxcassd
V2EX  ›  问与答

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

  •  
  •   qwezxcassd · 2021-04-17 19:46:39 +08:00 · 2914 次点击
    这是一个创建于 1097 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    30 条回复    2021-04-19 11:11:28 +08:00
    ch2
        1
    ch2  
       2021-04-17 20:28:29 +08:00
    “并不喜欢去钻研业务逻辑(兼职产品经理)、提高扯皮水平这样的发展方向” ,你想多赚钱就得往这方向发展。要不然你可以去体制内或者银行那些有编制清闲的岗位,不用考虑挣钱的事想干啥就干啥
    以一个普通人的学力能学到的技术,在这个时代去私企当螺丝刀拿死工资的概率要远远大于成为大牛被人抢着挖,互联网最缺人的时代早就过去了,你能靠着现在已经学到的东西混碗饭吃就已经够不错了
    weijiax
        2
    weijiax  
       2021-04-17 21:57:10 +08:00 via Android
    天啊 感觉我和你简直一模一样😂
    agagega
        3
    agagega  
       2021-04-17 22:42:09 +08:00 via iPhone
    某种程度上,我觉得「不想写业务」和「想要选择多」是冲突的
    qwezxcassd
        4
    qwezxcassd  
    OP
       2021-04-17 23:11:08 +08:00
    @agagega 可能我上面没有表达清楚,准确的说我是希望做可以量化、能 scale 、有一定技术深度的事情,而没有特别考虑选择多不多。
    qwezxcassd
        5
    qwezxcassd  
    OP
       2021-04-17 23:16:46 +08:00
    @weijiax 现在就比较难受
    weijiax
        6
    weijiax  
       2021-04-17 23:33:13 +08:00
    @qwezxcassd 同🤝
    flynnlemon
        7
    flynnlemon  
       2021-04-17 23:58:29 +08:00 via Android   ❤️ 2
    我比你小一届,校招正打算去阿里,现在提前实习,发现部门的工作内容纯业务代码;现在还有一个百度搜索架构的选择,薪资是真的没有竞争力,但工作可能会更有挑战?(存疑,毕竟是面试官的一面之词)
    我想向您请教一下,从你过往的一年经历来看,我有没有必要去考虑百度?
    LxExExl
        8
    LxExExl  
       2021-04-18 01:30:04 +08:00   ❤️ 12
    楼上说的很对

    [不想写业务] 就不会有 [核心竞争力]

    业务都没写过,怎么带队做开发?怎么 scale 整个系统?怎么提升影响力带动别人? 只靠嘴吗?那就和楼主说的 [提高扯皮水平] 矛盾了。


    楼主不会以为存在一种“技术方向”,是“自己关在小黑屋琢磨了一周,发现了一个艰深晦涩的技术难题,解决之后给全公司带来了 20%的提升”。这种机会肯定有,但绝不是 [没写过业务] 的人能发现的,公司也不会让 [没写过业务] 的人去花时间花精力做这个事。


    [写业务] 是必经之路,也是必要条件。而且到哪都是写业务,谷歌大脑听着是不是很 [高大上] ,很 [偏技术] ,跟在里面的同学聊天,还不是每天 [写业务] 。

    tensorflow 是不是很 [硬核] ,每天能看到 jeff dean,里面的小兵还不是在 [写业务]

    真正想不 [写业务] 需要当 [people manager] ,管人,或者管项目,但也只是不需要 [写] 业务, [了解、剖析、跟进] 业务更需要了。


    现在大公司要避免 single point of failure,就一定要避免 [技术大牛] ,避免出现 [缺一不可] 。给写业务的提供 framework,让写业务没有技术壁垒。给写 framework 的提供 framework,让写 framework 没有技术壁垒。不可替代的是提出并维护这套系统的人和观念,恰恰这些都是 [业务] ,面向 engineering 的 [业务] 。
    yogogo
        9
    yogogo  
       2021-04-18 08:46:37 +08:00 via Android
    说的就是我,业务驱动人才🐶
    qwezxcassd
        10
    qwezxcassd  
    OP
       2021-04-18 11:23:32 +08:00
    @flynnlemon 你和我当初面临的选择有点像,当时我是选择向薪资看齐了,现在如果再做一次选择的话可能我的选择还是不会变,主要是另一个 offer 给的实在太少了,起薪还是比较重要的。

    虽然长远来看最重要的还是提升自己的能力,但在信息不足的情况下只能选择钱多的,这是我的想法,最好当然是对自己的另一个选择再多做一些了解,甚至 argue 一下薪资待遇,然后再做选择。
    HolaPz
        11
    HolaPz  
       2021-04-18 11:45:15 +08:00
    人太多,卷了。
    qwezxcassd
        12
    qwezxcassd  
    OP
       2021-04-18 11:54:07 +08:00
    @LxExExl 感谢您的耐心回复,确实如您所说,在公司里打工除了真正的纯研究岗大家都是在写业务,我对这样广义的写业务其实并不排斥,对目前的状况不满主要是因为做的事情边际效益太低、并且缺少门槛。

    “谷歌大脑里的人也是写业务”,但不是人人都能进谷歌大脑的,也不是人人都能有里面工程师的地位和待遇,一个只会写 CRUD 的后端开发进去谷歌大脑也完全是个门外汉。拿这个举例子有一些极端了,我主要是想表达在自己看来就这样一直写 CRUD 的话看不到什么前景,甚至一不小心就可以被明年的普通毕业生替代。如果说是写业务的话那么最好这个业务是有技术难度和深挖的潜力的,而不是简单的 CRUD 堆砌出来的纯 C 端业务。

    从公司的角度出发自然是希望每个人都像机器的齿轮一样可替代,每年定期的“换新”以减少人力成本,但从个人出发却是要提升自己的稀缺性和不可替代性的,这也是我主要烦恼的地方。
    Akiya
        13
    Akiya  
       2021-04-18 11:57:56 +08:00 via iPhone
    看你的学习内容可以尝试下做 infra,不写业务,技术成长也很快,还需要经常当客服。最后还是发现写业务舒服,不闹心
    pjntt
        14
    pjntt  
       2021-04-18 12:07:01 +08:00
    大厂学的基础及规范,举个例子 ,同样的CURD操作,小厂可能就是一条语句,一个方法搞定。大厂可能就需要做各种幂等校验.为什么这样做,你 GET 到点了吗? 你自己会这样设计吗?
    liprais
        15
    liprais  
       2021-04-18 12:17:27 +08:00 via iPhone   ❤️ 1
    真浮躁,先做好眼前的事情呗
    yunyuyuan
        16
    yunyuyuan  
       2021-04-18 12:23:35 +08:00
    [业务]这个词太笼统了,谁不是搞业务的呢
    只不过等自己业务搞得牛逼,就能指挥别人搞业务罢了
    Akiya
        17
    Akiya  
       2021-04-18 13:01:04 +08:00 via iPhone
    看到有很多人反对楼主,我就多说几句。大部分人做的工作都是 CRUD,但是不意味着你就只有这一个方向可以选择,每个岗位都有它的价值,谁也没必要看不起谁。
    举例,做数据库的有 pingCAP,Tera,OceanBase 等,云服务的有 AWS 等,做存储的有很多以 Ceph 为基础的产品。还有网络,嵌入式,安全,虚拟化等等。互联网的火热给了大家都在写 CRUD 的错觉,实际上你能选择的远不止互联网,也没有不会 CRUD 就做不好其他工作这回事。
    qwezxcassd
        18
    qwezxcassd  
    OP
       2021-04-18 15:36:44 +08:00
    @Akiya 谢谢您的回复,我确实有考虑想做 infra,不过浏览相关岗位时感觉好像又陷入了“没有经验就找不到工作,没有工作就积累不了经验”的圈子,之前尝试投了一下 PingCap,两面之后 HR 以组织架构变动的理由终止了面试,然后就没有再看其它机会了。想法是应该在工作的基础上尝试去接触和积累 infra 相关的经验,但一方面总感觉自己还达不到相关岗位的要求,一方面工作上也没有去做相关东西的机会,只能空闲时间充充电,有些为此头疼。

    我本意并没有贬低任何职位的意思,目前是觉得自己不喜欢光是 CRUD 的业务所以想要换个方向,仅此而已。
    yumenawei
        19
    yumenawei  
       2021-04-18 16:28:20 +08:00
    帮顶~
    自己也有些这方面的疑问,看看大佬们的想法。
    Akiya
        20
    Akiya  
       2021-04-18 17:00:22 +08:00 via iPhone
    @qwezxcassd 关于“没有工作经验就找不到工作,找不到工作就没有工作经验”这种问题在哪个岗位上都存在,比如现在写 CRUD 的岗位大多都要求有分布式高并发的经验。我能给到的建议是有能力的话慢慢开始参与相关的开源项目,比如 pingCAP 的工作基本上都在 github 上面;另外继续看机会,不要因为感觉自己达不到要求就不投了,如果你能把 6.824 的实验都做完的话,我想有很多公司都是愿意培养的;最后推荐一下 Tigergraph,目前 infra 组做的是类似于 k8s 的项目。
    winglight2016
        21
    winglight2016  
       2021-04-18 18:32:40 +08:00
    程序员都是从写业务代码开始的,毕竟基础不扎实,让你去做底层代码,你也担不下来这个活呀。。。至于运维,和程序员是两个岗位了,没有什么可比性
    IwfWcf
        22
    IwfWcf  
       2021-04-18 19:08:54 +08:00
    经验也不是只有工作能得到啊,真的有兴趣为什么不去参与 tidb 这样的开源项目?
    xingguang
        23
    xingguang  
       2021-04-18 19:22:13 +08:00
    严格意义上,写框架也是写业务,只是业务是自己考虑的,所以单纯的技术是没用的,除非是搞科研,否则只有和业务结合起来才能有竞争力
    qwezxcassd
        24
    qwezxcassd  
    OP
       2021-04-18 19:55:53 +08:00
    @Akiya 谢谢您的建议,我想参与开源应该应该也是最快能补全经验空缺的方式了,我也会再关注外面的机会。

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

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

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

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

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

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

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

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

    看你现在方向是有了.

    但只是工作了半年多.

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

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

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

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

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

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

    以上只是俺的一点拙劣的思想, 供参考
    IwfWcf
        29
    IwfWcf  
       2021-04-19 04:04:16 +08:00
    @qwezxcassd 嗯,你还很年轻,其实试错成本很低,大胆去试就好了。不过从简历的角度可能待满一年再跳槽会更理想,而且上面不少回复其实也提到了实际做 infra 时也是会有不少杂事的,最好自己实际参与其中去了解一下这些情况并做好预期
    litujin1123
        30
    litujin1123  
       2021-04-19 11:11:28 +08:00
    @qwezxcassd 可以找人内推阿里云看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1259 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:52 · PVG 01:52 · LAX 10:52 · JFK 13:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.