http://redis.io/

Redis 之父 Salvatore Sanfilippo,一名意大利程序员,大家更习惯称呼他 Antirez。

以下内容为 Antirez 在 Redis 诞生六周年之际,特意撰写的一篇博文 - 分享了他如何看待个人副业项目(side project)与主业项目(main project)之间的关系,以及他在 Redis 项目上的成功实践。


截止到今天,Redis 已经六岁了。对我来说,这真是一个不可思议的成就,因为在过去,我转换到下一个新项目的速度非常快。在我做过的所有项目中,也曾有过持续开发六年的,但是没有一个项目像 Redis 一样,在花费了我这么多精力之后,每天依然能够吸引我的绝大部分注意力。

我是怎样做到停止新项目的开发,集中精力在唯一一个项目(Redis)之上的呢?这样的话,就可以让这个唯一的项目完全充斥于我的整个职业生涯。对于一个有着有限生命周期的人来说,这样做牺牲太大了,我不是很情愿。非常幸运的是,我从没有这样做过,也从没有停止尝试新事物。

如果我回首过去的六年,实际上有无数的副业项目围绕在我的身边,有时与 Redis 相关,有时和 Redis 根本就没有关系。

  1. Load81,儿童编程学习软件。
  2. Dump1090,ADS-B 无线电解码器软件。
  3. 一个用 JavaScript 编写的放射线跟踪器。
  4. lua-cmsgpack,使用 C 语言编写,用于 Lua 编程语言环境。
  5. linenoise 行编辑库(可替换 GNU Readline)。用在 Redis 上。好吧,当时这个东西并不重要。
  6. lamernews,一个基于 Redis 的 Hacker News 克隆软件。
  7. Gitan,一个小巧的 Git Web 客户端软件。
  8. shapeme,模拟釉化效果的图片处理器。
  9. Disque,一个分布式队列消息软件(目前正在开发中)。

而且,还有更多的项目都丢弃掉了,因而没有罗列在这里。有趣的事情是,以上所列项目,并不是随意选择,或者自由发挥的结果,其实,这些副业项目都有一个共同的目标,就是可以让我愉悦和快乐。这些项目中的代码,对于其他人来说,价值都不是很大。

正是因为这些副业项目的存在,当我在主业项目上,由于连续不断的工作而导致身心疲惫,甚至极其厌烦的时候,我就可以马上做些不一样的事情。这样稍事休息和调整之后,我又能够重新聚焦于 Redis 项目了。而且,还能再一次找到与 Redis 项目愉悦相处的正确动机 - 归根结底,就是为他人创造更多的价值。

基于以上所言,你可能会认为,我目前正在利用 20% 的时间鼓捣我的 Disque - 那个分布式消息队列软件,其余 80% 的时间和精力聚焦在 Redis 的进一步开发上,是这样吗?

回答错误。

实际情况是,在 Redis 和其他项目上的精力分配比例大约是处于 80% - 20% 之间,或者,长期来看,我在 Redis 项目上投入的精力几乎趋近于零。正是为了信守与一个项目(Redis)的长期约定,你需要把这个项目作为你探索新事物的长期替代品。

副业项目可以帮助你成就更大更重要的项目。再进一步来看,这些副业项目通常都是真正有趣项目的发源地和起始点。Redis 这个项目原本就是一个叫做 LLOOGG 的副业项目的一部分。有时你暂时放下主业项目的工作,就是由于副业项目的原因,然而,当这种情况发生时,并不是因为你的副业项目吸引了你的更多注意力,而是因为你需要设法找到利用时间的更好办法,相对于主业项目来说,副业项目更重要、更有趣,更加引人入胜。

截至到今天,Redis 已经六岁了,但它依然充满着活力:它还在不断赢得越来越多开发者的注意,而且,为了在每个星期都能给用户提供更多的价值,它还在持续地改进之中。然而,对于我来说,更多的用户,更多的开发者贡献,都不能改变我的安排。Redis 能够取得今天的成就,正是我们大家一起倾心投入的总和,以及坚持不懈六年之久的结果。为了继续沿着同样的路径向前迈进,我可以确定,在未来可预见的若干年里,还会有一些副业项目和我一起相伴相随。

英文原文:Side projects

Side projects
antirez 2213 days ago. 247164 views.
Today Redis is six years old. This is an incredible accomplishment for me, because in the past I switched to the next thing much faster. There are things that lasted six years in my past, but not like Redis, where after so much time, I still focus most of my everyday energies into.

How did I stopped doing new things to focus into an unique effort, drastically monopolizing my professional life? It was a too big sacrifice to do, for an human being with a limited life span. Fortunately I simply never did this, I never stopped doing new things.

If I look back at those 6 years, it was an endless stream of side projects, sometimes related to Redis, sometimes not.

  1. Load81, children programming environment.
  2. Dump1090, software defined radio ADS-B decoder.
  3. A Javascript ray tracer.
  4. lua-cmsgpack, C implementation of msgpack for Lua.
  5. linenoise line editing library. Used in Redis, but well, was not our top priority.
  6. lamernews, Redis-based HN clone.
  7. Gitan, a small Git web interface.
  8. shapeme, images evolver using simulated annealing.
  9. Disque, a distributed queue (work in progress right now).

And there are much more throw-away projects not listed here.
The interesting thing is that many of the projects listed above are not random hacking efforts that had as an unique goal to make me happy. A few found their way into other people’s code.

Because of the side projects, I was able to do different things when I was stressed and impoverished from doing again and again the same thing. I could later refocus on Redis, and find again the right motivations to have fun with it, because small projects are cool, but to work for years at a single project can provide more value for others in the long run.

So currently I’m using something like 20% of my time to hack on Disque, a distributed message queue. So only 80% is left for Redis development, right? Wrong. The deal is between 80% of focus on Redis and 20% on something else, or 0% of focus on Redis in the long term, because in order to have a long term engagement, you need a long term alternative to explore new things.

Side projects are the projects making your bigger projects possible. Moreover they are often the start of new interesting projects. Redis itself was a side project of LLOOGG. Sometimes you stop working at your main project because of side projects, but when this happens it is not because your side project captured your focus, it is because you managed to find a better use for your time, since the side project is more important, interesting, and compelling than the main project.

Redis is six years old today, but is aging well: it continues to capture the attention of more developers, and it continues to improve in order to provide a bit more value to users every week. However for me, more users, more pull requests, and more pressure, does not mean to change my setup. What Redis is today is the sum of the work we put into it, and the endurance in the course of six years. To continue along the same path, I’ll make sure to have a few side projects for the next years.

UPDATE: Damian Janowski provided an incredible present for the Redis community today, the renewed Redis.io web site is online now! http://redis.io. Thanks Damian!

HN comments here: https://news.ycombinator.com/item?id=9112250

Redis 之父 antirez 退休了

回忆十年前 Redis 项目刚刚开始的时候,那应该是我职业生涯最激动人心的时刻。为了持续扩容服务,我们创造了很多新概念。这些概念其实已经在技术领域流行很多年了,但是在当时我们并不了解也不曾验证过是否可行。不过没关系,我们喜欢解决问题,并从中发现很多乐趣。Redis 刚刚诞生的时候真的是非常有意思的(让人难忘的)。

经过了这么多年的打磨,我的工作性质也发生了变化。其实我根本就不想做一个软件维护者(修 bug、优化代码的工作实在太无聊了)。

我写代码是为了更好的表达自我,这是艺术创作(乐趣),而不单单是为了把事情搞定(挣钱)。我的目标更多的是为了追求美感,而最终能不能起到作用仅仅是附带的结果而已。我宁可大家认为我是一个糟糕的艺术家,也不希望只被看成一个优秀的程序员。但是现在我被要求这要求那,就因为这个项目变得如此重要。我不能随意表达自己(艺术创作,大刀阔斧的改代码),而只能在现有的代码基础上维护(小打小闹)。我并不是说这样不对,这只是现阶段的 Redis 必须要接受的方式。但是我个人有点受不了,最近几年我感到很憋屈(Linus 也会是这种感觉么?)。

所以呢,社区里面的同志们啊,我告诉你们我要退居幕后了。至于做什么还没有想好,会不会继续写代码也不确定。我比较怀疑自己是否能够完全放弃写代码,只是因为写代码实在是太好玩了(此处有个调皮的表情)。

Redis 是我职业生涯中压力最大的项目,可能也是最重要的项目。最近这些年编程世界的变化我并不是特别喜欢(不知道说的是哪方面的变化),虽然这段旅程非常艰辛,能够有机会和很多特别的人一起工作交流也让我感觉非常知足。

我还想发展一下个人的一些兴趣爱好,比如写写博客就挺好,以前我一直想写但是一直没有太多时间。如果你们还对我这样一个又老又怪的程序员感兴趣,那就去 Twitter 上围观我吧。


http://www.taodudu.cc/news/show-3063750.html

相关文章:

  • 再见了,MySQL之父!
  • 计算机之父阿兰·图灵(图灵诞辰104周年)
  • 对话 MySQL 之父 Monty:超越 MySQL 很难,但我做到了!
  • 计算机网络之父是谁,因特网_被成为网络之父的是_计算机网络之父
  • shaarli 书签管理器
  • 职教书签
  • 怎样将网页保存为html,如何将网页保存为书签
  • pdf从结构新建书签_PDF怎么加书签与目录:
  • 极简的书签管理器Shaarli
  • 网络书签
  • 书签管理工具Servas的安装
  • 学习书签
  • 谷歌书签同步到gitee
  • java书签_Java 操作Word书签(一):添加、删除、读取书签
  • pdf添加书签操作介绍
  • 苹果cms模板_苹果cms怎么修改网站logo?
  • 马克斯cms,马克斯cms模板,马克斯cms网站开发
  • 飞飞cms模板,飞飞cms自适应模板,飞飞cms影视模板
  • 苹果cms模板_苹果cms什么模板好?
  • 苹果cms模板_苹果CMSv10怎么更换模板?
  • 苹果cms模板_苹果cms10好看的模板有那些?
  • 苹果cms模板_苹果cms怎么更换模板?
  • 苹果cms安装PHP,苹果cms图文安装教程和苹果cms模板安装教程详解
  • 织梦cms怎么上传html模板,织梦模板之家:如何安装更换织梦cms模板
  • 苹果cms模板_苹果cms收录好的模板有哪些?
  • cms模板
  • 帝国cms模板如何开启支持php,帝国cms模板使用说明与技巧
  • 织梦cms模板-织梦自适应模板-织梦模板
  • 苹果cms模板
  • 帝国cms模板html文件夹,帝国CMS模板建站e文件夹各个文件功能说明

Redis之父Antirez谈副业与主业相关推荐

  1. Redis之父的“退役”感言

    Redis之父Antirez今早发布了一篇文章,题为<The end of the Redis adventure>.多年以前深入学习过Redis,这个最流行的缓存解决方案.当时惊叹于其近 ...

  2. 维护开源项目太难,Redis之父:只做自己想做的

    本文转载自 InfoQ 最近,开源项目 Docz 作者 Pedro 发表短文称繁重的开源维护工作不可持续,自己曾处于"崩溃"状态. Pedro 表示最初为了开发 Docz,他可以提 ...

  3. Redis之父退出开源项目维护:人生苦短不想上班

    Redis 之父 Salvatore Sanfilippo 决定不再担任 Redis 项目的软件维护者,Redis 项目放弃之前的专制管理模式,转而采用新的"社区自治模式". 两天 ...

  4. 突发!Redis之父退出:不在维护Redis项目

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取近百本电子书入口 Redis之父Salvatore Sanfilippo在自 ...

  5. Linux之父和Redis之父,Redis之父:10x程序员应该具备哪些素质

    Fred Brooks(<人月神话>的作者)最早在他的论文"没有银弹--软件工程的本质和偶然性(No Silver Bullet - Essence and Accidents ...

  6. redis之父表示ARM服务器没戏

    2019独角兽企业重金招聘Python工程师标准>>> ARM表示Neoverse N1平台和E1 CPU即将发布,Neoverse N1和E1采用7nm制程,并且为服务器和通信设备 ...

  7. 中国python之父是谁-Python之父:谈Python

    Python之父:谈Python 在宣传海报上,Python 之父 Guido van Rossum 在 EuroPython 2015 会议的发言分为讲话稿和现场问答部分,但是他上台后将全程改为现场 ...

  8. Linux之父和Redis之父,x86 和 ARM 谁能主宰服务器市场?Linux 之父和 Redis 之父有分歧了...

    目前,服务器市场仍旧由 x86 芯片主宰,但是近几年 ARM 服务器市场兴起,这也让不少人对服务器市场前景有不同的看法.未来服务器市场是属于 x86 还是 ARM,Linux 之父和 Redis 之父 ...

  9. x86 和 ARM 谁能主宰服务器市场?Linux 之父和 Redis 之父有分歧了

    近日,Arm 宣布了其即将到来的新产品 Neoverse N1 平台和 E1 CPU. https://www.anandtech.com/show/13959/arm-announces-neove ...

最新文章

  1. 漫画:5分钟弄懂分治算法!它和递归算法的关系!
  2. SOA和SaaS的区别
  3. 在 Inno Setup 中实现倒数N秒后激活按钮
  4. 徐州事业单位计算机软件类,徐州计算机办公应用软件
  5. 在计算机上收回光驱快捷键,如何使用Windows键盘快捷键打开光盘驱动器
  6. webbrowser在vb中叫
  7. Javascript之基本包装类型
  8. java系统源代码_JAVA学生管理系统源代码
  9. 编制职工档案管理程序C语言,职工档案管理系统
  10. 20金融学431考研应该注意些什么
  11. 专升本C语言必刷编程题
  12. zigbee终端入网
  13. java英语 随时保存
  14. 重磅!西安交通大学使用脑机接口技术实现了高位截瘫失语患者“说”出“心里话”
  15. JavaScript 深拷贝与浅拷贝
  16. 国内网站用香港服务器会被封吗?
  17. 智慧树python第四章答案_知到智慧树Python程序设计基础答案章节单元测试答案
  18. 电子邮件服务器限制匿名,匿名(垃圾)邮件的根源—网络上几乎所有服务器都不可避免的“漏洞-站长资讯中心...
  19. ORA-12154 问题解决办法
  20. 服务器图片文件备份软件,服务器文件备份软件

热门文章

  1. QT Qml 窗口背景透明
  2. kgdb调试环境的建立
  3. Ruby+Watir经验谈: Understanding Watir
  4. Welcome to Pete Brown's 10rem.net
  5. android homme2016款,丁日的最爱:Android Homme。WTF!安卓家?
  6. 历史上最著名的十大思想实验(转)
  7. 解读:企微面向服务商进行平台收费模式调整的说明
  8. 第9章 梦的初现——开发回合制游戏《勇者斗恶龙》
  9. “囚徒困境”与帕累托最优理论以及基于OpenAI的辅助--测试(3)
  10. 佛山的车主们,为什么说跑优步比滴滴更赚钱?