王辉的博客

是什么让我对未知世界始终充满热情?

在Murex工作了七年,到了说再见的时候。在这里,回顾一下在Murex的成长历程,解释一下离开的原因,也对未来做个展望,希望能对大家有所帮助。

成长

七年里,得益于优秀的同事,我一直在成长,回想起来,有几个关键节点,分别是积累的效果,主人翁意识的觉醒,以及对程序员价值的探索。

积累的效果

日积月累,虽然每次进步特别小,但慢慢的,会有惊喜。拿每周四中午的CodingDojo来说,虽然有时候,两个小时,一个问题也解决不了,但慢慢的,从心底领会到了,动态编程的奇妙,优先队列的强大,双指针的无敌搭配。这一点一滴的积累,加深了我对数据结构和算法的理解。注重积累,不仅让认知能更深一层,而且当我们注重点滴的进步,而不是最终结果的时候,我们能更好的克服拖延症,更好的保持长期学习的动力。

除了CodingDojo,还参加了很多其他的活动,当初参加的Scala学习小组,就为我今天找到新工作打下了基础。还有那么多次的CodingGame比赛,HashCode比赛,让我接触到了工作中不可能碰到的离散优化,人工智能,今天没有用,搁一边暂且不说,视野得到了扩展,说不定哪天就用上了。

主人翁意识

主人翁意识,简单的说,就是自己对自己负责。职业规划,工作环境,没有人会为准备好一切,你必须主动管理。

这个意识,工作久了,才容易体会到。起步时,需要学的东西很多,做完,领导会分配下一个,让人应接不暇。上手后,有了时间和精力,观察身边的人和事,并非都如意。可能所在团队目标不清晰,可能代码中测试太少,可能同事间的分享不够多,可能会议效率低。如果你认为这些都和你没关系,或者天真的以为领导们会解决这些问题,那么等待将会是漫长的。

主人翁意识,就是主动找路子。我曾做过一次尝试,为了营造交流的氛围,办了一个Java技术交流会。不仅结识了很多大牛,还改变了身边的技术环境。

程序员的价值

最后一个关键节点,是对程序员价值的探索。如果说前两个节点,注重的是自身技术的提升,自我意识的培养,那么关于价值的探索,让我跳出了我的范畴,因为我终于体会到,一个人的价值,不仅仅取决于一个人本身的能力,更多的是这个人如何用他的能力,去帮助其他人

离开

离开一个工作七年的地方,是一件不容易的事情。因为离开的不仅是企业,还有朝夕相处的同事,朋友。究竟是什么原因,让我做了离开的决定,起初的时候,我心里也不清楚,但总有一个声音在暗示我,要换换地方了。后来明白了,原因有很多个,一是为了探索。换个地方可能更好,也可能更坏,没有人能预测未来,这就是探索,有风险也有回报。其次,就是当你欣赏的人,陆陆续续都走了的时候,你留下来的动力就会越来越少了,确实有一些人有这样的魅力,能带你走。

探索

首先是不同的企业所处的阶段不同。Murex,已三十有余,成熟的商业模式,遍布世界各地的客户,毋庸置疑,这是一家成功的企业。还有的企业,可能在竭力生存,也可能在兴奋的扩张中。我想置身于这种环境去体验初创的感觉。也希望在这种多变的环境中,多作贡献。

其次,就是探索一个新的行业。有些人讨厌金融,说玩来玩去都是钱,但金融里能让我们学会管理风险,衡量一个东西的价值,培养投资者的思维。除了金融,还有很多有意思的领域值得尝试,比如电商,我想尝试一种新的行业,也解锁一些新的技能。这里插一句话,我们应该珍惜和利用作为程序员的优势,因为我们几乎可以从事任何行业。

最终,就是探索一种新的做软件的方式。传统的软件行业,软件带来的效应更多的是数字化,自动化,提高效率。而大数据背景下,软件改变的是人们思维方式,以数据为导向。我想探索大数据公司中,数据工程师,数据分析师,数据科学家,还有产品,销售的人们是如何工作的。除了数据导向之外,还有软件交付的模式,传统的交付模式,是把软件安装的客户端,SaaS是一种基于云计算的交付模式,用户不需要安装任何东西,打开网页就能使用,它的好处是软件的交付周期可以更短。

探索,表面的意思,是尝试一些新的东西,初创也好,大数据也好,其实更深次的意思,是一种危机感,怕跟不上行业发展的速度。

欣赏的人走了

我比较欣赏的同事,从我离开的前一年,就有人走了,当走了第一个的时候,我觉得是他有自己的打算,后来,离开了第二个,第三个,第四个,最后就是带领我们往前冲的领导也走了。每走一个,就代表着朋友就少了一个,就意味着能当你老师的人少了一个。直到最后,你会发现能和你一起玩竞技编程游戏的人没了,能和你讨论Clojure的人没了,能交给你如何使用strace命令追踪系统调用的人也走了,留下了一丝悲伤,这时候也基本是自己要走人的时候了。

感谢

说到最后,还是要感谢Murex给我带来的七年美好时光,还有在Murex交下的那么多好朋友。也许有一天,我在外面混久了,发现所有的决定都是错误的时候,还希望能回到这个梦开始的地方。

身边有不少朋友都知道,我正在谋划一款外卖应用。筹备过程中,我请教了好几家餐馆老板。先抛开应用的具体功能不说,老板们,无论男女,清一色的都特别友善,让我很感动,很受启发。

虽然我性格比较热情洋溢,做这款应用也是为了给餐馆带来更多的客户,但是在和老板们打电话之前,心里依然没谱。担心,老板们日理万机的忙,没时间听我瞎白活。可出乎意料的是,他们每人,不仅听我把应用介绍完,还帮我提意见,最后还鼓励我说,“大家都在创业,不容易,希望能多帮助,多合作”。

这给我心理造成了比较大的反差,后来我突然意识到,也许正是因为他们友善,所以他们才做成了老板。因为对人友善,保持共赢的心态,可以让合作的大门常打开,给别人一个机会,也是给自己多谋条出路。

罗振宇2018跨年演讲,有一句话,颇具深意。说咱们这些传统的小企业,没有开发互联网产品的能力,是不是意味着,就要被这个时代给抛弃了?答案是否定的,我们虽然没有独立开发产品的能力,但我们身处一个好时代,只要略微保持一点开放的心态,像阿里,腾讯这些巨头们,早已给我们准备好了粗壮的大腿,让我们抱!那些将被时代抛弃的人,是那些大腿放在了他们面前,都不愿意抱的人。

后来,我开始反思自己,在平常的工作中,是不是有些时候,我忙昏了头,丢了耐心,听不进别人的想法或建议,是不是做了那个大腿放在面前,都不愿意去抱的人。

非常感谢友善的,捌玖零的郑老板,锅色天香的金老板,京品堂的张老板,和蜀味的张老板对我的帮助。

在与创业公司谈论期权时,很多人会感到困惑。我也曾面临同样的难题:一家公司给出高工资,另一家公司则提供期权,怎么选?为了弄清期权的运作方式,我做了许多功课,也请教了一些行业资深人士。现在,我想通过这篇文章,帮助你了解期权的本质,以及如何与初创企业谈好期权。

期权的本质与作用

最简单的薪酬构成就是固定工资。无论你的表现好坏,薪水定期发放。而期权则提供了另一种激励手段,它不仅仅是一份工资补充,更是公司与员工共同承担风险的方式。

公司提供期权有两个目的:

  • 激励员工:期权使得员工对公司整体发展更加关注。你不仅希望自己表现优秀,更希望公司价值提升,因为公司越值钱,你的期权也越值钱。
  • 分担风险:初创企业面临许多不确定性,通过期权,公司能够在未来有更大成长潜力时,减少今天的现金支出,让员工一起分担风险。

简单来说,期权是未来买股票的选择权,这意味着你未来有机会用较低的价格买入公司股票,前提是公司运营良好。

期权的运作机制

期权并不等同于立即获得公司股票,而是通过逐步“兑现”的方式获得实际的持股权。大部分公司采用归属期(Vesting Period),来确保员工在公司长期服务。

  • 归属期:公司不会一次性将所有期权授予你,而是按年逐步授予。例如,如果公司承诺给你100股期权,通常你需要在工作一年后(Cliff期)才能开始持有部分期权,一般是四分之一,然后每月获得更多,通常需要四年才能全部获得这些期权。
  • 行权价格:行权价格是在未来以固定价格购买股票的权利。例如,你签署的协议允许你两年后以每股10块钱购买公司股票。如果公司运营成功,两年后股票市值涨到20块钱,你只需要支付10块钱,获得每股10块的利润。

期权的价值与风险

期权提供了巨大潜力,但其价值完全依赖于公司未来的表现。未上市公司股票的流动性问题是期权的最大风险。如果公司没有上市或被收购,你可能很难将手中的股票变现。

同时,持有期权并不代表你可以马上获利。你还需要考虑以下几个因素:

  • 公司上市与否:未上市公司的股票很难找到买家,只有在公司上市或被收购时,你的股票才容易兑现。
  • 未来的不确定性:尽管期权提供了潜在的高回报,但也存在风险。如果公司经营不善,期权可能最终毫无价值。

因此,期权是一种长期的赌注。你押注的不仅是公司当前的表现,而是它未来的增长潜力。

实例分析:两家公司的期权实践

为了帮助你更好地理解期权的实际运作,我分享两个我亲身经历的案例:

案例一:B轮融资互联网公司

这家公司刚完成4200万美元的B轮融资,规模有200人。他们没有为普通员工提供期权,薪资主要由固定工资和奖金组成。即使我多次提出想要期权,公司也坚持只有达到一定管理级别的人才有资格获得。这表明,公司资金状况充裕,不需要员工分担风险,更重视现金流的吸引力。

案例二:A轮融资金融公司

另一家公司刚通过500万欧元的A轮融资,团队只有15人。他们提供较低的固定工资,但通过期权来弥补差距,并希望员工和公司一起分担成长中的风险。公司乐观预测其未来三年内估值翻十倍,以此吸引我加入。对于这类初创公司,期权是吸引人才的主要手段之一,但风险也显而易见:公司的未来尚不确定,员工需要权衡眼前的固定收入与期权的长期回报。

如何谈判期权?

在与初创公司讨论期权时,最重要要考虑两个因素:

  • 公司的发展阶段:初创公司的不同发展阶段会影响期权的风险和潜力。较早期的公司通常期权较多,但风险也更大;成熟公司的期权可能较少,但相对稳定。
  • 个人风险承受能力:你是否愿意用未来的不确定性换取现在的固定收入?如果你对公司发展信心较足,并且能承担一定的风险,期权可以是有吸引力的选择。

我的选择与反思

2018年,我面临两个选择:一个没有期权但工资较高,另一个工资一般但承诺期权。最终,我选择了没有期权的第一家公司。我的理由有三点:

  • 职业发展:第一家公司让我进入了大数据领域,而数据越多,挑战越大,对我的成长帮助也越大。相对来说,第二家公司则局限于法国市场,发展机会有限。
  • 公司前景:电商行业蓬勃发展,意味着第一家公司未来几年内不太可能倒闭,而第二家公司从事的是风险较高的股票交易领域,我认为不够稳定。
  • 团队的可信度:第一家公司虽然没有提供期权,但他们的CTO和团队更务实、稳重,这让我对公司的长远发展更有信心。

之后的三年

  • 2018年5月,我加入了第一家公司,三个月后获得了期权。
  • 2019年,我从程序员转型为管理者,带领团队继续成长。
  • 2020年,公司在新冠疫情中实现了逆势增长,成功融资近2亿美元,并跻身独角兽行列。同年,公司决定将期权分配给所有正式员工,让大家共享发展红利。而第二家公司没能挺过疫情倒闭了。
  • 2021年,公司再次融资5亿美元,成为法国初创企业中单次融资最多的公司。

我庆幸自己当初的选择。尽管没有期权起步,但通过扎实的工作和公司的成长,我不仅获得了期权,还分享到了公司快速发展带来的红利。

总结

期权是初创企业吸引和留住人才的重要工具,但它也是一种风险与回报的平衡手段。在与公司谈判时,你需要清楚了解期权的潜在价值,并且根据公司的发展阶段和你个人的职业规划做出明智的选择。

感谢《Operating Systems : Three Easy Pieces》这本书,我终于看透了操作系统是如何控制CPU的。很久以来,我都有一个疑惑:操作系统是代码,应用程序也是代码,同为代码,凭什么操作系统对CPU有控制权,这种控制是如何实现的。

第一个问题,凭什么操作系统有控制权。当资源有限的时候,大伙对资源的使用,必定会出现分歧。如果没有人控制,就没有秩序。有的人抓住资源不放,有的人等到花儿谢了也轮不上。各自都只给各自着想,公平无从谈起,更分不清个轻重缓急。所以,我们需要一个管理者,让资源的使用更加高效,更加公平,更加灵活。

第二个问题,操作系统如何保证对CPU的控制,如何阻止不法分子钻空子。下面大家会看到,所谓的控制权,就是看CPU跑的是谁的代码,如果跑的是应用程序的代码,应用程序就决定CPU做什么,如果跑的是操作系统的代码,操作系统就可以选择,下一步把CPU交给谁。

第一招,叫系统调用。大概意思就是,应用程序,你用吧,我让你用,但你不可能只用CPU吧,如果你需要内存,文件,网络等资源,你就得调用我。如果你调用了我,CPU就跑了我的代码,我就可以把控制权拿下。可这一招,有漏洞,有的程序,对CPU的需求特别大,对其他资源的需求少,所以它就可能长时间占用CPU。

第二招,时钟中断。就像大圣打妖怪,打不过,就找菩萨,找老君。操作系统也一样,权利再大,它本身也是代码,遇到解决不了的问题,就求救硬件。时钟中断就是一个例子。你的主板里,会有一个时钟,滴滴答答的走着,每隔一段时间,它就会给CPU发信号。CPU收到信号,就会执行预先设定好的操作系统的代码,一旦这些代码被执行了,操作系统就有控制权了。

这两招合在一起,操作系统就实现了对CPU的控制。后来我体会到,更多的权利其实意味着更多的责任和义务,操作系统虽然会强行执行自己的代码,但它做的事,都是为了别人,让大家都有使用资源的权利。利人不利己,所以大家信任他。

我们在设计上层数据模型的时候,要对底层的数据结构抱有同情心,不要硬把关系型的数据模型,裹挟到只支持key-value的NoSQL数据库里。否则,就像是牛最爱吃的是草,你非得让它尝尝巧克力一样,不对口。

对数据结构抱有同情心,就像Martin Thompson在设计软件的时候,同情计算机中的机械硬件,是一个道理。Martin主张,要想开发出来高性能的软件,不要一味的追求流行的技术,而是深入理解底层硬件的工作原理,实现软硬的和谐。比如说,为了解决False sharing问题,他在设计队列的时候,故意给队列的头和尾指针加上填充,来保证他们不出现在同一个缓存线里。

基于key-value的NoSQL数据库,说白了就是一个Hashmap。Hashmap的最大特点,是能够快速的实现数据的保存和读取。假如我是一个使用hashmap的数据库,然后你告诉我,你们全校每个同学的颜值(假设大伙的颜值都不一样),只要你说个值,我只动一下手指头,就能告诉你它对应的人名。可是如果你的问题是,我们学校里谁颜值最高,我算起来可就麻烦了,得一个一个比一比。这时候,如果我用的不是hashmap,而是一个对有序数据更友好的Treemap,找到颜值最高的人,基本动一下手指头就行了。

除此之外,key-value数据库还有一些常见的其他因素值得注意。比如,每插入一对数据,除了主数据以外,往往还得加上一些辅助数据,比如主数据的修改时间。如果辅助数据所占的比例很大,数据库的使用效率就会很低,这时要尽量提高主数据的占比。你开一个动车,只送一个乘客,必定赔本,所以要尽量每趟多拉一些乘客。

只有理解底层数据结构的特点和局限,并且同情他们,在设计上层数据模型的时候,把它们考虑进去,才可能开发出一个和谐,高效的系统。

关于牛的事,我没有做过实验,万一你家的牛喜欢巧克力,只能祝福你能挤到巧克力味的牛奶。

亲情,友情都可以感动人。今天,我被一股炽烈的学习热情所感动。

这么多年来,无论是在学校,还是在企业,亦或是各种会议上,我从来没有看到过,有这么一群人,他们渴望,听到老师说的每一个字,看到老师演示的每一个动作,然后忘掉时间,全神贯注的沉浸在学习与创作中。这群人,是自费参加Ferrandi法国甜品师资格认证的学员们。我在他们的开放日现场感受到了这份渴望学习的热情。

起初,作为旁观者,我只是观察他们如何工作,后来,听到他们的老师回答一个观众的问题,说道, ”我们学校有两种学习班,一是针对年轻的孩子们,他们的父母给交学费,希望孩子们能在餐饮业发展;另一个是资格认证班,学员都是有过职业经验,然后自费来学习的大人们,都在30岁左右。和教那些孩子们不一样,我们这个班的目的,是整理学员们已有的但是比较零散的知识和技能,然后帮助他们系统化自己的知识体系。对他们讲授的内容,都比较难。但是他们吸收起来,却很快,因为他们学费是自己交的,都特别有学习的动力。“

听完这段话,我意识到,眼前的这群人,不仅仅是在学着如何搅拌巧克力,而是一群,从事过不同工作之后,发现了真心所爱,追求梦想的人们。他们中,有的是法国人,有的中国人,有的是墨西哥人;有的是工程师,有的是律师,有的是空乘,有的是餐厅的厨师,有的是家庭主妇;有的在巴黎,有的从外地搬来了巴黎;有的人单身,有的人生了小孩,还有的人孩子都可去旁边的孩子班了。

这么多拥有不同背景的人,在一个基本上不允许你再犯任何错误的年纪,非常坚定的走在了一起。他们所迸发出来的学习热情,如火焰般炽烈,我看到了他们的勇敢,他们的执着,和他们对生活深深的热爱。

站在他们身边,我自己都感觉到生活特别的美好,因为这里流淌着一股让人感动的学习热情。

作为程序员,我曾经困惑过,怎么说服领导采用我的解决方案?带着这个问题,我读了誉满全球的说服大师,西奥迪尼,写于1984的经典著作《影响力》。读完,与其说是我学会了影响别人,倒不如说如何不受他人影响。虽然没有找到我想要的答案,但这本书依然教会了我很多,尝试影响你的人永远都不可能告诉你的秘密。从中找几个对我触动别较大的分享一下。

如何让孩子下水学会游泳

前一段时间见一个朋友,他感叹孩子长大了,说话都开始像大人了。有一天,朋友带着孩子学习游泳,孩子怕水不敢下,朋友试图说服孩子,说水没什么好怕的。可孩子还是不愿意,像大人一样说,“你就不要再强迫我下水了”。

听到朋友给我讲这个故事,我就立刻想到了《影响力》书中所阐述的社会认同原理:我们会根据他人的行为来判断自己怎么做才合适,尤其是在我们觉得这些人跟自己相似的时候。书里的一位家长,也是无法说服孩子游泳,后来孩子在参加过一个夏令营之后,突然敢下水了,孩子告诉家长,“我都三岁了,小明也三岁了,他都敢下,我想我也可以!”。孩子们也会像大人们一样,通过别人的行为来衡量自己,只不过,他们更愿意看别的孩子是怎么做的,而不是家长。

长得好看又不能当饭吃

这两天,看新闻,说一个女孩相亲,嫌对方长得丑,不愿意。后来,女孩她妈告诉她,你都这年纪了,就别挑了,长得好看能当饭吃吗。

没读《影响力》之前,我也觉得,长得好看没什么用,还是得看真本事吃饭。可读完之后,就不完全这么认为了,因为光环效应:我们会自动给长得好看的人添加一些正面特点,比如有才华,善良,诚实和聪明等。而且我们在做出这些判断的时候,并没有意识到外表魅力在其中发挥的作用。研究表明,就连长得好看的犯罪嫌疑人,比那些丑的,入狱的概率都低。看吧,陪审团,法官也会不知不觉的以貌取人。

除了上面说到的,还有互惠,承诺和一致,喜好,权威,稀缺等提高影响力的武器。这些武器的共同点,就是它们利用了人类的条件反射。我们有时就像音乐娃娃一样,只要一按播放按钮,我们就开始唱歌。像所有的武器一样,看使用他的人,是出于好意,还是另有所图。对于那些另有所图的人,我们要学会如何辨别,如何防止让人操纵。以免买了自己根本都不愿意买的东西,还有苦说不出。

0%