读书笔记之《黑客与画家》

黑客的世界

书呆子不受欢迎的原因是他们的精力放在读书和观察世界上面。让自己受欢迎培养自己魅力是非常消耗时间精力的。校园真正的问题是空虚。重视对自己孩子的教育,让他们意识到学校并非全部的人生。
挺残忍的真相,如果能让大部分父母选择的话,他们会选择让自己的孩子在学校受欢迎些,不会选让他成为一个比较特别有自己想法但不合群的孩子。这也决定了改变世界的黑客(通常是青年时不合群的孩子)寥寥无几。
我自己不算是一名黑客,小时候喜欢社交。随着年龄慢慢增长,开始喜欢自己独处思考些奇奇怪怪的事物。比如一站式的智能厨房如何实现,从洗菜到切菜到烧菜真的还挺辛苦。

黑客和画家都是试图创作出优秀的作品。「计算机科学」这个标签可能会对黑客的创造性产生约束。创造优美的时候往往不是重头做起,而是在现有成果的基础上做调整,或者将已有的模块换个方式组合(这其实也是一种原创)。往往很难用于研究性的论文,可能就是用户体验方面的提升。依靠岁月来对产品进行考核,往往等不到成功的那一天。
艺术是建立在科学基础之上的,为什么我的画一文不值,达芬奇的画价值连城。黑客的创业也是建立在计算理论之上的。

创业思考

格雷厄姆做演讲的时候说:选择天使投资人的时候,最好选择那些自己有过创业经验的人。正因为他们有过创业经验,可以提供关键性的技术或方向性的指导,对初创公司可能特别重要。「许多伟大的公司,一开始的时候做的都是与后来业务完全不同的事情」。「Make sth people want」. 大公司求稳,不太愿意投入过多资源在黑客人才。所以才有创造出细分领域优秀产品的创业公司。

关注用户需求,MVP 产品版本尽快上线(别管小 bug),收集反馈调整产品持续迭代。「换位思考」是区别普通黑客和优秀黑客的重要因素,判断「换位思考」的能力,就是把用户当小白,从用户直觉来设计用户旅程。如果想商业化挣钱,就得做一些没人愿意做的很麻烦的事情,解决客户问题比好玩有趣重要(不过在游戏领域也许可以兼顾,好玩就是用户体验)。

MVP 迭代是小公司的优势,产品迭代速度也是保证竞争力的关键。创作一幅画作,也经常需要合作完成,模块分工明确。和软件合作开发一样,各自负责模块,通过统一标准 API 进行交互。创业的秘密武器就是开发速度快,给对手降维打击。

不能说的话

触怒他人的言论是那些可能会有人相信的言论。
为什么要寻找「不能说的话」,优秀作品往往来自其他人忽视的想法,就是那被禁止的思想观点。只要看到别人所忽视的,就有很大的优势,也就是创新思维。创业就是这样。
可以自由随性的思考不能随意的表达出来,祸从口出。
反击方法:对标签进行抽象描述;隐喻(有些网友用印度来隐喻中国进行一些现象批判);幽默;保持独立思考,保持与旅鼠和羊群的距离,随之而来是质疑和阻碍,自己要信念坚定,自我暗示很重要

创造财富

书中已经提及同事编辑文档协同办公,也就是我们如今的各种云文档,「你的电脑」被「你的数据」取而代之。而这本书的英文原版是 2004 年出版,不得不承认美国在信息化方面比我们强太多。学好英文查看外国文献搜索资源,以及调研国外竞对非常重要。
那时作者已经大量使用函数式编程的方法来编写重要模块,但函数式编程在国内的 Java 环境发展依然很慢,似乎大家不太愿意打破舒适圈。
通过用户的埋点,可以分析用户行为习惯,以改进用户体验。给高级用户开放自定义功能,一个软件无法满足所有用户的所有需求。

书中提到同一套软件针对不同的客户给出不同的价格,那么我们会不会对使用 AWS 的客户报价高于使用阿里云的客户呢。还有就是有钱的客户倾向于更贵的选择,特别是大制造大金融,太便宜的产品他们反而不放心。而且很多重点高校每年国家会拨经费,本年度经费没用完会影响下一年的预算。
书中说最好的安排是把个人和小企业客户放在第一位,其他客户该来的时候就会来。
但其实在国内这个人情社会下,大企业选择客户所考虑的因素会比较多。

字里行间能感受到创业阶段的痛苦。开始阶段的长时间编程和后期的运营跑客户相比,简直像度假。互联网软件的快速发展,为优秀的黑客们快速创业提供了机会。互联网软件开发成本低,即使只有一个人也可以制作和发布。互联网软件做起来很辛苦,还要自己运维,压力很大,但创业成功的机会也变大了。成功从来就不是一件容易的事情。当然也需要运气,如果不是 IBM 的疏忽,微软不可能做到今天这样的规模。
如何做出用户喜欢的产品:自身从用户角度体验使用自己的产品,快速迭代,倾听反馈。对于初级用户提供默认设置,对高级用户开发高级自定义设置。
优秀的程序员能够创造财富,使得公司市值增加。平庸的程序员不仅无法创造财富,还可能因为引入了 Bug 减少财富。人才招聘对创业阶段尤为重要。
工作就是在一个组织中,与许多人一起合作,做出某种人们需要的东西。只要做出人们需要的东西就是创造财富,不管是一个人还是一个公司。

在大厂工作有一个感受:大组织中优秀的一线程序员往往容易达到瓶颈,他们的积极性被慢慢消磨。总有得过且过的同事,而木桶效应的存在,很难靠一人之力推动整个团队。久而久之,曾经指点江山的程序员大多数选择随大流稳定为主,少部分会离开选择加入创业工作或自己创业,去努力实现自己的人生理想。
创业公司实现产品的技术难度至关重要,避免他人轻松复制,打造自身的护城河,申请的专利越多越好。与其想尽办法去恶意攻击诋毁对手,不如花时间打磨自己的产品,进攻是最好的防守。
产品的用户数量能直接影响估值以及融资,所以是需要开源一些组件吸引互联网的开发者,用户越多说明产品越受欢迎。开源也需要评估是否会被竞对抄袭利用。

贫富分化的主要原因是因为每个人能力的不同,人与人之间存在重大差别。贫富分化程度和社会生产力先进程度可能存在正比关系。技术的发展加大了收入的差距,缩小了大部分的其他差距。生产力决定生产关系,生产关系反作用于生产力

垃圾邮件的识别

属于 UGC 风控范畴,在做此类业务防控时,主要考虑覆盖率和准确率的平衡。通常的防控步骤:1. 敏感词拦截,国内特别是涉政相关非常严格,难点在于多模正则匹配算法的实现;2. 从发送文本的账号层面防控,通过识别异常账号,比如账号的注册 IP 异常集中,限制其内容发布权限;3. 从具体文本层面防控,需要人工规则和机器学习结合,人工规则优势是更新时效性好,但覆盖率或准确率不稳定,和黑产对抗中容易疲于奔命。需要结合机器学习算法模型,常见的如 bayes、ngram、cnn。模型训练的正负样本很重要,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。随着黑产的精进,文本的处理还会涉及很多近形词,近音词,图形字比如 🈲 8️⃣ 等等。最近交流发现中文域名代理比如白云朵朵.TOP,无法根除只能制衡。

编程语言

虽然用静态类型语言来编程,限制相对多些没有那么自由。但在很多严谨的领域用处还是挺广的,我们通常使用 C/GO 来处理服务器端,用 Java 来处理逻辑复杂的大数据领域。随着计算机硬件的发展,速度会越来越快。后时代的编程语言会更注重于方便上手和语义化,不会过于关注执行效率。毕竟程序员的时间比机器的时间宝贵得多。但是小公司和大公司的考虑角度又会不太一样。公司越大就越注重系统稳定性,Java 用 Spring MVC 搭好架子,大家虽然水平参差不齐,但在既定的框架下写出的代码大概率不会很烂。
就国内的发展进程来看,在阿里主推 Java,字节主推 Go 的背景下,人才市场还是他们的主流。随着系统发展功能模块越来越多,必然要进行服务拆分,这时前后端分离的微服务架构优势就体现出来了。性能分析也很关键,以前做 C 端个性推荐业务时,需要对高 QPS 模型服务优化,就用到了 TensorFlow 的模型性能分析工具 Profiler 。

世界上所有非自然生成的东西都是人为设计的,包括各种编程语言。优秀的产品是根据用户需求来设计,不是根据用户要求。因为很多时候用户也不知道自己想要什么。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值