Effective > Productive

从事编程快6年了,老板经常说国内开发者和国外差别很大,我一直想不明白差别在哪儿?

他说:国外的程序员很重注代码交付的质量,开发后不仅写文档,还自己测试。而我们的程序员,代码写完,提交到主分支,就完事儿了,也没有在测试环境部署一下跑一遍。

这的确是差别,可能是我们的国家人口多,软件开发的人也多,所以分工比较明细。

但是这带来一个问题,全才开发者比较少,独立开发者更少,能养活自己的程序员更少,这是值得我们思考的问题。

最近体验了一下老外开发的团队协作工具Basecamp,软件中的Hill Chart功能令我印象深刻,他和传统的任务progress bar不一样, 普通的任务progress bar是直线的,比如任务完成50%需要一天工作量,剩下50%我们自然也认为需要一天工作量,但是现实中每个任务难度不一样的,所以作者以Hill Chart为切入点, 做出了这一款产品,这个功能能帮助我们清晰的看到任务流中的难点在哪里。

basecamp

软件的作者是Jason,他不但开发软件,还喜欢写作,阮一峰老师推荐了他的一本书,这本书的中文书名叫作《重来3:跳出疯狂的忙碌》(电子工业出版社,2020),英文书名为"It Doesn't Have to Be Crazy at Work"(直译就是《何必工作狂》) 其中有一个观点说:不要用"生产力"这个词评价程序员,因为它是评价机器的。

当你强调生产力时,实际上是在强调,人必须始终忙碌。每一刻都有事情要做,而且总是有更多事情要做! 因此,你会有做不完的工作,闲暇时间越来越少,工作压力越来越大。

程序员的真正目标,应该是"有效性"(effective)。你的劳动是有效的,切实完成了项目。

当你把"有效性"当作目标时,只要有效完成了项目,你就可以停下来了。因此,你可以追求做更少的事情、用更少的时间达到目标,这样你会得到更多的闲暇和休息,这才是可持久的。

———-

以下是这篇文章的中文翻译,By ChatGPT

如今关于提升生产力的讨论越来越多。各种方法和工具层出不穷,承诺能让你变得更加高效。但更高效地做什么呢?

生产力适用于机器,而不适用于人类。在把某个时间段内完成某数量的工作单位或在较短时间内完成更多工作方面,这种做法并没有什么意义。

机器可以全天候工作;人类无法做到这一点。

当人们专注于提高生产力时,他们最终会变得忙碌起来。把每个瞬间都安排上些事情。而事情永远做不完!

在Basecamp,我们不相信忙碌。我们相信高效。我们能做多少?我们能削减掉多少?我们不是在增加待办事项,而是在增加不需要做的事项。

有生产力是占据你的时间——把你的日程安排到极限,并尽可能多地完成。有效率是找到更多未被占据的时间,去做除了工作之外的其他事情。用于休闲、家人和朋友的时间,或者什么都不做的纯粹的闲暇

是的,完全没有事情可做是完全可以的。或者,更好的做法是,没有什么值得做的事情。如果在某一天只有三个小时的工作要做,那就停下来吧。不要为了保持忙碌或感觉有生产力,而在一天中再加上五个小时的工作。不做那些不值得做的事情是度过时间的一种很好方式。

——摘自《工作没必要那么疯狂》

https://basecamp.com/books/calm

-杰森

下面我把文章原文贴出来。

So much talk about hacking productivity these days. There’s an endless stream of methodologies and tools promising to make you more productive. But more productive at what?

Productivity is for machines, not for people. There’s nothing meaningful about packing some number of work units into some amount of time or squeezing more into less.

Machines can work 24/7; humans can’t.

When people focus on productivity, they end up focusing on being busy. Filling every moment with something to do. And there’s always more to do!

We don’t believe in busyness at Basecamp. We believe in effectiveness. How little can we do? How much can we cut out? Instead of adding to-dos, we add to-don’ts.

Being productive is about occupying your time—filling your schedule to the brim and getting as much as you can. Being effective is about finding more of your time unoccupied and open for other things besides work. Time for leisure, time for family and friends. Or time for doing absolutely nothing.

Yes, it’s perfectly okay to have nothing to do. Or, better yet, nothing worth doing. If you’ve only got three hours of work to do on a given day, then stop. Don’t fill your day with five more just to stay busy or feel productive. Not doing something that isn’t worth doing is a wonderful way to spend your time.

—— via It Doesn't Have to Be Crazy at Work

https://basecamp.com/books/calm

-Jason

老外做的软件的确在生产价值,而我们的软件,大部分都是一些内卷产品,产品本身附带一堆毫无价值的功能。

其他的行业我不知道怎样,但是软件这个行业,我们还有很长的路要走,希望有一天我能做出一款有价值的产品,成为一个独立开发者,不为节假日买不到回家的票而发愁,不为租房烦恼,不为找不到工作而抑郁, 真正的做到为自己工作。