结束语 | 职场的攀岩之路

你好,我是臧萌。

真的是转眼之间呀,这个课程就到结束语了,感谢你的一路陪伴。在这3个月的更新期里,很多同学分享了自己的故事和经验,也有不少同学提出了非常赞的问题,我特别喜欢这样的互动。

现在课程要完结了,在这最后一课里,我该跟你聊点什么呢?老实说,我有很多话想讲,但是一下子不知道该怎么表达出来了。正好最近看了一部电影,中文名字是《徒手攀岩》(Free Solo),给了我这一讲的思路。

这是一部纪实电影,主要讲的是主角徒手攀岩酋长岩的经过。什么是徒手攀岩?就是不用任何安全措施的攀岩。关于酋长岩,你可以去搜一下图片。它就像是一块吐司面包一样,有一个几乎垂直且光滑的面,那个面正是主角要一步步攀登上去的。

我不会攀岩,如果你见过我,会觉得我这种人也谈攀岩会很可笑。我可能连引体向上都做不了几个。但是这部电影中很多细节和意境,引起了我的共鸣。

看完后我还真是感觉心潮澎拜的,我们就从“攀岩”这两个字来切入吧,因为我觉得攀岩二字就是我们工作生活的真实写照,我们每个人都是在职场中徒手攀岩,就连这门课程的制作过程,其实也是一个攀岩的过程。希望通过攀岩这个视角,把这些年让我受益匪浅的2条心得分享给你。

要做,就认真把事情做好

那我就先跟你聊聊这个课程诞生的背后故事吧。我们的课程只有30来讲,但是这个课程中的内容和素材,我其实酝酿、积累了很久。

我在软件工程师这个职位上工作了14年,经历了很多事、认识了很多人、换了很多工作。一路走来,回头看看,有些想不通看不懂的事情,我慢慢有了一套方法可以去理解它们;有些不知如何处理的事情,我也慢慢有了应对的方法;有些错误认知,我也慢慢纠正过来了;有些迷茫的时期,也慢慢走了出来。这些我踩过的坑、总结出的经验、工作里的技巧,我在平时都会做做总结。但很多年来,这些总结都是写给自己看的。

直到最近几年我才注意到,其实不少同学的成长都有差不多的过程。我想通的事情,光给自己看远远不够。我无法通过时间隧道告诉N年前的自己,该在职场里怎么做,但是我可以总结出来,给更年轻的同学参考参考。这就是这门课的初心。这时候,就如同攀岩者看到想征服的山,心里会情不自禁咯噔一下的情景,我也发现了那个激起我心中征服欲的山。

在2019年年末的时候,我真正开始和极客时间编辑一起,系统地去归纳这些内容。这样一个准备的过程,就好比攀岩过程前的初期规划,比如准备攀岩装备、研究攀岩路线等等。

准备好了,那就出发,向着目标前进。说实话,攀登之前,有心潮澎湃的酝酿,也有对自己能力的怀疑,有想过放弃算了,也有对成功的期待。而每当抬头看的时候,山它还在那里。这时候,总会有这么个声音,让我别管这一路上假想的困难。在一遍又一遍地过了提纲之后,我决定试试看。

从目录大纲、文字稿到音频稿、再到录音,大家都是一块努力,往做出一门好课程的顶点上爬。仅仅大纲的打磨,我们就互相磨了很多遍。上线后每篇文章的内容、架构、组织衔接等各个方面,我们也在一块互相沟通互相交流。我就是喜欢和认真的人一起合作,我脸皮薄嘛,别人如果认真,我就不好意思不认真,只能努力更认真一些,才觉得能对得起认真合作的同学们。

在迈出第一步之后,要做的就是坚持。我每攀登一寸,山就矮了一寸。更不用说还有编辑同学们的神助攻,我不是一个人在攀登,我们是组团冲着一个目标去的。

在攀登的过程中,之前想到的困难反而显得没那么难以克服了,但是总有很多我之前想不到的困难冒出来。我觉得这个过程中,无需抱怨任何困难,无需抱怨任何突发状况。在登顶之前,没有资格抱怨。抱怨,就是心里想放弃,是在为放弃找理由而已。登顶之后,过程中经历的一切,都是自己的收获。

这里和你分享一件事儿,我觉得是这次课程攀岩之旅最难的一件了,那就是录音。一开始,我以为写稿子会是大头,没想到录音这个环节的难度,竟然远超我的想象。

首先是讲稿子。光打磨自己讲稿子的感觉,就反反复复和编辑、音频导演折腾了很久。把稿子写得好和把稿子讲得好,是完全不同的两件事。录音得有急有缓,既得有讲述感,还不能像老大爷聊闲天似的。看似很简单的事情,其实真的做起来,才知道深浅。

另外,在家里录音,环境问题也是一言难尽。白天各种生活的噪音,梅雨季节的雨点哒哒哒,狗子嗷嗷叫,汽车呜呜呜,喇叭滴滴滴,人群叽叽喳喳,哦对了,还有早起的鸟儿欢快的歌声。

怎么办呢?为了让自己的录音没有太多的环境噪声,在大部分时间里,我得等这个世界清静了,凌晨十二点之后再去录音。上海的雨特别多嘛,有时候好不容易等到了半夜,淅淅沥沥的雨又开始了。不过好在天公也算作美,不会让我为了等雨停,硬熬到三四点。

每次在心态即将崩溃的时候,我都靠最一句话来平复心情:要做,就认真把事情做好。

前国家队主教练米卢说过一句话:态度决定一切。最开始听到这个话,我觉得很扯、很虚、很装、很没劲。没错,这就是我之前的一个错误认知。但现在,我越发觉得这话说得很有意思。态度,就是心态。态度对了,心里就有那股子劲儿,就有了坚持的动力,有了受挫后再战一次的斗志。

关于认真,我想再说一个我自己的故事。在刚开始工作的时候,我有将近半年的时间,都是在写文档。没错,就是纯写文档。如果你是Eclipse的深度用户的话,可能知道它有个叫做CheatSheet的功能。CheatSheet可以让用户一边在Eclipse里看文档,一边通过鼠标点击文档中的链接,弹出相应的对话框,让用户走完某个功能的使用过程。

我们管这个过程叫Happy Path,就是让用户开开心心顺顺利利地,把一个简单的用例走通,把我们的功能都串起来。当时我很认真地完成了这件事情。几年后,当我写书的时候,其实很多功底是在那个阶段练就的。

认真做事,不仅仅要在自己能力范围内把事情做到最好,更是要让自己得到更好的锻炼,提升自己的能力。

这就是我想和你分享的第一句话:要做,就认真把事情做好。

耐得孤独,稳扎稳打,默默坚持

但认真不是全部,攀岩的过程还有一个关键挑战需要我们去面对。

再回到我开头说的这部电影。整部电影,没太多台词,情节也很简单,场景也就是大山和森林。主角站在山下,或者在看着山,或者在规划着自己的攀岩路线,又或者为攀岩做身体上的准备。虽然主角的几位朋友都在尝试帮助他,但是感觉孤独就像是整部电影的基调。尤其是电影最后,只有主角在一步一步地攀登酋长岩,那份孤独感真的太真实了。

想想我们作为程序员,为了写一段完美的程序代码,创造一个完美的软件系统,要去一遍遍地思考、推翻,再思考、再推翻,若有所思地踱来踱去,嘴里絮絮叨叨一些只有自己能听见的声音,也是经常只有孤独的夜相伴。

再想想我们职场上的每一天,做的每件事、每个决定。小到如何回复邮件、如何与人讨论、如何和人沟通、如何与人撕,大到是否做某个系统、如何在技术上投资自己、是否内部转岗、是否换个行业领域、 是否换个工作,所有事儿都需要自己独自承担。

这些,都是充满了孤独、挣扎、坚持、努力和探索的过程。攀岩如此,写专栏如此,做软件如此,混职场亦如此。

整个过程中,我们需要的就是安安静静地自己思考,然后默默坚持,努力付出。就好像徒手攀岩一样,你站在一个大山的脚下,在脑子里规划着攀登的路线,然后稳扎稳打地攀登、攀登、再攀登,直到登顶。

在这个孤独的攀岩过程里,只有目标和汗水。很多事情,我们只能自己琢磨。很多付出,也只有我们自己知道。但也正是这份孤独,造就了只属于我们自己的成绩。

这是我送你的第二句话:耐得孤独,稳扎稳打,默默坚持。

好了,啰嗦了很多了,希望这两句话能走进你心里。最后,祝职场上的你能够努力认真攀登好每一座属于自己的山峰。也希望这个课程,能在这个过程中对你有些许的帮助,帮助你抵抗这份孤独。

对于你在留言区的精彩问题和分享,我会在InfoQ写作平台上以FAQ的形式不定期更新,并同步到部落。欢迎你关注我的部落号InfoQ写作平台账号

最后的最后,我还为你准备了一个毕业问卷,希望你用2分钟填写一下。大胆表达自己吧,期待听到你的声音!

再次感谢你一路的陪伴,欢迎分享自己的故事和问题,期待你分享自己登顶时的喜悦。不说再见,我在评论区等着你!

精选留言

  • 每天晒白牙

    2020-07-29 07:00:03

    很喜欢老师这门课,更新总喜欢分享到朋友圈,因为很多点确实挺认同,在最后想请教老师几个问题

    1.做业务开发和中间价开发的区别?如何选择?
    这里的中间价开发很广,比如RPC、KV等,就是偏技术性的那些工作,这种感觉很牛。但一般对技术要求高。同时也有不足,做久了后面只能做一块了

    2.从事一个行业,要一直干下去吗?还是不断尝试新的行业
    比如做广告系统的,后面换工作还要做这个方向吗?如果依然这个方向,自己的业务知识有积累,可以复用。
    但感觉业务知识又不是那么重要,比如尝试下直播行业,电商行业等

    想听听老师的建议
    作者回复


    个人建议,供你参考。业务开发和中间件开发都有难度和深度。你可以看自己的优势在哪里,选择适合自己的。首先,两者共同的难点都是对本身解决的问题的理解。

    除此之外,中间件的难度在技术,可能要深抠技术的细节,攻克技术难点。比如,怎么样才能把处理延迟减少1ms,怎么才能更省内存之类的。

    业务的难点在于对系统集成的把控。当然,还有对本身业务模型和行业的理解。

    其实除了这俩之外,还有平台。平台既不是中间件那么通用的东西,也不是业务那么直接完成某个业务需求的东西,类似中台吧。


    至于行业,换的话也建议在当前行业在下行通道、或者自己没兴趣了的时候考虑。而且换的时候最好找能够利用自己当前技术优势的。

    2020-07-29 15:02:55

  • 每天晒白牙

    2020-07-29 06:49:35

    啊啊啊,喜欢老师的文风
    作者回复

    谢谢,每篇文章都是和编辑同学们一起打磨的成果。我的语文水平最多是作文45分的水平(总分60)

    2020-07-29 14:10:15

  • 白泗小林

    2020-07-29 00:16:22

    课是看完了。然而今年的绩效估计还是刚及格。
    作者回复

    找准方向,但尽全力,莫问其它。

    2020-07-29 14:09:04

  • 白泗小林

    2020-07-29 00:14:56

    老师有再出一门课的打算么?期待java进阶
    作者回复

    刨的坑一定要填上。Java把门课会补充一些实用的进阶内容的。你有啥想了解的也欢迎提哈

    2020-07-29 14:07:25

  • Justin

    2020-07-30 11:29:10

    有时在地铁,有时在开车,有时在散步,听上一节,总能有收获。这两个月的学习,受益匪浅。衷心感谢老师的分享和指导!
    作者回复

    谢谢,很高兴对你有帮助~

    2020-07-30 14:38:36

  • Geek_3b1096

    2020-07-29 13:40:38

    舍不得非常感谢老师
    作者回复


    评论区保持联系😁

    2020-07-29 15:46:45

  • 牛牛

    2020-07-29 08:50:41

    这么快就结课了……、很喜欢老师的课程、有很多地方有共鸣、虽然短短30讲、收获很多~、或防微杜渐亦或者扬长避短

    对我来说每节课都有收获、最大的该是沟通篇、内向加上不自信让自己有点儿抵触与人沟通~

    现在正在一点点下意识的去改变很多问题~、感谢老师、期待老师下一次课程~
    作者回复


    很荣幸对你有帮助😁

    2020-07-29 15:03:25

  • 追风筝的人

    2020-08-02 16:24:07

    老师的讲述风格很有趣,学到了很多职场需要注意的点: 沟通 情商,职场人际关系,向上汇报工作()成果 问题) ,这一节的攀岩主题 很赞,这也是一条人生路,璀璨的路永远是孤独的。 《你当像鸟飞往你的山》这本书也值得读
    作者回复


    很高兴对你有帮助 :-)

    这本书很多人推荐过,有机会读一下

    2020-08-02 18:57:10

  • Eden Ma

    2020-08-02 13:33:48

    完结散花
  • pyhhou

    2020-07-31 01:25:31

    一直跟过来,感谢老师的指点迷津。现在到了结束属实有些不舍。期望老师还能多分享些程序员成长方面的一些经验,像是如何构建自己的技术体系之类的。保持联系��
    作者回复


    嗯呐,InfoQ写作平台也会不定期更新。

    保持联系!

    2020-07-31 13:41:03

  • Joey

    2020-07-30 11:19:18

    感谢藏老师的辛勤付出,一路学习下来受益匪浅。

    请教老师:在一个研发部门,作为一个职能团队主管(例如需求管理、项目管理等团队),如何平衡与开发团队之间的关系?即如何既能让开发团队满意,又能让领导满意?(职能团队要履行领导交办的管理职责,建章立制,规范研发过程;而在开发团队视角下,会认为是“枷锁”,执行流程时有较多成本。)
    作者回复


    其实从大目标上看,技术主管,经理,和团队的成员,大家的目标是一致的,都是让团队做到“生产效率高”和“生产错误少”。

    但是具体到每个人的职责和分工,又会有不一样。根据我的经验,这是一个磨合的过程。经理需要根据下面的人的真实水平,来指定相应的规则规范。

    同时从经理的利益视角来看,肯定是要指定相应保守的策略,毕竟因为不规范造成生产问题更麻烦,而因为规范造成效率低,团队成员可以加班搞定,经理可能也无所谓(当然这是不对的,但是从保守的角度看,这么做是合理的,趋利避害)。

    所以我的建议是,不要一味的抵触规则规范,这些是大船航行的压舱石。小心驶得万年船。

    从团队主管(tech leader,管技术不管人)的角度来看,团队开发效率不高,确实是需要自己来改善的。

    首先,审视这些规则和规范是否真的发挥了作用,是否真的能防住线上出问题。如果严格遵照规则规范来,确实能有帮助,那就优化,而不是去打破。优化的方式有很多,这个需要实操了。

    举个例子,可以通过合并规范等方式来,比如本来一件事情要分ABC三步走,但是其实只要走到C,A和B就肯定是没问题的,那就可以把A和B省掉。

    再举个例子,可以充分利用各种工具,让流程自动化起来。比如可以用Jenkin让每次的code change和PR都跑regression,避免人肉操作。设置UT coverage的阈值,coverage不到直接fail等等。这些都是可以减少一件事情来来回回在人与人之间流转、减少潜在隐患的方法。

    如果照着现有的规则规范来,还是没啥用,那就需要和团队成员和经理一起讨论,怎么做才是对的、高效的、有效的。

    两个根本点吧:规则规范肯定要有,没有肯定会有人胡来。规则规范肯定要有明确的目的,要能明确的、独立的防止一件事情,不能为了规范而规范,不能一件事情反反复复的在不同步骤检查。

    2020-07-30 14:53:53

  • 有学识的兔子

    2020-07-30 08:34:51

    老师的讲述还是不错的,声音嘛,还挺有节奏感的。《徒手攀岩》我也看过,也很震撼,主角攀爬一个在他之前没有一个成功的酋长岩,作为我来看,面对生死挑战时,依旧勇气、冷静。
    作者回复


    哈哈,谢谢~。电影是非常不错的吼~

    2020-07-30 09:45:02

  • Newbie

    2020-07-29 20:10:50

    从专栏开始一直跟到现在,老学员了哈哈,作为工作两年的菜鸟,专栏中讲的很多坑自己都踩过一遍。如果早点听,应该会避免很多损失。感谢老师的分享,可以让我这种新人可以少走弯路。期待老师的下一部专栏。
    作者回复


    很高兴这门课对你有帮助,我会努力的💪(手动doge

    2020-07-29 21:47:04

  • Sdylan

    2020-07-29 09:05:47

    存在一个隐性bug,点击藏老师部落链接进去。点击关注,让我登陆。忍了,登陆后,点击关注再让我登陆。如此反复好么
    作者回复

    啊啊啊啊啊,这个bug我没法测试啊。我问问编辑同学。

    2020-07-29 15:04:02

  • Sdylan

    2020-07-29 09:00:22

    结束也是意味着新的开始,藏老师的专栏每一篇的留言互动都积极。感谢藏老师的付出。
    作者回复


    收到,哈哈,后续有想法继续评论见😁

    2020-07-29 15:04:44

  • qinsi

    2020-07-29 08:39:29

    非常好的课,关于职场政治的几讲每个技术人都应该看下,现在这课订阅人数太少了,很是可惜。

    Free Solo里虽然主角最后是独自一人登顶,但在此之前也有大神帮他一遍遍抠动作和优化路线,而这些路线则是由更多先辈/先烈们开创出来的。这门课应该也能帮助职场新人找到自己的路线吧。
    作者回复

    就这门课少吗?我那门Java入门课也很少,😁。

    就像我刚刚给另一个同学的留言一样。但尽努力,莫问其它。

    关于这门课,我们握个手🤝,我就是希望把我攀爬的痕迹和经验给大家参考,希望对大家有帮助。

    2020-07-29 14:13:47

  • ☆淡蓝水岸☆

    2020-07-29 00:05:42

    感谢老师的课程,给我解答了很多疑惑!
    作者回复

    哈哈,对你有帮助我也不胜荣幸。

    2020-07-29 14:06:02

  • Weehua

    2020-12-26 10:32:05

    很早就学习了这门课,时隔几个月之后再来听听看看,感受颇深,我也经常分享给其他小伙伴一起学习。很棒的课程,感谢!
    作者回复


    很高兴对你有所帮助~

    2020-12-26 19:57:24

  • 徐有志

    2020-09-01 01:20:01

    每次评论都认认真真看完,课程是刚推出不久就买了,直到今天今天才看完。作为学生的我,很多地方不太能感同身受。以后真正走入职场的那天,我相信,这个专栏,我会来二刷!!谢谢藏老师的专栏!
    作者回复


    评论区等你哦~

    2020-09-01 09:28:35

  • 岁月神偷

    2020-07-30 12:53:13

    结课撒花,受益良多,给老师点赞,这门课程很适合有一定职场经历和阅历的人看,在很多事情上会产生共鸣。关于邮件那一章,想提一个问题,发邮件这事确实非常重要,技术人的邮件该怎么写,一直困扰着我,光凭自己的理解和想象很难突破,希望得到一些实际场景下的邮件案例作为借鉴
    作者回复

    好问题,我记下来了,回头写个FAQ。

    你对哪些场景感兴趣呢?

    2020-07-30 14:39:12