发布于 2017-06-19 00:58:00 | 249 次阅读 | 评论: 0 | 来源: 网友投递
程序员 软件开发人员
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员、系统分析员,系统架构师,测试工程师六大类
著名的 Python 开源网络库 Requests 的开发者 Kenneth Reitz 发文分享了他的心路历程:满腔热血做开源项目,却被来自项目用户的无止境的请求让自己疲惫不堪,甚至一度想把代码都删了。最终,重新寻找编程以外的生活乐趣,平衡工作与生活。
大家应该都曾有过写一整天代码的经历,那你们会不会突然有一种感觉,觉得即使编程是你最喜欢的事情,但这一刻却宁愿去随便干点别的也不想碰代码了。
倦怠,是软件开发过程中的一个非常现实的现象。特别是在创建和维护有大量用户的开源项目时,更是容易出现。我也经历过,在此想分享一些个人的经验。
前进路上不可避免之痛
2011 年,我为自己制定了开源目标,并为此努力。幸运的是,我非常成功。随着人气升高,我也有了继续构建新项目的动力。同时,原有项目的大量支持用户群的需求和维护的负担压力也在增加。
这看起来就是我想要的,对吧?
差点就发生的 410 GONE
记得有一天,我躺在沙发上,重新评估我的生活。我发现自己对软件的 political issues 非常在意,这本身就是一个问题。不仅如此,我过于关注 Twitter 上那些关注我的人的意见。
当认识到这一点,我意识到着是一个很大的问题,应该立即停止。我的第一个想法是拉出所谓的 410 GONE 。当然,最终我没这样做,但是我确实有很认真的想过。
编者注:410 GONE 可以看成是“资源已永久失效,并且服务端希望客户端“忘掉”它”的意思,代表人物是 Python 开发者 Mark Pilgrim ,他是 Dive Into ... 系列编程书籍的作者,比较出名的是 Dive Into Python 。因不明原因,突然将他的 GitHub、Google+、Reddit、 Twitter 账户全部删除,他的所有网站都变成了 410: Gone 。
在我看来,这是倦怠期最直接的缩影和最坏的情况。我一度也非常想从 GitHub 删除所有的项目,从 SpeakerDeck 中删除所有的痕迹,注销网站,并且平静地度过以后的生活。
但是,我没有。为什么?因为这些都是这个世界上对我很最重要的东西。为什么我要去摧毁自己努力创造的东西,并为此感到自豪?
选择
所以,我决定找出问题的根源并解决。我意识到问题是因为正在让太多的人进入我的世界,没有足够的放权委托给人去帮助维护我的项目。我不想失去自己在社区中最大的价值 - 希望能够影响我关心的软件世界。
所以我的目光不再追随 Twitter 上的任何人,不再关注技术趋势和阅读黑客新闻。我进入仅发布(publish-only)模式。
我认为这是一个不错的举动,也曾经在许多其他开发者身上看到(虽然通常是隐性的),这是从开源软件开发的压力中恢复的好方法。从各种“噪音”中放松自己,休息一下。
委托
当有成千上万的人,甚至里面还有你的同事,在积极地使用你的软件时,如果你是项目的唯一“联络点”,你会很容易崩溃。所以,我学会了以新的方式委托和协作。
通过 Requests ,我找到了两个 co-maintainers 来处理 issues 和诸如安全版本之类的事情。这大大减轻了项目对我的压力,同时也让他们成为了 Python 社区非常活跃的成员。
寻求平衡
上面说的这些都是很多年前的状态,如今的我拥有一个很好的平衡,过着和社会上的许多人一样的健康的生活,尽管仍然一直很忙。我花了大量的空闲时间在自己的爱好上,比如音乐制作和摄影,甚至还发布了一张专辑,出版了一本书。
在编写代码之外,拥有其它的兴趣,是非常重要的。
虽然我依然没有达到梦想中的休闲地编码的状态,但如果再来一次我还会这样选择。我不觉得我错过了任何东西,但起码我的夜晚不再像以前那样只有代码。
开源就是协作。如果你发现自己被过分榨取,也许你需要找到新的方式与他人合作,来帮助把事情做好。 你会发现,其他人也会愿意像你一样尽力把事情都做到最好。
<本文由开源中国编译,英文原文:The Reality of Developer Burnout>
作者 Kenneth Reitz (GitHub 主页)是著名的软件工程师、国际主讲人、开源倡导者、街头摄影师和电子音乐制作人,同时也是 Python 软件基金会的董事会成员,以众多的开源软件项目而闻名。