>>分享IT从业人员的工作经验、生活感悟,心得 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 22857 个阅读者 刷新本主题
 * 贴子主题:  从满腔热血到想删库跑路,神级程序员的开源苦与乐 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2018-06-22 21:56:30     消息  查看  搜索  好友  邮件  复制  引用

著名的 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 软件基金会的董事会成员,以众多的开源软件项目而闻名。




原文出处:https://www.codercto.com/a/Y3RvNzEyNmN0bw==.html



程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->流程控制
  JavaWeb开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->RMI框架
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->通过Vuex进行状态管理
  阿里面试经历及总结(数据研发、Java研发方向)
  【数据说话】机器学习工程师要掌握那些技能,前景如何
  个人/团队/企业/组织申请计算机软件著作权的流程
  “亚麻加班,谷歌养老”, 同样是码农差距也太大了!
  看看阿里的考核尺度,阿里人工资高是有原因的 - 坚持不是说说...
  企业招聘对学历要求越来越高,低学历者如何逆袭?
  一位Java面试官介绍如何应对Java面试
  面试中被问到零拷贝的问题
  细数研究生和导师的那些恩怨情仇
  在微信朋友圈冲浪必备的心灵免疫力
  程序员入职的锦囊妙计-写给即将就业和已就业的学员
  亚马逊、谷歌、苹果、微软、三星如何处理你的语音数据?
  为什么码农要了解业务
  Java工作招聘:高级Java工程师(10K-15K),深圳
  龙泉寺小机器僧萌萌哒
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。