来源: 萌萌的博客

每一个程序员都有改变世界的梦想,他们不甘平凡,他们想要与众不同,他们想要创立世界上最酷的公司,那具体该如何做呢?风靡全球的《Rework》将告诉你答案。

37signals是一家很特别的公司,他们有很独特的理念。虽然他们的团队只有16人,但他们的几个产品每年都会带来相当可观的利润。他们反对风险投资,反对扩大规模,反对堆砌功能。如果让我用一个词形容他们的话,那就是maverick,在某种程度上他们与乔布斯有相似之处。除了他们的产品外,他们还有一些byproduct:
一个很著名的博客:Signal vs Noise,全世界都为之疯狂的web框架ruby on rails,还有2本书:《getting real》《rework》,今天我就要介绍一下《rework / 重来:更为简单有效的商业思维》这本书。

用一个词形容《Rework》这本书就是“短小精悍”,只有130页,你只需要3-4个小时就可以读完,而且书中每一个观点都配了一张图,看起来很轻松,一点都不乏味。我们说“字如其人”,同样的道理,这本书很鲜明反映了37signals这家公司的特点。废话不多说了,我把每个观点都通用一句汉语总结出来了:

轻装上阵

不要被教条所束缚

失败并非成功之母,不要“崇拜”失败,从成功中你可以学到更多

计划等同于猜测,未来有太多你不能够控制的因素,长远的计划没有任何意义

企业不应盲目扩张,规模不是衡量企业成功与否的因素,小企业有大企业所没有的优势:灵敏

不要成为工作狂,你需要时间思考更重要的东西

“创业家”(entrepreneur)这个词应该被替换成“起步者”(startup),每个人都可以开创自己的事业

出发

做一些能够引起轰动的事,最关键的是能够真正帮助别人解决一些问题,而不是去山寨别人的产品>

抓住自己的需求,设计能够解决自己所遇到的问题的产品

立即开始去行动,你的计划和想法并不代表你做了什么

“没有时间”是借口,做你真正喜欢的事你不会说“没有时间”

必须有自己的信条,它是设计产品时的准绳

努力实现你的承诺,捍卫你的信条,而不是把它作为口号挂在墙上

拿VC的钱是最差的选择,花别人的钱你会上瘾,最终失去对于公司的控制

你所需要的并不多,创业公司不是大公司,你需要的只是一个车库罢了

不要用“创业公司(startup)”这个词麻痹自己了,你需要的是盈利,你需要开始真正的事业

你应该考虑如何让自己的企业获得成功,而不是尽早拿着现金退出

抛弃那些没有意义的东西吧,比如:长远的计划,过量的员工,无聊的会议,繁琐的制度

前进

少”是一件好事,限制更是一种优势

一段时间只做一件事,做最重要的事,把全部精力投入到一个产品上去>

从最核心的地方开始,细枝末节的部分以后慢慢修改

开始的时候不要太关注细节,它只会浪费你的时间

不断做决定的过程就是不断前进的过程,不要优柔寡断

抓住最核心的东西,抛弃那些不重要的东西,真正重要的东西迟早会引起你的注意

少即是多,不做最多的,而做最对的

专注于那些不会改变的东西,而不是那些时髦的新事物

问题的关键是争取顾客并赚钱,而不是你使用什么工具。一跟贵的高尔夫球杆不能保证你打球出色

买出你的“副产品”,做任何事总会给你带来“副产品”,他们可能同样具有价值

不要总被细枝末节所羁绊,不要等到尽善尽美才发布,尽快发布产品,并且发布后不断改进

效率

现实一点吧,用最直观的方式描述事物,放弃那些没有任何意义的文档和图表

不要只顾低头干事,还要抬起头来问问自己究竟为什么要这样做,这件事真的有意义吗

中断是高效的天敌,拿出一块完整的连续的时间做一件事,这样的效率最高

开会就像毒药

足够好就可以了,不必苛求完美,不必最求繁杂,那只会满足你的虚荣心

速度第一,尽快实现一个一个小的目标,这会激励你实现最终的大目标

放弃不等于失败,该放弃时就放弃,逞能只会让你失去的更多

注意休息,缺乏睡眠会让你失去创造力,士气低落,并且变得暴躁易怒

把大计划分成小计划,把大块时间切割成小块时间,这会帮助你更好的做出计划和选择

任务清单要小,每次只关心一件事

不断做出小的决定,并且不断根据时机而改变

对手

不要抄袭,通过抄袭你无法理解事物的本质,而且你一直处于被动的地位

把你自身融入到产品中去,变成产品的一部分,这是对手所抄袭不来的

找出对立的对手,让自己变得鲜明,同时也利于产品的营销

不要通过冷战的方式与对手较量,你需要的不是比对手做的更多,而是更少更精

把精力集中于自己,而不是竞争对手

进化

学会说不,不能被顾客牵着鼻子走,要有自己的原则

不要专门为一两个大客户而改变产品,你需要专注于一类用户,而不是一两个

想到好的想法不要头脑发热,先把它写下来,日后仔细考虑,互相比较,再决定实现哪一个

做那种让用户越用越喜欢的东西,而不是买完就后悔的东西,这样他会向他的朋友推荐你的产品,这是最好的广告

没有必要把用户反馈都记录下来,真正重要的建议你会多次接触,自然能记住

晋级

开始的时候默默无闻是一件好事,它给你犯错误的空间

培养你自己的听众,让他们主动了解你,博客是一个很不错的方式

“教育”用户,让他们对你“忠诚”,他们会尊敬你,apple是个好例子

学会分享,分享不会使你被别人超越,人们会喜欢你,你将从中收益

向用户展示产品背后的故事,这会拉近你与用户的关系

做真实的自己,正视自己的不足,残缺也是一种美

不要向记者们群发新闻稿,约他们出来,富有激情的向他们推销,这样你会获得最好的报道

不要指望通过那些大型媒体营销自己,相反那些草根博主也许可以帮助你

开始时免费给用户提供一些服务,如果他们喜欢,他们会花钱使用你更完善的服务

没有必要专门设置“销售部”,你发的每封邮件,回的每个电话都是在marketing

一夜成名的背后必然是数年的心血和默默的付出

招聘

招聘之前自己先体验一下这个岗位,这不仅有助于找到合适的人,还会帮助你日后更好的管理

在真正需要时才招聘,而不是仅仅为了扩大规模

不要因为对方很优秀就把他招进来,招最合适的,而不是最好的

不要不停大量招新人,这会使每一位员工身边都有大量陌生人,这对于公司发展很不利

同一份简历同时发给很多公司的人不要招。如何辨别这样的人:看信中他是在与你沟通,还是在堆砌要点

5年工作经验与半年工作经验没有太大区别,你很难辨别其间的区别

GPA并不重要,除非你需要一个教授,但事实上你不需要

对于小团队,每个成员都必须实实在在地做事,你不需要只会指手画脚的人

你需要一个能够从小事做起,并且总揽大局的管理者

聘用有更好写作能力的人,他们有更清晰的思维,更好的表达能力

合适的人选在世界各地,没必要在乎地理位置,是否在同一个城市对于一个团队并不重要

可以给应聘者一个小项目做,这是检验他能否胜任的最好方式

应对问题

当负面新闻出现时,坦诚地向消费者解释,而不是试图掩盖它

迅速解决客户遇到的问题,对方不但不会抱怨,反而会更加信任你

对于道歉要学会换位思考:如果你是被道歉者,你想听到怎样的道歉?最重要的是真诚

让每一个员工都能接触到客户,对于任何岗位这都有好处

发布新版本后深吸一口气吧,抵制改变是人的天性。不要消极应对客户的抱怨,而是要耐心的向他们解释

企业文化

企业文化不是你能够创造的,它是在长时间内一点点形成的

决定都是暂时的,要随着形势的不断变化而不断改变决定

企业的文化必须尊重每一个人的工作

不要像对待孩子一样对待员工,你应该信任他们,给予他们足够的空间

不要强行加班,这会降低员工白天的工作效率,最终不会给企业带来任何好处

不要往别人的伤口上撒盐,也不要惩罚那些偶然出现的问题,你应该关注那些经常出现的问题

不要装腔作势,那其实是一种自卑的表现

不要出现need, must, can’t, easy, just, only, fast这几个单词

只将真正紧急的事情贴上紧急标签

结语

当灵感出现时,立即抓住它,不要拖延。你可以有很多idea,但如果不实践,他们都等于零。

Rework:每个程序员都应该读的一本书的更多相关文章

  1. 【Mood-10】每个程序员都应该读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  2. StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  3. 【转】StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  4. 最好的程序员都是行动派(成功者不是那些明知赚钱之法还要推三阻四的人。成功者知道轻重缓急,善于把握今天) good

    我相信,所有程序员都需要在下面两点之间找到一个良好的平衡: 1.把自己关在一间私密的办公室里,针对你的程序与编译器展开一次亲密对话. 2.出入公众场合,与其他人公开谈论你的程序. 关于这个话题,我已经 ...

  5. 为什么说程序员都应该玩一玩GitHub

    既熟悉又陌生的GitHub 关于GitHub,相信每一个程序员都再熟悉不过了.它为开发者提供Git仓库的托管服务,是全世界最大的代码集中地,被戏称为“全球最大同性交友网站”. 但是对于很大一部分程序员 ...

  6. 每个程序员都应该了解的 CPU 高速缓存

    每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches 来源:oschina [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二 ...

  7. 每个程序员都可以「懂」一点 Linux

    提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Linux 有多远?如果决定学习 Linux,应该怎么开始?要学到什么程 ...

  8. 关于Unicode,字符集,字符编码,每个程序员都应该知道的事

    关于Unicode,字符集,字符编码,每个程序员都应该知道的事 作者:Jack47 李笑来的文章如何判断一个人是否聪明?中提到: 必要.清晰.且准确的概念,是一切思考的基石.所谓思考,很大程度上,就是 ...

  9. 每个程序员都应该学习使用Python或Ruby

    每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java.还会一些VB,或C#/.NET.多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaSc ...

  10. Java后端程序员都做些什么?

    这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库, ...

随机推荐

  1. HTML & CSS – Styling List

    前言 ul > li 经常会用到, 它原本的 style 很丑, 这篇介绍如果修改它. 以前学 W3Schools 的时候也有记入过: HTML – W3Schools 学习笔记 参考: You ...

  2. ASP.NET Core C# 反射 & 表达式树 (第一篇)

    前言 以前就写过几篇关于反射和表达式树的学习笔记, 但是写的很乱. 最近常用到反射和表达式树, 所以特别写一篇做一个整理吧. 泛型和反射 表达式树 学习笔记 c# 常用反射和表达式树整理 反射在项目中 ...

  3. 【HFSS】HFSS绘制梯形走线的5种方法

    使用HFSS仿真PCB走线,需要对走线进行建模,但是由于PCB制造过程中的蚀刻导致走线截面不是理想的矩形,而是接近梯形.为了使仿真尽量精确,需要将PCB走线截面绘制成梯形.下面介绍几种绘制梯形走线的方 ...

  4. flink 大批量任务提交 yarn 失败问题

    问题现象 用户迁移到新集群后,反馈他们开发平台大量 flink 任务提交失败了,当时集群的 yarn 资源是足够的 排查过程 用户是在他们的开发平台上提交的,查看他们失败的任务,发现是他们提交端主动 ...

  5. CentOS开放端口的方法(转载)

    CentOS开放端口的方法 转载:https://www.itfeichai.com/centos-open-porter/ Centos升级到7之后,内置的防火墙已经从iptables变成了fire ...

  6. YashanDB个人版正式开放下载!参与首批体验官活动赢好礼!

    好消息!国产数据库YashanDB个人版已正式向所有用户和开发者全面开放下载,该版本已在官网同步上线,欢迎大家前往官网下载体验! 与此同时,YashanDB联合墨天轮技术社区启动首批「产品体验官」尝鲜 ...

  7. 09 什么是注意力机制(Attention )

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  8. 揭秘 FineVideo 数据集构建的背后的秘密

    开放视频数据集稀缺,因此减缓了开源视频 AI 的发展.为此,我们构建了 FineVideo,这是一个包含 43,000 个视频的数据集,总时长为 3,400 小时,并带有丰富的描述.叙事细节.场景分割 ...

  9. 五分钟一百行代码,手写一个vue项目全局通用的toast提示组件

    前言: 我们已经分享过如何快速实现自己需要的全局弹框组件: 在开发 Vue 项目时,特别是H5页面的项目,还有一个组件是我们非常常用的,它相对弹框来说没有那么大,并且不需要手动关闭在需要更简洁的提示用 ...

  10. 基于BIO的Socket通信

    基于BIO的Socket通信 告知对方命令发送完毕 关闭socket:socket.close() 关闭流:socket.shutdownOutput(),ocket.shutdownInput() ...