惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
The Cloudflare Blog
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
I
InfoQ
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
H
Help Net Security
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

hsfzxjy 的博客

解决 VSCode + CMake + MSVC 编译器信息乱码的问题 使用 3090 部署 1.58bit 动态量化版 DeepSeek R1 671b 如何在 VS Code DevContainer 中配置 HTTP 代理 如何在跳板机背后的服务器上使用 VS Code Remote - Containers Cohesive Digests for Ints and Floats Rust 中的隐匿概念 —— Place(位置) 美术馆 一尺之槌,日取其半,1075日而竭 老生常谈:使用 Cloudflare 自选 IP 加速站点访问 辩义 State、Nation 与 Country 将 Base64 编码的数据快速转换为 Uint8Array 折腾 NPU·第1章 —— 搭建 Level Zero 开发环境 折腾 NPU·第0章 —— Intel NPU 概述与 Level-Zero 新增域名 monad.run CSS 中为特定字符设置不同字体 Arbitary Lifetime Transmutation via Rust Unsoundness Dijkstra 算法的延伸 Manacher 回文计数算法 硬卧 Go Fact: Zero-sized Field at the Rear of a Struct Has Non-zero Size Display *big.Rat Losslessly and Smartly in Golang 代码的仪式 Building Electron From Scratch 中式亲属称谓研究之一:构建半群 Some Notes on Kotlin Coroutines Git sparse-checkout and partial clones for Mega-Repos 辩义“封建” Diving from the CUDA Error 804 into a bug of libnvidia-container Modern Cryptography, GPG and Integration with Git(hub) Move the Root Partition of Ubuntu
Side Project(副业)
2022-04-12 · via hsfzxjy 的博客

计算机从业者们似乎都喜欢写 side project,这在中文社区中有个通俗的说法即「搞副业」。如果你经常逛 V2EX、Reddit 的编程板块或是 Hacker News,你会看到人们分享的各种各样的 side project,小到一个百余行代码的实用小工具,大至一个框架、一个网站乃至一个完整的准商业项目。

人们在分享自己的创造时往往怀着极大的热情。这是一种即使隔着屏幕也能感受到的心情,就像七岁的男孩组装好了第一辆四驱车,又或是料理爱好者凭自己的努力烧了一顿高难度的饭菜。他们分享的是自己的宝贝,并期望在人群中掀起波澜。在一些社区如 r/rust,人们热衷于讨论这样的分享,给予肯定以及有意义的反馈。但事情并不总是如意,在另外一些地方,如综合性的或是冷门的社区,只有少数分享会被人们注意,更多的则是被略过,直至沉没在信息流中。这通常会令人沮丧。

人们怀着相似的心情分享创造,分享时的心态却又不尽相同。我偶尔会尝试透过文字猜测不同分享者的想法。发在新手区的帖子有一种年少的单纯。他们的分享并不复杂,往往是初尝某个领域后的练手项目。社区的成员通常也会以较低的标准对待这样的项目,给予鼓励,仿佛为刚学会走路的孩童喝彩。匆匆留下一个链接的,倘若不是社区不鼓励附言(如 Hacker News),极有可能是一位佛系人士。他们分享的往往是随手创造的项目,如从工作中抽象出的类库,或是某些能提升生活质量的工具。他们没有为此花费过多的精力,因此不会过于在意他人的看法。项目能够帮助他人当然是极好的,如果不能,他们也不会过度失落。但也有另一类人,他们在自己的项目中倾注了大量的心血,因此也希望从社区获得相当的回应。他们在行文中会极力为自己的项目卖好,有甚者更是不加掩饰地向社区索要点赞(如 Github 的 Star)。这些人属于分享创造的狂热者。

每种职业都有类似的现象。行业内人士自发形成圈子,以交流讨论行业的知识和技能。作家们相互赏阅评判各自的作品,厨师们举办茶会比拼自己的料理。但计算机从业者的热情尤为高涨。不论水平的高与低,工作的忙与闲,大家都热衷于写 side project。

Side project 首先是实用的,这由计算机从业者的性质决定。在信息化的时代中,他们是日常生活工具的锻造者,是数字世界的铁匠、木匠。计算机从业者的创造主题广泛而多样,从游戏到生产力工具软件,乃至一些智能硬件,无一不可解决切实的问题。但与传统世界的工匠不同,完成一个完整的作品并不需要诸多精细化分工的角色。一旦有了想法,一个人便可马上付诸行动,借助完善的文档快速地构建一个可用的原型。和其他行业相比,计算机从业者可以花费更少的资源完成一个项目。

计算机从业者们通常倡导终身学习,而完成 side project 是一个很好的学习机会。在工作中你也许只负责项目的一小方面,涉及的知识就像巨型人偶中的一颗螺丝。但在 side project 中,你会接触到项目的各个方面,从规划设计到技术实现再到落地部署,总有一些之前没有涉猎过的内容。抑或者业界有人推出了新的技术或框架,正好能用于实现你的想法,你便会去接近并尝试使用它们。有人说这么大的工程量也太费精力了,会使人身心俱疲。但对于极客而言,学习和折腾各种技术本身就是一件快乐的事情。

Side project 也是自豪感的一个重要来源。凭自己的力量创造一件事物,并用它来解决实际的问题,这本身就是一件了不得的事情。如果这个事物再被外人所知悉,那更是有超越造物主的自豪感——毕竟无人和造物主一起分享这种喜悦。自豪感不总是能轻易获得,却又是生活的必需品。如果你不能从工作中获得自豪感,你会更倾向于从 side project 中获得这种体验。

而更重要的是,网络及成熟的代码托管平台简化了 side project 的分享乃至协作。这是相较于其他行业的一个优势。经由网络,他人可方便地体验分享的作品,同时作品也可被快速传播。人们不仅能体验作品,很多时候也能了解到作品的实现细节。这要归功于开源文化的流行。创作者不仅会分享成品,也乐于分享成品的源代码,以供他人学习或是改进。而代码托管平台的使用已在计算机从业者间形成共识,人们可以在上面阅读项目的细节,或是和作者携手完成项目。这同样也是一件非常有意义而令人快乐的事情。


作者:hsfzxjy
链接:
许可:CC BY-NC-ND 4.0.
著作权归作者所有。本文不允许被用作商业用途,非商业转载请注明出处。