跳至主要內容

在字节工作一个月,我总结了 10 条心得与体会。

ltyzzz约 3090 字大约 10 分钟

大家好,我是 「周三不Coding」,可能大家更熟悉的名字是 ltyzzz。

今天给大家分享一下我在字节工作一个多月的心得与体会。本来这篇文章准备在上周周末就分享出来,但是因为最近一直在折腾 GPT,所以耽搁了一周哈哈哈哈。

如下心得与体会,都是关于日常的工作与学习,而非职场人际关系、人情世故等方面。大部分的心得与体会,我都会提供一个对应的实际案例。希望大家能耐着性子看到最后,大概率能给大家带来一些收获。并且希望你看的时候带着辩证的思维,毕竟这些也只是从我的视角观察到的,并不是通用结论。

  1. 代码学习过程中一定要注重环境配置,切忌走马观花、不动手实操。

    • 我们代码学习的过程中,一定避免不了环境配置。有些同学可能会选择直接复制粘贴视频博主、其他同学已经配置好的文件,尽快地进入到写代码的环节。但是,这虽然在一定程度加快了你的学习速度,但同时也为你挖好了 “坑”。环境配置中可能会包含一些选项,如 Redis 配置文件(是否守护进程、持久化选项等)、Docker 容器运行选项(端口映射、目录映射等)等。如果你只是 Copy 现成配置,当需要更改配置时,你无从下手甚至会踩很多坑。
    • 如果你在学习过程中,尽可能多地自己动手配置,你会熟悉你所使用的工具、开发框架、中间件,这对你日后自己从 0 到 1 开发项目,是非常有帮助的。
    • 案例:在我刚入职时,在配环境上遇到了很多麻烦,比如服务器配置、权限申请、本地环境配置等等。虽然我在代码学习的过程中踩过很多类似的坑,但这次配置环境过程中仍然遇到了很多问题。大概花费了一周(5 天的时间),我配好了所有环境、项目、机器。在之后的一个月时间里,我又陆续接手了其它小项目,之后的配置过程就顺风顺水。所以说,配置环境的坑,该踩的一定要踩,而且要在第一遍就踩,越拖越麻烦。
  2. 养成翻看文档习惯,避免过度依赖视频学习。

    • 在我们初学编程时,我想大部分同学一定是通过视频入门的,并且在后续的深入学习、做项目的过程中,一定也离不开视频。但是如果过度依赖视频,反而会造成你学习能力的下降,因为视频相当于是将饭喂到你嘴边,使你丧失一定的探索空间。试想,在学习一个新技术的过程中,市面上并没有与之匹配的视频,你该怎么做?这时候咱们必须得去翻阅文档,或许就成为了第一个出视频教程的人呢!并且在实际工作中,大概率是没有视频去教你如何配环境、如何写代码,甚至文档也不是很完善,这时候就是考验你的自学能力了。
    • 案例:我最近在做 GPT Terminal,虽然市面上关于 GPT 的教程挺多,但有一些问题还是看官方文档来得直接且清晰。而且看 Open AI 文档的过程中,我看的是一手资料,我了解到的是 Open AI 官方呈现的信息。但如果我去看其它视频或者文章教程,可能我了解到的只是零碎的信息,而且我需要甄别信息是否错误、过时。
  3. 日常学习切忌闷头写代码,多深入思考业务逻辑、思考设计

    • 在学习完一门编程语言后,开始做项目时,大部分人会选择去跟着视频教程完整地做完一个项目。但视频博主并不会每写一行代码,都会告诉我们为什么要这样写,多数情况下,我们可能也只是先跟着写一遍,培养 “码感”。其实,当我们写完这段业务逻辑或写完整个项目时,可以回头审视一下这个项目。深入思考一下作者为什么要这样写,代码还有没有进步的空间,我是否可以在此基础上做优化。这个思考的过程,我认为是真正提升、真正将项目转化为自己知识的过程。
    • 案例 1: 我在初学编程时,为了追求快而跳过了这一过程,囫囵吞枣带来的后果就是在我做自己项目的时候,我需要补很多课,我需要将之前没有思考过的东西思考一遍。比如我在做仿B站项目的过程中,遇到了许多之前学习项目时候遇到的问题,但当时并没有深入思考、总结、吸收、转化为自己的知识,导致我需要从头再查询、思考解决方案。
    • 案例 2: 实际工作与开发中,写代码并非最重要的环节。在此之前,需要做充足的设计,并经过多方评审,申请相应资源后,才可开始写代码。所以说我们日常需要养成思考习惯,培养自己的设计能力,这样在工作后可能就会更加如鱼得水。
  4. 养成写日报、周报的习惯。

    好处有三:

    1. 便于日后工作中翻看自己当初遇到的问题、踩过的坑
    2. 给menotr、leader汇报工作进度,作为答辩内容的参考
    3. 提升成就感,提升工作动力,心情愉悦

    案例:很多公司不强迫写日报、周报,认为这可能成为束缚优秀员工的一个因素,因为优秀的人是有自制力的,即使没有日报、周报来约束自己,也能完成既定的工作任务。但我还是认为人是有惰性的,况且自己初入职场,远达不到优秀的程度,仍然需要日报、周报这种形式去提醒自己每天需要做什么、每天有什么产出,强迫自己养成这种习惯。并且这也是我周期性 review 的一个重要参考。

  5. 尽可能挖掘利用一切可接触到的资源,提升自己。

    这里资源指:优秀的同事、司内文档、司内论坛、司内比赛等等。

    这一点想必不用我多说,这些资源在你离职后大概率是无法再接触到了/既然如此,那么在就职的这段时间里,一有机会就去接触这些资源,从中学习。

    • 案例:我为了使自己尽快地学习司内一些有价值的文章、文档,我给自己做了学习规划,规定自己每天休息时间或周末的时候,补充学习这些知识,尽可能在实习期间多学一些有用的东西。但是在此提醒大家,司内东西一定不要留存到自己私人电脑中,这应该是一条硬性原则规定。
  6. 自己权衡工作与 “摸鱼”,遵守唯一最高准则:提升自己。

    • 案例:可能在工作中偶尔会遇到没活儿干的情况,这个时候我一般会选择问一问有没有其他活儿需要我帮忙的。如果没有,我一般会选择翻看文档,看看有没有什么新鲜的东西可以学习的(对应第 5 点)。即使是“摸鱼”,也要做一些有利于提升自己的事情。
  7. 入职前对工作降低预期,工作不等于兴趣,权衡二者,找到自己的答案。

    • 可能很多同学在入职前对工作充满了很多期望,我就是如此,认为我可以学习到很多技术,飞速提升自己,几个月能学到自己过去几年学习到的知识。但是当入职后,并非想象中的一般愉悦。当业务已经足够成熟时,很多时候遇到的问题都是一些小需求或修改 Bug。这与我的预期相差挺大的,我的兴趣也逐渐减少,热情一点点褪去。当然我并没有开始摆烂,而是做好本职工作,持续熟悉业务流程,并且自我安慰。在工作之余,继续探索,提升自己的学习热情,这可能也是我尝试着去写并分享自己项目的原因吧。
    • 船到桥头自然直。在我逐渐熟悉了业务流程后,最近工作中也开始接到了一些有意思的需求,做得还是很有动力的。如果我当时选择摆烂,可能会形成恶性循环效应。所以说,降低预期,持续学习,在认清楚工作不等于兴趣后,仍然需要保持良好的心态,提升自己。
  8. 尽快摒弃学生思维,遇事从实际工作出发。

    • 我认为在工作之前,大部分同学一定是有学生思维的,我也是如此,即便是工作之后,我还是无法彻底避免。在我眼中,我认为学生思维的体现集中在两个方面:
      • 第一方面为考虑事情简单粗暴,不够深入。认为自己做过一些高大上的项目,瞧不上实际落地的项目,简单地认为这不就是那套微服务技术栈吗,这不就是用了 MySQL 外加一些缓存技术吗。但却没有想过如果一个实际落地的项目,需要考虑地不仅仅是技术复杂程度,更需要在保证项目在3个9/4个9甚至5个9的可用程度下,尽可能降低技术成本、部署成本、运维成本,这其实是一种 Trade-off,项目技术并不是越复杂越好。
      • 第二方面是过度设计、完美主义。这一点我认为在学习过程中是很好的,我也经常这样做。但如果是实际工作的话,一定是从业务角度出发,很多时候用不到高大上的设计或技术,只需要满足业务方需求、圆满交付需求即可。
    • 这也是我之后一段时间里需要时刻注意、着重避免的点,就如同我昨天问与鱼皮哥关于数据库选型的问题,又犯了老毛病。用户数少,数据量小,就用自己最熟悉的技术就好啦,切忌学生思维。
  9. 对于自己想创建团队做项目、自主创业的同学,尽可能在工作期间,学习公司优秀的项目管理、代码管理、工作流程等方法论,吸收经验。这一点其实可以归并到第 5 点,但是单独拿出来说就是因为比较特殊,可能这是少部分同学的需求。

  10. 在未遇到优秀的人时,先不要抱怨环境,而是尽可能地提升自己。

    和优秀的人,做有挑战的事。但是很多时候下,我们很难遇到优秀的人,这个时候我们可能就会抱怨环境。与其抱怨,我们不如想想为什么遇不到,因为优秀的人是相互吸引的,是不是我们还不够优秀。如果是的话,那么就不断地提升自己。这其实是一个相互促进的过程:当你提升自己后,你大概率会遇到更优秀的人,恰恰是这些人反过来促进你继续提升自己。

这就是今天的分享啦,恭喜大家能耐着性子看到这里。希望你能够有所收获~