• 文章不错,聊一点个人拙见。

    更喜欢将本文标题理解为: 开发者如何变得更加优秀、能创造更大的价值?

    之所以这样理解,是因为很多人像我一样现在只是一个普通的开发者,但我相信很多年后,随着不断地积累,我们这帮人会慢慢从开发者的角色逐渐分化,变成一个复杂的综合体,也只有这样,才能够真正地实现更大的价值创造,分化的方向大概是:

    • 拥有产品经理的能力
    • 拥有项目经理的能力
    • 拥有leader的能力(判断力、打造团队等)
    • 拥有开发者的能力
    • 拥有搞定人的能力
    • ···

    多年后,从开发大军中脱颖而出的人,都会拥有上面这些方向的素质,成为一个复合体。放眼望去,在大的团队或项目中产生核心价值的人,都是这种复合体。 大部分节点上的螺丝钉都只是螺丝钉而已,当然这些螺丝钉的价值总和还是会非常大的,只不过均分到人头上就不见得了。

    不过,除了上面的分化,部分在技术圈备受崇敬的人还有另一种发展方向,就是成为能搞定高难度技术点的精英,他们会在相对单纯的技术环境下创造价值。 不过大部分这种人才其实也具备产品经理和项目经理的能力。

    能吃透行业,在某个方向上有深耕的复合体,具有很大的单点价值。

    Matz是开发者吗? 不是,他是一名拥有开发能力的和项目管理能力的产品经理。他的核心价值在于设计了Ruby这款解放程序员的产品,并在带领开发者迭代ruby这个项目。

    马化腾是开发者吗? 不是,他早期是拥有开发能力的产品经理,现在应该算是懂技术、产品、项目管理、市场···的leader。

    ···

    一个人只有两只手,一天能写的代码量太有限,高价值的代码更有限。何况岁数变大,体能还在下降····

  • 说实话,这个代码我不能快速看懂。“冗长”点的代码更容易理解吧。 文章里代码写的糙,将就点看😂

  • 从上帝视角看微服务 at 2019年01月02日

    技术的应用肯定是有很大价值的,从有些角度来看技术的应用比其本身更有价值。不过这个价值是大部分是由企业家/产品经理来引导,”架构师“来选型做抽象,剩下的那些价值就不大了,可替代性太强了,很多是框架下简单的重复而已。

  • 从上帝视角看微服务 at 2019年01月02日

    移动互联网催生了微服务这类的效率改善措施,业界有很非常多好的正面的有指导意义的微服务例子。有人浑水摸鱼,或者胡搞一通,以某项技术来获取利益,这也挺正常,每项技术出来都会被炒,不过这是人或做事方式的问题,和技术本身关系不大。

    ServiceMesh由谁来做,也许对大多数码农来说没有区别。把大多数显得牛逼的项目中的开源组件拿掉,可以发现很多码农的核心价值趋近于零。不过这些牛逼的开源组件确实是部分码农搞出来的,总有人在做有挑战的事情。

  • 厉害! 我差点用排列组合来换字符的位置穷举所有可能,再用Base64解密,想想真是蠢。 你的答案给了我灵感。

  • Ant Design 错了吗? at 2018年12月26日

    简单复述一下自己对这件事的掌握:

    框架的核心开发者在代码中埋了一个逻辑: 在圣诞期间会触发一个“彩蛋”, 这个彩蛋的触发引起了广大人民群众的的抵触。进而在舆论上造成了一些风波。

    应该就是这么个事情。

    在我个人看来(个人观点),这件事情根本不应该被拿出来说。 发展到现在的“状况”的根本原因是,互联网的“羊群效应”和利用羊群效应挣钱的媒体的精彩表现。 这个彩蛋给谁造成了伤害? 给谁造成了损失? 心理上? 身体上? 都没有。

    核心问题是该核心贡献者的“审美”和大众有些距离,如果是个优美的彩蛋,现在应该是一片掌声。

    对于至于软件代码质量和交付过程的批评,可能有些苛责阿里巴巴了。没有谁有义务在一个免费的开源项目上化大的精力和时间像保证商业产品质量那样去付出,商业社会这是不现实的。 况且这个彩蛋真的是没有造成什么损害。(本人能力有限,非阿里职员,也没能在开源项目的贡献者,仅仅客观评价)

    至于那些在github上喷人的我就不在这里骂它们了,理解点开源精神都不会那样做。

    跳的高的,喊的厉害的,都不过是被操控的玩偶而已, 你没看到有很多人在欣赏着自己的“操控能力”,另一方面在开心的数钱。

  • Ruby 2.6.0 已发布 at 2018年12月25日

    求教,为什么JIT比原来的堆栈式更快? 该如何理解这个点呢

  • 拼写检查的四种实现 at 2018年12月25日

    把约束去掉,约束是根据场景人为加上去的。 B树也是一个多叉树,多叉树都能实现拼写检查,差别只是子节点的储存方式, Trie是通过一个hash或数组来存,B树根据范围条件来放(按某种顺序对字符排序),当然可能就不需要叶子了,但也会觉得就不是B树了。

    所以认为B树不适合或不行,我也是认同的。

  • 拼写检查的四种实现 at 2018年12月24日
    • Trie能给出拼写建议,类似搜索引擎上搜索词提示, 当然也能检查词汇是否存在。很节约储存空间。
    • HashTable只能判断词汇是否存在,不能给出拼写建议
    • 布隆过滤器用多个哈希函数将结果映射在bitmap上,用来判断词汇是否存在,不能给出拼写建议。节约空间,速度也快。
    • B树也能实现trie树的效果,且几乎没有差别(不限制子节点数量)。 只不过B树为磁盘读取量身定做,可按操作系统页的大小来存数据,尽量减少磁盘IO次数,更加强大复杂。

    拼写检查用Trie有好处,因为在你还没写完某个词汇时,就可能判断出这个词汇不存在,不用写完了才告诉你。

  • 从上帝视角看微服务 at 2018年12月24日

    本质上为了 解耦/转移复杂度, 为了提升效率。

    继续往下想想,为什么要用微服务? 微服务本质上就是用来提升效率的, 当年的SOA,企业服务总线等等都是这样。 它们都只是工具,手段而已。

    是为了使用微服务才提出ServiceMesh,还是为了进一步提升效率而提出ServiceMesh呢? 假设某一天不使用微服务了,ServiceMesh依然有它的价值,不会受影响,只是可能会微调。

    我是在说ServiceMesh的理念, 讨论的可能不是同一个。

努力走向优雅、简洁、有逻辑地表达。