你们还是喜欢听故事 今天给你们讲我认识十多年的X先生的代码故事 X先生是我2012年的时候招募的,面试时是一个眉清目秀的小伙子,那天问了几个问题,基础技术还是很扎实的,就是有点腼腆 他入职的第一天,我们刚好又又又搬家了,他第一天报道的时候,非常吃惊,你们公司怎么搬到我读书的学校里面来了呀?(对,就是那个寒假需要绳降到一楼最后放假一个月的学校) 最开始,我只是把他当作应届生来看,我那时主要用Cairo在做自己的Linux图形库,我给他安排了一个任务,任何控件右边都做一个浮动滚动条,鼠标晃动的时候才显示,不晃动的时候自动隐藏。这个题目看起来简单,但是如果你没有深厚的图形功底和图形事件循环经验,很难做出来的。当时我的预期就是想考察他一下技术水平,给他一个月的时间。没想到这家伙3天就整出来了,我问他怎么弄的,他说看了一下Cairo API,可以用compose混合器的技术来实现图层显示的时候又不影响控件的事件循环。 嗯,这个小伙子可以啊,比我想想的厉害很多 后面又安排了几个任务,他都在我规划的时间的1/10内完成了任务,那时候我在忙着做操作系统版本发布和开发,X先生的学习速度太快了,我安排任务的时间都快跟不上他搞定任务的时间。 实在没空了,我来了一个狠的,我说现在Gnome在推动Mutter,但是社区的显卡驱动跟不上,每天都有用户反馈花屏闪屏,你写一个窗口管理器吧。我当时想这个任务你不要整个一年?这样我这一年就可以好好的攻克我要做的事情。 没想到这家伙,1个月以后,写了一个完整的桌面环境,Dock、Alt Tab、窗口混合、窗口管理器、登录界面都搞好了,虽然细节差很多,但是原理都没问题,天啊,这学习速度太恐怖了吧? 剩下的故事你们都知道了,当年WebOS,改造浏览器内核引擎,用浏览器技术做桌面环境就是出至他一人之手。 基本上2年以后,他的技术水平已经完全超过我了,而且他不像我这种野路子程序员,科班出身,计算机基础比我好,到第3年,操作系统的研发架构师的工作就从我身上移交给他。 这家伙写代码非常快,极度的专注,科学家的风格,他写代码不用调试器,一般就靠目测,很多工程师搞了半个月没搞定的bug,让他过去,他也不编译不运行,调试器也不用,就过去看代码,看了10分钟以后,手指了一下显示器,说:这行代码有问题。就走了 无数次的神奇bug都是靠X先生目测修好了的,我们所有人都猜测他很少用调试器的原因是,他脑袋就是一个调试器,代码都在他脑袋里编译运行。 当年桌面环境后端之所以用golang就是这位X先生主推的,懒猫微服操作系统的后端也是用golang写的。 这家伙太猛了,平常就手指一下,团队就开始干活。他无聊,就给国产芯片实现了LuaJIT编译器,开发过JIT编译器的同学都知道,从零给一个芯片做这个活有多难,他,3个月就结束战斗了。 在搞LuaJIT的过程中,他还发现了gccgo有一个严重的bug,在多线程竞争条件下软件会随机崩溃,这次他用调试器了,跟踪了半个月,最后发现是gccgo运行时,golang编译器的多线程实现有bug,编译器会产生一个非常严重的线程竞争条件的问题,简单来说,编译器不改,所有golang生成的代码在多线程都会产生很多随机bug, 这家伙,分别给cgo和gcc这两个项目提交了修复补丁。 当时维护golang编译器的大佬Ian Lance Taylor确认bug,但是不知道怎么写测试用例去做CI,哈哈哈哈。 Google的HR还是非常专业的,一旦看到有人给Golang编译器提交补丁,招募邮件就过来了,给X先生发了一封邮件:Google全球的办公室你可以随便选 X先生也挺逗的,他回了一封邮件给HR:我看你很专业,我们团队是做操作系统的,要不你加入我们团队来给我们招募技术大牛? 好了,喜欢听我创业故事的朋友,欢迎点赞转发 喜欢我们团队的朋友,欢迎购买懒猫微服,私信我购买有优惠!
Andy Stewart
1个月前
你们不要在后台私信我催更啊,我的故事快枯竭了 今天给你们讲一个牛逼的非主流设计师的故事 我记得那是2012年,我们在一个学校三间教室改装的办公室办公,那时候每天都在疯狂写代码,急缺靠谱的设计师。 突然有一天有一个人给我发了一个邮件,他说他是布衣论坛的设计师,吐槽我们的系统设计的太难看了,Dock在顶部,头重脚轻,配色业余,反正哪哪都不好。 诶,这种邮件有意思啊,那时候还没有微信,我加了对方QQ,我说你是干什么的?他说他是四川美术学院油画系的学生,读大学的时候身边都是电脑白痴,自己一个人除了画画就抱着笔记本在大学图书馆里研究各种Linux发行版,自己美化了很多Linux主题做自己的发行版。 嗯,有意思艾,懂电脑的设计师,还是美术生出生,这不是我头几天许愿说的理想设计师吗? 但是,他说他要考研究生,还在成都办油画展,只是吐槽一下我们的设计有多烂 我来兴趣了呀,这个人绝对是难得一见的操作系统设计师,因为很多设计师不懂电脑,做出来的东西非常奇怪,没有工程技术的美感。而很多懂计算的设计师因为不是美术生,颜色的色彩没有灵性,太死板 我就这样,每两周给他QQ聊几句,随便聊天吹牛,就这样聊了2年,2014年他研究生终于毕业了,来公司做设计师。他是我花时间聊得最久的牛人。 这家伙老家是黄冈英山的,家住在汉阳,那时候我们公司在鸟不拉S的武汉最南边荒郊野外(因为穷,租不起好的办公地点),这家伙,每天就骑一个小电驴上班,单趟30公里,每天60公里,他整整骑了3年,骑废了5辆电动车,3年的总公里都可以绕赤道一圈了。 为了上班,每天6点起床,骑2个小时电动车上班,我们当时有一个规律,如果8点半没见到瓜娃子,他肯定就是路上胎破了,有一次最惨,路上破胎了,他走路推了3个小时的电动车来到公司上班。 很多他的朋友说,你是拿生命在上班吗?他说,可以通过设计,让整个操作系统按照自己的设计图呈现给用户是一件非常伟大和幸福的事情。 我现在都第三次创业了,现在都记得和瓜娃子一起战斗的5年,最爽的就是两个人眼睛盯到屏幕5cm的地方看LCD屏幕的像素点,像素点就可以知道颜色、线条、圆角、图层的实现轻微细节,也能知道同样一个白色系的颜色在不同质量屏幕上的灰度表现。 那时候我们俩配合,一个是代魔狂魔,一个是设计狂魔,只要脑袋里能想象的东西,全部都可以实现,而且我们经常交流动画曲线和10ms左右的差别,我们经常微调一切,控件、留白、字体行间距、白色偏蓝还是偏绿、不同动画曲线在10ms左右的手感和流畅度、产品界面布局在3米开外看的美感、运动橙色对人情绪的打动力度...... 如果外人看我们俩,就不知道我们在干什么的,我们俩的合作基本上不需要任何辅助工具,比如流程图、设计图、代码设计、单元测试......什么都没有,最多一张白板,寥寥几笔抽象派画框就是所有。那种创作的默契和感觉,就如同神笔马良一样,任何天外之物都可以绘制,任何可见的东西都可以实现。没有任何规范、没有任何限制、没有技术难度,唯有无穷的想象力和自由度,一切所想皆可实现的感觉太爽了 他经常一个人做设计图,很多朋友都说我们设计师团队最少有30人,要不上万张图和上千个图标是怎么来的呢?我说,我们设计师只有一个人,他每天的乐趣就是做设计图,画抽象符号,画图标,画控件,他还偶尔写写代码,很多控件的CSS样式都是他手工调的,所以和他做Web开发很过瘾,我们公司从来没有程序员和设计师扯皮UI细节的问题,因为CSS都是设计师调好直接copy给程序员保存文件的,程序员超级开心,只用写核心代码就好了。 后来我离开 deepin linux 了,从代码狂魔转换成销售狂魔,再也没有机会写代码,再也没有机会和他一起战斗,但是他一直都是我背后最大的支持,懒猫微服的Logo是他设计的,公司的名片是他设计的,公司的Logo也是他设计的,甚至公司的实体Logo都是他请朋友制作的,懒猫微服老款的所有产品图都是他用单反拍的,效果比几万块的广告公司拍的都还好,因为他非常用心,拍完以后,后期处理的时候,不但把光线调好,每个机箱上面的灰尘都是他放大后,一个一个的擦掉的,因为他的眼中只有完美的世界...... 好了,这就是头几天那个故事中让我扣分18分的瓜娃子,也是昨天故事中徒手用Sketch钢笔硬地拔起做三维图,给我们设计师包装盒的牛逼设计师 也是我心目中最伟大的油画家,我家餐厅常年挂着他亲手给我画的三幅油画,向大师致敬! 喜欢听我们创业故事的朋友,欢迎点赞转发 喜欢我们团队的朋友,欢迎买一台懒猫微服支持一下,私信我购买有优惠,感谢老板,祝老板们发大财!