前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >苹果匠艺:乔布斯身边的天才

苹果匠艺:乔布斯身边的天才

作者头像
用户1682855
发布于 2018-06-08 03:03:29
发布于 2018-06-08 03:03:29
7080
举报
文章被收录于专栏:前沿技墅前沿技墅

现在电脑几乎可以帮助我们完成所有工作,而这一切与当年乔布斯带领苹果团队掀开个人电脑新篇章密不可分,之后鼠标、键盘、图标、电脑游戏、文本编辑、音乐播放器等,一个个从这些早期工程师神奇的脑壳中跃出,一次次颠覆着人们的认识。这段波澜壮阔的风云往事,在那些亲历者眼中又是何种景象?让我们穿越iPhone 8 的喧嚣,跟随一代大师的回眸,领略数十年前小鲜肉版的乔布斯,以及峥嵘岁月的苹果工程师文化——这是一段决不该被人类遗忘的历史……

英雄不论出处

一个好的产品背后一定是一个优秀的团队,Macintosh之所以可以成功,不仅仅是因为这个团队拥有世界上最优秀的电脑科学家。还因为从事此产品相关的工作人员都是音乐家、诗人、艺术家,甚至还有动物学家和历史学家。

在这个团队中,不论专业、性别、出生,只要拥有满载创意的头脑,拥有对Macintosh的绝对热情,便可以发光发热,实现自身的价值。

Burrell Smith,一个活泼热情,爱吃菠萝披萨的大男孩,在初入苹果时,只是一位初级维修技术工程师,但他精心设计的数字电路板凝聚了所有团队成员的共识,这项受沃兹启发的创意灵感成为整个项目的基础。他没有受过大学教育,但他却自信地表示,自己毕业于“沃兹大学”(沃兹,Apple II之父)

Burrell Smith是一个23岁的小伙子,他自学成才,没有大学学历。他之所以加入苹果公司,完全是被Apple II 的优雅设计所吸引。1979年2月,他加入苹果,作为苹果的第282号员工,担任初级维修技术工程师,负责修理顾客送修的Apple II。他有时一天要维修十几个主板,在维修过程中逐渐对沃兹巧夺天工的设计产生了景仰之情。

——《那就试试看吧》

没念过大学的Burrell不知道该如何填写“大学学历”一栏。他想了一下,然后填了一个完美的答案:“沃兹大学”。我想,从某种程度上来说,我们大家都是从沃兹大学毕业的。

——《沃兹大学》

除了Burrell,Macintosh团队的每个成员都有一段传奇的故事:Jef Raskin原本是圣地亚哥大学的计算机和音乐教授,Bud Tribble在苹果就职期间还是华盛顿大学医学院的学生,Bill Atkinson在离开苹果后摇身一变成为全职自然生态摄影师,后来出版了Within The Stone矿石写真影集。

苹果公司不拘一格招聘人才,才造就了一个个创意无限的经典产品。

玩得好才是真的好

这些优秀的苹果程序员拥有着自由的工作时间、堆满玩具的办公室、无限免费供应的饮料、公司配备的游戏机,等等。他们的工作与游戏时间随意穿插,公司还会定期组织的郊游。上述这些,都是上世纪70年代Macintosh团队的真实写照。

碰碰球(Nerfball)

Jef自己也很爱玩闹,总是鼓励成员发挥创意,所以没多久办公室看起来就像一个托儿所,根本不是什么工程实验室。到了固定时间,大家就停下手头的工作,整个团队和其他到访的客人一块玩起分组游戏,通常由Jef和Brian带头。

他们通常会在每天午饭过后玩一次碰碰球(Nerfball)。办公室里散落着一堆色彩鲜艳的碰碰球,游戏规则是临时设定的,当鬼的人要抓到下一个鬼就要拿碰碰球打中他。为了保护自己,每个人都用硬纸板做成的障碍物把自己的工作区包围起来,整个办公室看起来就像纸板迷宫一样。

Jef和Brian都很喜欢玩乐器,所以办公室到处散落着各种乐器,有时候还会突然来个即兴演奏。Jef也很喜欢玩模型飞机和模型汽车,尤其是带无线遥控的那种。所以如果有无线遥控模型车在你桌底下横冲直撞一点都不要奇怪,偶尔大家还会一起到户外观赏最新无线遥控模型飞机的首飞。

——《大地》

之后的几个星期,我大概已经玩了几百次爱丽丝游戏了,不过玩得最厉害的是Macintosh的第一个市场专员Joanna Hoffman。Joanna每天快下班时会到软件小组来看看有什么新鲜事,后来她留下来玩爱丽丝的时间越来越长。她对这个游戏特别在行,而且喜欢用吃掉对方棋子来缓解工作压力。她抱怨游戏太简单了,所以Capps一直为她修改各种参数,让游戏难度变大一点,但这可能是一大错误,因为这对一般的游戏玩家来说实在太难了。

乔布斯不怎么玩爱丽丝,但是对于开发这款游戏所展现出来的编程技巧却相当佩服。“Capps是谁?为什么他还在开发Lisa?”他在第一眼看到这款游戏时就说,在提到Lisa时口气有点不屑,“我们非得找她加入Macintosh不可!”

——《爱丽丝》

我们经常打捍卫者游戏,是从Texaco大楼对面的Cicero比萨店开始的,曾经每天下午四点左右都过去玩,Burrell越玩越厉害,因此也越待越久。刚搬到Bandley 3号时,我们逮到机会以300美元买了一台捍卫者电子游戏机,我自己出钱买来放在了Bandley 3号大厅。Randy Wiggington同时也买了一台竞技场游戏机,所以大厅里同时有两台电子游戏机并排着。另一件有关捍卫者游戏的事就是,沃兹大概是我见过最会玩这个游戏的人,他是唯一可以赢过Burrell的人。这两位最棒的程序员同时也最会玩捍卫者游戏,这意味着什么呢?

——《先搞砸再收拾》

苹果公司为员工提供了十分自由的工作氛围,有生活才会有创意。读完这些,你是否已经迫不及待地想要穿越回去应聘苹果公司的程序员?

追求极致是成功的不二法则

你可能需要再想想。乔布斯并不是可以被随意糊弄的Boss,他对员工及产品的要求近乎苛刻,他自诩为艺术家,不仅仅追求技术上的成功,更要求美学上的极致。

Macintosh团队的成员拥有强烈的艺术感。乔布斯就自认为是个艺术家,他也鼓励设计团队把自己看成是艺术家。我们的目标不是为了打败竞争对手,也不是为了赚大钱,而是要实现伟大的梦想。乔布斯经常强调艺术主题的重要性,比如在1982年春,他带着整个团队到Louis Comfort Tiffany博物馆参观,因为Tiffany是一位懂得量产作品的艺术家。

——《签名派对》

乔布斯从纯粹的美学角度开始评论主板的布局:“这部分很美,”他赞叹道,“但内存芯片真丑,而且线与线之间靠得太近了。”

当时刚招进来的模拟电子工程师GeorgeCrow打断了乔布斯:“谁会关心主板长得什么样?真正重要的是它能不能正常运行。没人会去看主板长什么样的。”

乔布斯激烈地回应他:“我会看!即使它是装在机壳内部,我也要它尽量美观。优秀的木工不会用烂木材制作柜子的背板,即便大家都看不到背面。”

——《主板美学》

Macintosh则不同,它背后的驱动力主要还是来自艺术价值,它无视外部竞争,目的是要开发出一款非凡卓越的产品。我们希望Macintosh成为技术和艺术的双重杰作,在每个想象得到的环节上都追求巅峰的艺术水准。对我们来说,并不存在微不足道的细节,“还不错”就是不够好。要得到乔布斯的首肯,必须达到卓越。

——《结语:Macintosh精神》

乔布斯对卓越的追求是无人能够阻止的,所有试图反驳他的人都被他的“现实扭曲力场”所折服。(来自《星球迷航》,只要乔布斯在场,现实是可以被改变的。他几乎可以说服任何人,让他们接受他的想法。)作为他的员工,同样也需要具备追求卓越的本领。

不忘初心,方得始终

Macintosh的设计初心不仅仅是为了追求卓越,达到完美的艺术境界,更重要的是要追求平凡,回馈世界,虽然最终的结果并没有尽如人意。

我们的策略一直都是将Macintosh定位成低价的普及型个人电脑,我们想尽量把价格压低,让一般大众都能买得起。

我们之所以对Macintosh如此热情投入,是因为我们认为,这是为自己和亲朋好友们而开发的。最重要的是要让一般人也负担得起,2500美元的售价和我们的初衷完全背道而驰。我们努力尽量压低每个设计层面的成本,但为了应付花哨的广告宣传而人为地提高售价实在让人无法接受。

经过一周左右的周旋,乔布斯居然让步了,我们不仅感到惊讶也很不满。Macintosh的上市售价定为2495美元,比原本的目标高出一千多美元。虽然一开始卖得很快,但销量很快就停滞不前了。部分原因是软件的缺乏,但也有售价的因素。在1986年推出Mac Plus和桌面排版软件后,销量才开始上扬。苹果公司还是持续对Macintosh采取高价策略,喜欢以较高的利润提高市场占有率,但到了20世纪90年代终于因为这个营销策略而自食其果。

——《价格战》

我们很难评价,苹果的高价策略对于苹果公司的影响。但对于作为消费者来说,看到这里无疑是十分遗憾的。

天下没有不散的宴席

Macintosh上市之后,获得了巨大的成功,但Macintosh团队却面临着曲终人散的结局。苹果公司遣散了四分之一的Lisa团队员工,并决定对Macintosh和Lisa进行合并,团队膨胀到三百多人,很多重要成员包括本书的作者都一一离去,在这本书的最后,作者AndyHertzfeld感伤到:

我理想中的Macintosh团队模式显然已经消失了,变成了一个我们以前常常取笑的大型组织,官僚主义盛行,勾心斗角严重。

一旦产品走上正轨,大规模标准化的团队模式必将取代自由精简的团队模式。就算是拥有“现实扭曲力场”的乔布斯也难以扭转这样的局面。那些离开的人们有了自己新的生活,新的追求,苹果也依旧源源不断地带给这个世界新的创意。苹果和Macintosh团队所秉持的信念和激情,必将激励一代又一代的弄潮儿,推动时代不断地向前跨步前进。


点击 阅读原文 走进《硅谷革命》。

√ 本书作者Hertzfeld,天才程序员,苹果第一代工程师,Mac核心设计师

√ 非常见传记视角,用编写程序的理性和客观来白描奇迹诞生的精彩历程

√ iPhone史前的乔帮主,第一次卸下耀眼光环,成为更接地气的草莽英雄

√ 隐去Logo,相似的野性和挣扎,古今中外工程师一脉相承的自嘲与德性

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前沿技墅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Redis Stream 数据结构实现原理真的很强
Stream 是 Redis 5.0 版本专门为消息队列设计的数据类型,借鉴了 Kafka 的 Consume Group 设计思路,提供了消费组概念。
码哥字节
2023/09/20
5580
Redis Stream 数据结构实现原理真的很强
Redis数据结构:List类型全面解析
Redis 中列表(List)类型是用来存储多个有序的字符串,列表中的每个字符串成为元素 Eelement),一个列表最多可以存储 2^32-1 个元素。
栗筝i
2023/10/16
3.3K0
Redis数据结构:List类型全面解析
Redis源码阅读(二)底层数据结构
Redis对于底层数据结构的极致封装,是Redis高效运行的原因之一。我们结合Redis源码对其进行分析。
星沉
2022/01/28
9190
Redis Stream 实践
stream 是一个日志形式的存储结构,可以往里追加数据,每条数据都会生成一个时间戳ID,stream 也有便捷的读取数据的模型。
dys
2018/08/01
1.3K0
Redis基础教程(十六):Redis Stream
在现代分布式系统中,消息队列和事件驱动架构变得越来越重要,它们在异步处理、解耦服务组件、实现事件驱动的微服务等方面发挥着关键作用。Redis,作为一款多功能的开源数据结构存储系统,自4.0版本开始引入了Stream数据结构,为构建高效的消息队列和事件驱动系统提供了新的可能。本文将深入解析Redis Stream的特性、操作命令,并通过具体案例展示其在实际场景中的应用。
用户11147438
2024/07/12
5990
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列
使用 Redis 实现消息队列 普通的订阅 基于模式(pattern)的发布/订阅 看下源码实现 分析下源码实现 stream 的结构 streamCG 消费者组 streamConsumer 消费者结构 分析下源码实现 基于List的消息队列 基于 Streams 的消息队列 发布订阅 总结 参考 ◆使用 Redis 实现消息队列 Redis 中也是可以实现消息队列 不过谈到消息队列,我们会经常遇到下面的几个问题 1、消息如何防止丢失; 2、消息的重复发送如何处理; 3、消息的顺序性问题; 关于 mq
IT大咖说
2022/03/21
1.3K0
38 张图详解 Redis:核心架构、发布订阅机制、9大数据类型底层原理、RDB和AOF 持久化、高可用架构、性能问题排查和调优
今天我们从全局视角开始,带着问题去寻找答案,梳理 Redis 核心知识点与架构设计:核心架构、String(字符串)、Hashes(散列表)、Lists(列表)、Sets(无序集合)、Sorted Sets(可根据范围查询的排序集合)、Bitmap(位图)、HyperLogLog、Geospatial (地理空间)和 Stream(流)等数据类型底层实现原理、发布订阅机制、RDB、AOF 持久化、主从架构、哨兵集群架构、Cluster 架构、性能优化。(ps:文章内容摘选自我的新书《Redis 高手心法》,更多完整内容详见本书籍)
码哥字节
2025/03/27
3300
38 张图详解 Redis:核心架构、发布订阅机制、9大数据类型底层原理、RDB和AOF 持久化、高可用架构、性能问题排查和调优
Redis 基础数据结构
Redis用到的底层数据结构有:简单动态字符串、双端链表、字典、压缩列表、整数集合、跳跃表等,Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些基础数据结构创建了一个对象系统,这写对象包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象等。
luoxn28
2019/11/06
1.3K0
Redis streams 作为一个纯数据结构
我们在Redis5版本迎来了一个新的数据结构,它的名字叫做"Streams"。(撒花)Streams一经推出,就引起了社区中各位大佬的关注。所以我决定过一段时间做一个社区调查,讨论一下它的使用场景,并会在博客中将结果记录下来(是Redis作者的博客)。今天我想聊的是另一个问题:我怀疑有很多用户认为Streams的使用场景是和Kafka一样的。实际上,这个数据结构的设计背景也是消息的生产和消费,但你应该认为Redis Streams只是更擅长做这样的事情。流是一种很好的模型和"心理模型",它能帮助我们更好的设计系统,但是Redis Streams像其他Redis数据结构一样,它更加通用,可以用来处理更多不同的问题。所以这篇博客我们会重点关注Redis Streams作为一种数据结构有哪些特性,而完全忽略它的阻塞操作、消费群和所有消息相关的内容。
随心助手
2019/10/15
7840
Redis底层数据结构
由图中可知,底层的数据结构有所变化,在Redis7中不再推荐使用ziplist,而是使用listpack代替,但考虑兼容性,目前仍保留ziplist。
用户3876103
2024/08/26
1310
从源码上聊聊Redis-String、List的结构实现
本文的数据类型只讲底层结构和部分机制,不讲具体的使用,使用的话自行bing,但是会提一些应用场景
Karos
2023/07/20
9610
从源码上聊聊Redis-String、List的结构实现
Redis之stream类型解读
Redis stream(流)是一种数据结构,其作用类似于仅追加日志,但也实现了多个操作来克服典型仅追加日志的一些限制。其中包括O(1)时间的随机访问和复杂的消费策略,如消费者群体。 您可以使用流实时记录和同时联合事件。
一个风轻云淡
2023/09/23
4450
[译] Redis Streams介绍
我大学的时候英语6级没过,因此但凡懂点英语的同学,如果你进到此页面,尽量去阅读原文,链接在下方原文地址.最次也要对照着原文阅读,以免我出了什么差错(这是不可避免的),坑了别的小伙伴.
呼延十
2019/07/01
2.1K0
Redis消息队列 | Stream
在RedisV5.0之前, 如果想实现队列功能, 只能用list或者pub/sub实现, 但它们都有自己的缺点.
一个架构师
2022/06/27
1.4K0
redis灵魂拷问:如何使用stream实现消息队列
redis在很早之前就支持消息队列了,使用的是PUB/SUB功能来实现的。PUB/SUB有一个缺点就是消息不能持久化,如果redis发生宕机,或者客户端发生网络断开,历史消息就丢失了。
jinjunzhu
2021/01/05
3.2K0
redis灵魂拷问:如何使用stream实现消息队列
Redis数据结构总结
Redis 本身是一个键值对数据库,这种键值对的存储方式就是哈希映射(Hashmap)的一种体现,即通过键(Key)来快速查找对应的值(Value)。
栗筝i
2023/10/16
3500
Redis数据结构总结
深入剖析 Redis5.0 全新数据结构 Streams(消息队列的新选择)
Redis 5.0 全新的数据类型:streams,官方把它定义为:以更抽象的方式建模日志的数据结构。Redis的streams主要是一个append only的数据结构,至少在概念上它是一种在内存中表示的抽象数据类型,只不过它们实现了更强大的操作,以克服日志文件本身的限制。
芋道源码
2019/10/29
2.1K0
Redis stream 用做消息队列完美吗
Redis Stream 是 Redis 5.0 版本中引入的一种新的数据结构,它用于实现简单但功能强大的消息传递模式。
勇哥java实战
2024/04/15
4470
Redis数据结构:Zset类型全面解析
Zset,即有序集合(Sorted Set),是 Redis 提供的一种复杂数据类型。Zset 是 set 的升级版,它在 set 的基础上增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列。
栗筝i
2023/10/16
9.3K0
Redis数据结构:Zset类型全面解析
Redis高级特性之Pub/Sub与Stream
在Stream之前,Redis PUB/SUB亦可可实现消息的传递及广播,但消息不支持持久化,不记录消费端状态,并且“Fire and Forgot”,可靠性无法保证。
vitofliu
2019/07/03
4K0
相关推荐
Redis Stream 数据结构实现原理真的很强
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档