????????关注后回复 “进群” ,拉你进程序员交流群????????

作者丨流水不争先

来源丨技术领导力(ID:jishulingdaoli)

Linus,全名 Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)。相信程序员圈子里的读者们对他并不陌生,可能还会忍不住喊一声“爸爸”,因为他是Linux系统的创造者。而Linus除了凭Linux系统一炮成名之外,还有不少趣闻轶事。今天流水姐就给大家唠一唠关于Linus的故事。

01

买不起操作系统,自己动手写一个!

Linus最初学编程是为了帮爷爷干活。他的爷爷Leo是芬兰第一批统计学教授,厉害得连芬兰统计学会都用他的名字来成立荣誉奖,猛人实锤了。在Lunis十一岁的时候,爷爷给了他一本汇编语言教程,说:“乖孙拿着。要不你试一下学编程,然后给我做几个统计小程序吧。”

小时候的Linus还挺内向的,乖乖听话去学了,一边端着汇编语言教程书,一边在爷爷的电脑上敲代码。也许Linus真的继承了爷爷的优良基因,最终写出了不少统计学工具,可谓“编程小鲁班”了。

1991年,Linus 22岁了。他想给电脑安装系统,但当时的系统价格太贵,还是学生的他负担不起。“既然如此,那我只好自己写一个了”,于是这个IT界的少年“鲁班”就造出了Linux。

02

科技界没有人可以拒绝乔布斯,除了Linus

最初,Linus只是独自完成Linux大部分内核编程工作。后来,越来越多人知道并采用Linux系统,慢慢形成了一个小社区,里面的不少极客也创作出优化系统的补丁,在社区上分享、交流。Linus觉得这样的交流氛围挺好的,并从Linux系统建成的第二年起,开始采纳一些写得很好的补丁,提高系统迭代速度,后来还成立了Linux内核维护小组。

Linux火起来了,Linus也“封神”了。甚至在2000年,乔布斯向他发出offer邀请。Linus却不在乎,拒绝了offer后,继续乐呵地钻研Linux系统。

2002年,Linus为了保存和控制好Linux每次版本升级的代码,选择BitKeeper作为Linux的版本控制软件。但BitKeeper是封闭软件,不开源。Linux技术社区里的伙伴们就不乐意了——咱们家Linux是开源的,理应选择开源的版本控制软件呀。

Linus何尝不想呢,不过他找了一大轮都不满意。当时绝大部分开源的版本控制软件都存在问题,尤其是性能不佳。BitKeeper虽然封闭,但好歹功能过得去呀,就先用着吧。

03

只用了10天开发Git,再次封神

问题在2005年真正爆发起来,当时Linux内核开发团队里,一个叫Andrew的成员做了个简单程序,支持链接BitKeeper的存储库。BitKeeper认为他违反了使用协议,决定收回Linux无偿使用BitKeeper的许可。不管两家人怎么磋商也好,最终都无法消除分歧。

没有版本控制系统,Linux根本不敢升级版本。无奈之下,“鲁班”只好再次出手了。Linus用十天开发出Git(V1.0),作为Linux内核的版本控制系统。后来,Git和Linnux两个产品并行迭代,最终都成为成熟的软件和系统。

那么Git的强大在哪里?它可以独立用作版本控制,很多著名的软件都用它来控制版本,比如X.Org服务器和OLPC内核等。所以,塞翁失马焉知非福,Linus这十天也没有白费,在解决Linux系统迭代问题的同时,又创造出一个新的事业里程碑。

04

管理怪才,发明了“多层次小团队”模式

我们倒回来聊聊Linux内核维护小组吧,说起来它还真是个短小精悍的组织。

小组成员只有十人左右,每个人都有自己负责的开发领域和项目内容。这几位核心成员又各自管理着自己熟知又信赖的小团队,攻克团队负责领域的技术问题。这种模式也叫“多层次小团队”

Linus很强调团队信任。他曾说:“你可能有很庞大的社交网络,比如在 LinkedIn 上你可能有 5000 个好友。但是其中有多少人是你信任的?”对他来说,真正能信任并依赖的程序员也就 10 个左右,所以这种团队模式对他来说就是刚刚好的。

现在技术领导力的读者群里不乏大型企业的CTO,管理着50人左右的团队。可能你们也会对过于冗杂、管理效率低下的组织架构而头疼。人多但干出来的事情却不多、天天在忙但又似乎没有做出什么成果来……那么不妨参考一下Linus这种管理模式吧!下面是我对“多层次小团体”团队模式做的简单梳理。

“多层次小团体”团队模式

  • 建构过程

    • 围绕核心目标,切分重要的任务/项目板块

    • 根据不同板块的技术特点和复杂度,分别任命技术经验最匹配、资深、负责任的管理者

    • 放权,让管理者各自选人,组建团队,制定团队目标和工作计划

    • 团队成员向队长汇报,队长向你汇报

  • 好处

    • 目标清晰,每个人都清楚自己该专注什么任务

    • 责任清晰,工作汇报可以落实到每个员工的人效成绩

    • 汇报关系简单,高管无需同时管理几十人,主导宏观把控

  • 坏处

    • 容易形成“小团体”风气,所以要注意调节团队间的协作氛围

    • 工作割裂,员工过于专注团队内部,不了解其他团队的项目进度

    • 组织多团队协作任务时,可能出现权责模糊、推进困难问题

聊完Linus在事业上的成就,我们也来看看他的个性和生活。

05

褪去技术天才的“宅男本色”

为了给Linux带来更多商业化和推广的可能性,最终能成为像Unix一样知名的操作系统,在1992年,Linus决定让Linux开源。不过Linus表面很大胆,内心却很慌张。

Linus对商业公司有天然的畏惧,害怕他们要拿着开源代码乱来,做些不正当的生意,最后一堆麻烦事儿牵扯到自己身上,还辜负了用户们的信赖。不过这只是猜想,事实并非如此。随着接触越来越多公司,他发现对方也没什么坏心思,甚至挺可爱的。大家都只想在Linux的系统基础上,结合自己的创意和商业想法,开发出更多软件,实现自己的理想。

Linus坦言过,自己并不合群,也不喜欢参与太多集体行动,不过开源这个决定迫使他和形形色色的人合作。他和一些人意见不同,兴趣点不一致,甚至互相讨厌,吵得不可开交。

但经历过这个痛苦的沟通过程后,他发现分歧的原因只是不同群体的关注点不同,而解决分歧的办法就是找到共性——大家都想利用开源创造更多意想不到的软件作品,而事实也证明,这样做的效果最好。

最终,Linus经过多年磨练,成功走出“社恐”。他更愿意敞开自我,接触更多极客和厂商,交流看法,我们还是挺替他高兴的。

06

潜水狂热爱好者,喜欢穿着浴袍写代码

我们看大神都是带着“主角光环”的,但私底下的大神Linus也有憨憨可爱的一面。

Linus曾经跟记者说:“Linux第一个版本的代码是上传到 FTP 服务器上的,但是我至今也不知道怎么配置FTP,也从来没有自建web站点。”反正就是,我写出来了,不管了,让别人来弄吧。

Linus除了爱敲代码,还是潜水狂热爱好者。但是他也说过,如果潜水超过一周,还是会感觉手痒痒想编程。看来他还是爱代码多一点。

Linus第一次公共演讲时,非常害羞和紧张。“我站在台上一副张皇失措的模样,像抱着救生圈一样死死地盯着PPT幻灯片……感谢上帝让微软公司发明出了这个软件救了我一命。”Linux说话一直“毒舌”,而这句话却是发自真心的感激和夸赞。

Linus一般都独自在家办公,不用见人就很快乐。他还爱穿着浴袍写代码,越放松,越能进入状态。大家要是写不出代码了,也可以学Linus,换件浴袍换个心情,松弛松弛。

07

怼天怼地,怼杠精

Linus的性格挺两面的,一般情况下喜欢独处,寡言;但碰到不满的事情,就立刻变“辣”,公然开怼。

一次采访中,Linus直接对Nvidia表达不满的评价,甚至躲开摄像机位,说了句脏话。2018年的Linux维护者大会上, Linus对一些看不惯的事情发飙,引发现场冲突。最终他亲自为此公开道歉,并且宣布暂时离开Linux维护者团队,休假一段时间。

最近,Linux基金会正在推出全球 COVID 证书网络。这个网络能解决全球不同国家之间新冠疫苗接种有效性的认证问题,让接种了疫苗的人们出国更方便。但是,有网友跳出来批评这个网络,更准确地说,是批判新冠疫苗——他认为新冠疫苗带来了新的种族歧视。

Linus公然回怼反疫苗的谬论,不仅是为了给自家基金会的项目站台,而且是维护社会公义和公共健康,颇有社会责任感。

结语

Linus今年已经52岁了,用他的自传书名《Just for Fun》来说,人生这一回就是Just for Fun,好玩就够了。也是这种活得阔达自在的心境,让他敢创造出一般人不会想创造的系统,敢做一个爱憎分明、说话“毒舌”的人,也敢保留自己生活中可爱的那一面。何乐而不为呢?

参考资料

《Linux、Git 之父 Linus Torvalds 的别样技术人生》InfoQ

《你知道吗? Linux之父 Linus Torvalds 的10个有趣的事情》Linux公社

《探秘 Linux 之父 Linus Torvalds 的日常,一不小心就撸出两个创世神作!》运维之美

《互联网奠基人传之< Linux 之父 Linus Torvalds> 》Peter 王广忠

《爱怼人的Linux之父:操作系统不好用,就自己开发一个》异步图书

《关于要不要接种新冠病毒疫苗?Linux之父 Linus Torvalds 的态度来了》Linux公社

作者简介:流水不争先,零代码APaaS软件从业者,不安分斜杠女青年。用一笔一墨,勾勒出互联网时代的清明上河图。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击????卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

他靠写程序封神,买不起操作系统,就动手写一个!曾拒绝乔布斯的offer相关推荐

  1. 程序员的职业病(职业素养)之一:动手写业务代码之前先考虑异常处理

    程序员的职业病(职业素养)之一:动手写业务代码之前先考虑异常处理.Jerry 5月份动脑部手术之前,无论是从网上搜索的资料,还是从手术医生那里亲口听到的,都提到手术有一定的风险.换句话说,我有一定概率 ...

  2. 计算机英语写一封邮件给汤姆作文,英语仿写一封信 介绍自己

    敬爱的老师: 您好 您是我心目中最敬重的好老师,您虽然十分严厉,但是您把一颗心扑在我们身上. 您起早贪黑,琢磨着更好的教学方法. 您就像蜡烛一样,让我感到前途无限的光明,却燃烧了自己. 树木的成长,离 ...

  3. linux写一个最简单的操作系统,自己动手编写一个简单的操作系统

    有人可能担心自己既没有学过计算机原理,也没有学过操作系统原理,更不懂汇编语言,对C语言也一知半解,能写操作系统吗?答案是没问题.我将带大家一步一步完成自己的操作系统.当然如果学一学上述内容再好不过. ...

  4. 原装ipad手写笔有必要买吗?第三方iPad手写笔推荐

    随着科技的不断发展,各种电子产品已经和我们的生活融为一起了.现在的人们越来越多使用ipad,那么买了ipad,有必要再花上仅一千的钱去购买一支pencil吗?或者是说有第三方的ipad手写笔可以替代原 ...

  5. 用CIL写程序:定义一个叫“慕容小匹夫”的类

    前文回顾: <用CIL写程序:你好,沃尔德> <用CIL写程序:写个函数做加法> 前言: 今天是乙未羊年的第一天,小匹夫先在这里给各位看官拜个年了.不知道各位看官是否和匹夫一样 ...

  6. 编程语言小传之 零.第一个研究写程序的女人

    大家知道,第一次工业大革命开始于纺纱.织布机的发明应用.而现代计算机的发明,也跟织布有关系.虽然在第一次工业革命后,布匹可以用机器大规模织出来了,但如果要织出复杂图案,还是只能依赖于人工操作提花织布机 ...

  7. Stm32开发1-蓝牙实现STM32的无线烧写程序 ISP模式 串口1不受影响 无线下载

    最近研究如何实现Stm32的无线烧写程序.从CSDN上看到大部分的无线烧写方法,大都是采用ESP8266+CMSIS-DAP的方式,其能下载也能调试程序,也能通过虚拟串口通信.但是其串口应该是用软件实 ...

  8. 用html设计蝙蝠侠介绍,编写你的第一行 HTML 代码,来帮助蝙蝠侠写一封情书

    原标题:编写你的第一行 HTML 代码,来帮助蝙蝠侠写一封情书 编译自: https://medium.freecodecamp.org/for-your-first-html-code-lets-h ...

  9. 星期六没节目,只好英语写程序!英语快学,76-85句

    工作七天的星期六下班,没有其他节目,只有写程序,学英语. 计划:每日50句,一个月掌握1000句高频口语,可以听读写,交流无障碍. 起床:10句: 上午上班:5句: 中午休息:10句: 下午上班:5句 ...

  10. Swift 语言概览 -自己在Xcode6 动手写1

    Swift 语言概览 -自己在Xcode6 动手写1 原文:Swift 语言概览 -自己在Xcode6 动手写1 Swift是什么? Swift是苹果于WWDC 2014发布的编程语言,这里引用The ...

最新文章

  1. 搞懂深浅拷贝JavaScript内存之栈和堆
  2. 「Leetcode-Python」python中利用链表计算两个非负整数之和(链表类型非列表)
  3. 上线清单 —— 20 个 Laravel 应用性能优化项
  4. JavaScript 精粹 基础 进阶(5)数组
  5. es 怎么嵌入 算法模型_快速ES-RNN: ES-RNN算法的GPU实现
  6. 支付宝上线长辈模式: 字体图标加大 去除了营销推送
  7. (四)Locust no-web模式
  8. Linux chmod权限详解
  9. JS+CSS文章查看系统
  10. Anchor-Free系列之CornerNet: Detecting Objects as Paired Keypoints
  11. CCNP之IGP学习笔记(2022)
  12. Xcode 模拟器如何录屏
  13. pd.set_option 问题
  14. yaahp使用教程_如何用yaahp进行大量备选方案/评价对象的综合评价?
  15. AGV调度系统解决方案
  16. swalAlert一些简单例子
  17. 培训考试计算机系统,企业培训考试系统
  18. python将json文件转换为csv文件
  19. 网页部分第四次培训——JavaScript
  20. MySQL数据库——MySQL LIMIT:限制查询结果的条数

热门文章

  1. 卡耐基梅隆大学(计算机学院排名),卡耐基梅隆大学计算机系统排名2020年
  2. java登陆界面图片_java登陆界面如何插入背景图片
  3. 在Clouda中使用jQuery Mobile问题解决方案
  4. 什么是GSM,CDMA和3G?
  5. 计算机组成原理重点考试范围,计算机组成原理重点整理(白中英版) 考试必备
  6. 微信小程序怎么用?小程序有什么用?之501~600
  7. 关于RecyclerView 设置条目间距
  8. Android(root)设备HTTPS请求时间校准
  9. 积累一些平时制作Excel 表格的常用公式与方法
  10. 基于host的http代理--hproxy