CatCoding

第 18 期:程序员的软技能;参与开源项目的建议;人一生有三次死亡

2022-07-02

文章最难写的通常是标题和开头,周刊的标题我现在用了这种简单的组合方式,而开头则一直是需要琢磨的。

你好奇写这样一篇周刊要花多少时间么?

大概是在一个半到两个小时之间,加上修修改改可能再要半小时。

上次有个读者问我写这些的目的是什么?可以看到,从赚钱角度考虑,这是个投入产出比很低的事,就像王小波所说的这是个减煽运动。现在还在做长文内容输出的只有两类人,一类是要通过文字赚钱的,一类是有分享习惯和热情的。

我还在写大概有两个原因,通过半年训练形成了习惯,自己打磨出来的工具和流程让我做起来没什么负担。

当然非物质方面的收获更多,我之前写作主题的文章分享过,有成就感、有能力的提高,让自己有更多思考。

程序员的软技能

Jiayuan 在公司做的一个分享:程序员的软技能,现在开源出来

Jiayuan 经常分享一些效率工具、开发、Notes 相关的内容,推荐关注。这个 PPT 做得很棒,使用了 Slidev,整个 PPT 的源码在 programmer-soft-skills: 程序员的软技能

这里主要讲了三个主题:

  • 时间管理
  • 快速学习
  • 个人营销

里面分享了一些案例和工具,这几个方面都是程序员要取得好的发展所需要的。

我认为软技能还需要增加一个“沟通和协作”的主题。写代码只是个门槛,本质上来说在公司工作,是和同事一起帮公司解决问题,所以沟通和协作特别重要。特别是要从广度上增加自己的影响力,沟通力起决定性作用。

而如果你想脱离公司这个组织,个人营销就更是必不可少了。

关于这些主题, 《软技能——一本写给程序员的生存指南》 这本书非常不错。我 2019 年搭建英文博客时,通过搜索发现了 Simple Programmer 这个网站,才发现 John Sonmez 就是这本书的作者。

这个网站有很多好文章,特别是针对程序员写博客方面。我当时发了几封 Email 咨询了他一些问题,他还夸我的域名选的不错,建议我选择特定的细分主题去写,而不要太过宽泛,后来还把我的博客加了个外链😁

关于参与开源的建议

漩涡在做一份开源的远程工作,项目为 Datafuse Labs。他会把自己在做什么和学什么分别记录在两个 logseq 里,每周会写一个总结。我觉得这是非常好的输出方式,值得借鉴。

他博客上有很多不错的文章,这几篇谈到如何更好的参与到开源中来。

有的人认为参与到开源中需要很高的技术能力,或者达到一定水平才行。

其实不是,最好的学习和提高方式是直接参与进去,边做边学。人是环境的产物,如果你提高自己,要么加入一个厉害的公司和团队,要么加入到开源的世界中来,而后者是一个门槛更低,限制更少的选项。

新手可以从一些简单的项目开始,逐渐参与到更复杂的项目中去。

漩涡总结出参加一个复杂的项目分以下几步:

  • Step 1: Become a User,成为用户
  • Step 2: Build the Project,构建项目
  • Step 3: Learn the Hot-Path Internals,学习内部的关键逻辑
  • Step 4: Read and Reimplement Recent Commits,阅读并重新实现最近的 commits
  • Step 5: Make a Bite-sized Change,做一个小变更

学习开源项目的经验完全适用到我们日常的工作中去,当学习某个特性时:

  • 首先自顶向下的寻找涉及到这个特性的 codepath 并忽略与之无关的细节
  • 然后自底向上的学习这个子系统是如何工作的
  • 尝试去修改代码,增加新的 log,增加简单的逻辑,修改某处细节,去理解为什么不工作了
  • 阅读与这个特性有关的文档或者分享

当完成了第五步之后,剩下的就是不断坚持。我之前也写过自己对开源的看法:为什么要参与开源

令人难过的是,Github 似乎在国内被间断性拦截。我发现有的在校计算机学生,居然无法正常访问,所以学会如何搭梯子成了必修课。

谈到这里,再多扯一下其他的。我有个朋友在高校当计算机老师,以前他和我抱怨学校要求在专业课教学中加入思政。我以为就是口号喊喊、形式主义应付一下吧,没想到最近在群里看到了些图片,部分如下:

而且看起来是不少高校都在搞这,只能一声叹息吧….

人一生有三次死亡

纪念多牧君

我通常在自己的 RSS 小阅读器里读博文,除了标题和内容几乎什么都没有。当我看到这篇的时候心有触动,所以点进去了网站,看到熟悉的头像才发现作者 JamesTsang,他也是我的读者,我们之前在博客留言区交流。

在我的人生经验中,也不断经历着认识的人去世这样的事。必然,年龄越大经历的次数会越多,每次死亡除了给人带来悲伤和痛苦,也会引人思索。生命如此脆弱,有的人好好的,下次再听到时已是离世。

多牧君是博主的同事,有激情、想法和行动力,遗憾的是最近去世了,RIP:

听过一个说法,说人的一生有三次死亡,第一次是心跳停止、呼吸消逝;第二次是举行葬礼,在社会上不复存在;第三次是世界上最后一个记得自己的人离去或把自己忘记,这时整个宇宙都不再和自己有关。我想多牧君的人生不说耀眼,但也绝对炙热,炙热到我们都不会忘记,有一个这样充满热情、热爱生活的人出现过,和我们交织在一起。

多牧君的噩耗让我也不禁在想,该怎样去看待生命,生命很渺小,人生无常,生命是如此脆弱,经不起一袭波浪的打击。人生的道路也仿佛是一条失去的道路,最重要、最美好的东西在小时候就已经得到了,比如亲情、友情、美味、满足的好奇心……但在人生道路上,时间只能向前,很多这些美好的东西我们不得不承受失去的痛苦,然后试图用新的物质、感情等来填补,这可能有些作用,但只能延缓,“失去”本身不可阻挡。可能也正是因为生命这么渺小脆弱,还要经历失去的痛苦,才让生命更加珍贵,让我们知道要温柔对待自己、对待他人。

人们常说,当一个作者去世,他所创造的文字、电影、音乐和艺术作品以某种方式活了下去,因为这些作品中似乎融入了他的激情和灵魂,继续留在人的回忆中。

作为程序员,我们写的程序是否也能类似?不用写出那种伟大的项目,当我们去世之后代码可能还会在地球的某个角落运行着,解决着问题,延续着我们和这个世界的一丝丝联系,这样想来也许稍有安慰。

其他

上周听了这期播客非常有共鸣,我们生活在了一个被卡夫卡预言了的世界,体验到了以前不容易理解的那种荒诞困境:

Understanding the bin, sbin, usr/bin , usr/sbin split 为什么 Unix 系统的 bin 目录分这么多,这里有一段有趣的历史,1969 年 Unix 创造的时候磁盘只有 1.5 MB!我本来想分享这篇文章,但后来发现有人已经写得很好了,如果你想看中文的解释看看这篇就好了 /bin /usr/bin 和 /usr/local/bin 的故事 | 卡瓦邦噶

Humor


内容创作有两种策略:

  • 找到特定的读者人群,为他们创造特定的内容
  • 分享真实的自己,每个人的都是独特的

我在走第二条路线,这样更有趣,而问题是更难推广。我不清楚读者的用户画像是什么,大概就是和我有些共同点的人。

最近几个月,我似乎进入了孟岩所说的“让爱我的人更爱我,而不是让更多人知道我”的状态,无心做自我推广。

所以,我想到还有一个因素能帮我写下去,那就是请你帮忙分享出去,分享给那些可能和你一样也喜欢看这样内容的人,感谢!

公号同步更新,欢迎关注👻