公司不是家庭

很多公司会有家庭特征,因为管理者水平不够,就把家庭的理念搬到公司。甚至有的管理者,本身就是巨婴,蹂躏完家人,到公司继续蹂躏员工。

1. 有问题的管理者不降级或开除

  • 家庭:再不行的成员,也有血缘关系,无法开除。

  • 公司:不行的成员,往往因为人情关系,被姑息。

一个不合适的管理者占据一个位置,他的下属一般不敢举报他。

如果我举报了上司,上上司是不是会觉得我闹事,反而对付我?我的平级同事会支援我,还是让我孤军奋斗?

他的上司可能觉得没有更好人选,或者知道他有些问题,但有点交情,体谅他已经做到管理层不容易,不想动他……于是出现典型的人情治理。这样危害很大。 管理层固化之后,其中的制约关系网也固定,于是倾向于腐化。

基层干活的人是很容易流动的,但他们很难影响企业文化,反倒会被利用来说明公司是有优胜略汰的。其实,管理层的优胜略汰更关键、更致命。

2. 优劣员工的工资拉不开距离

  • 一般父母会倾力维护子女的平衡,如果一个子女明显发展比另一个子女好,他们就会更用力帮助较弱的那个。这是应该的。

  • 很多管理者都会降低工资差距,认为大家都是兄弟,不能差太多。

如果有余力,上级也应该稍微更用心去帮助后进者,但不是说劫富济贫,把厉害的下属的工资拿一部分给弱的下属。这种劫富济贫危害很大。 如果公司是害怕大家私下交流后发现有人很高导致嫉妒,那应该开除那些能力低又瞎嫉妒的才对。工资高的人一般不会告诉别人自己的工资水平。善妒者,往往也是弱者,如果不能激励自己变强,则也应该淘汰。

3. 长期没有策略性裁员,公司出问题才开始裁

  • 父母如果太放任、太宠爱孩子,往往培养出有问题的孩子。

  • 平时不管教好员工,这是太高估 HR 的能力了,以为招到的每个人都能管好自己并领悟公司的文化和业务?

有两种人就是应该及时裁掉的:混日子的、危害公司利益的。如果公司实在太有钱养闲人,第一类暂且忽视。有意危害公司利益的是必须立刻开除,比如上面说的不合格的管理,容易导致大量优秀人才流失或者无法进入,这就是危害公司利益。

公司发展很好的阶段裁员,大家都知道是好事;而等到发展遇到瓶颈才裁员,大家往往认为是坏事。

4. 裁员不公开原因

所谓家丑不可外扬,一般家庭的做法是隐瞒。

公司不是家庭,理由可以很简单地说明,但不应该隐瞒。比如能力不足,就写“末位淘汰”、“能力不匹配”、“发展方向不匹配”等。如果是做了危害公司利益的事情,就应该公布具体证据和开除原因,以维护企业文化。


道理都懂,主要是缺乏挖掘并有效反馈八哥的机制。

熊市,耶劝你生二胎

再穷也要为国生二胎。

1. 带两个小孩并不是花两倍精力

二娃两岁前可能是两倍,但以后就不到两倍了。

举个例子:喂饭。一个大人喂俩娃,一娃喂一口,切换时间,也给了娃咀嚼的时间,最终俩娃都喂完,并没有比只喂一娃慢多少,可能反而更快。

再举个例子:散步。在安全环境下,一娃、俩娃都是一样的散步。

有些父母,一人负责一娃,这其实是不科学的。妈妈带俩娃、爸爸带俩娃、一起带俩娃,三种模式合理分配才对。

用追剧类比一下,每周出两集,如果两集一起下载,通常是不好的选择,而用全部带宽下载前一集,好了马上开始看,同时继续下载后一集,这样时间利用率更高。

一个大人是能带俩娃的,所以一个大人带一娃的分摊模式其实是同时浪费两个大人的时间

2. 大带小和玩伴模式

一带一,大带小,早二胎,早轻松。大娃比二娃大两岁左右就能完成这个任务,尤其大娃是女生。

丸和面是一对姐弟。

  • 2019-02-06
    • 面:“妈妈我带你”
    • 丸:“不对,是妈妈我爱你”
    • 面:“我带你”
    • 丸:“是我爱你”
    • 面:“是我爱你”
  • 2019-02-17
    • 丸帮面穿衣服。
    • 丸帮面脱裤子尿尿。

俩娃一起玩时,大人轻松,孩子快乐。

3. 适应社会分工

娃小的时候更依赖母亲,但听懂人话之后,却更听父亲的话。

  • 爸爸一句话顶妈妈说十句。
  • 娃对爸爸的需求比较小,所以爸爸陪孩子一天就能满足孩子,满足感顶妈妈陪孩子两天。

所以,爸爸应该更多负责赚钱,至少 91%,然后一有时间,就多抱孩子,这样事业家庭两不误。

妈妈应该掌控家庭经济和时间的分配,因为女人一般更有协调能力和时间观念。普遍地说,女人一般也更懂花钱,孩子更多跟着会花钱的一方,日子也会过得比较高端。当然这不是一定的,需要根据实际情况做相应调整。

这和生二胎有啥关系?嗯……孩子小的时候,父母并行上班可能不是最优选择……生二胎妈妈才更有机会合情合理不用上班,虽然有所牺牲,但才会走向更合理的局面。如果妈妈工资比爸爸高很多,也可能反过来,爸爸辞职带孩子,不过不同教育,肯定是培养出孩子不同的结果,想清楚、开心就好!

程序员鼓励师系列:EOSIO 智能合约开发从入门到入定

作者: UMU @ MEET.ONE 实验室

常规入门流程

经典三步:

  1. 了解区块链基本概念,了解 EOS 基本情况;

  2. 官方开发者文档

  3. 开始愉快地写代码。

但是,有个很大的问题:开发语言居然是 C++!所以,鼓励师出场了……

这不是 C++,这不是 C++,这真是不是 C++

不信?我们就来试一试:

1
2
3
error: cannot use 'try' with exceptions disabled
try {
^

智能合约的编译目标是 WASM 文件,最终要在 WASM 的 VM 里运行,比如 wabt,这和常规情况下使用原生 C++ 开发可执行程序、静态库、动态库等,有很大不同。

受限部分包括:

  • 语言特性。比如上面举例的 try。

  • 可调用外部函数。比如 CRT 的 rand 函数,再比如您想用 socket 自由通信……没门。

  • 内存访问。这个比较难解释,后面再说。

如果您学过 Golang、Python、nodejs、Java 或其它相近语言,转到智能合约开发,可以说是轻而易举。理由如下:

  1. 智能合约关注业务逻辑,和大部分脚本语言类似。

  2. 智能合约有很强的约束范围,API 很有限,不会要求记忆大量知识。举个例子,它可以使用 boost,但也只是子集,无法使用完全的 boost。

  3. 智能合约有很强的套路,代码是满满的既定格式。熟悉 Hello world,会用基本的命令行工具进行测试,最多只需要 2 天,就会发出“原来这么简单”的感叹。

【高级话题】关于 WASM

多语言支持

如果您学过 Golang、Rust 可能会注意到,它们可以编译成 WASM 文件。比如 Golang 的编译命令为:

1
GOOS=js GOARCH=wasm go build -o hello.wasm

但是找个 Hello world 编译一下,您可能会哭,产生的 WASM 文件有 2.3MB,就获得一个打印信息……(EOS 基本概念:RAM 挺贵的。)

虽然现状是 C++ 一枝独秀,但未来可能会有人开发专门的编译器支持 Golang、Rust 等语言开发 EOS 智能合约。

WASM 逆向

VSCode 安装插件后可以直接打开 WASM 文件,显示 WAST 代码,比如我们随便打开一个 hello.wasm,滚动到末尾,可能会看到以下两行:

1
(data (i32.const 8192) "read\00")
(data (i32.const 8197) "get\00malloc_from_freed was designed to only be called after _heap was completely allocated\00"))

下面我们写个 C++ 代码:

1
2
const char* p = reinterpret_cast<const char*>(8192);
eosio::print(p);

以上代码,打印出 read。如果把 8192 改为 8197,则打印 get;改为 8201,打印 malloc_from_freed was designed to only be called after _heap was completely allocated

这个例子可能吓倒大家,特别交代下,一般开发中,较难遇到逆向……只是想说明 WASM 的内存管理和常规 C++ 开发的可执行程序是不同的,后者把指针指向 8192,是 Process Working Set 的地址,通常来说去读这么低的地址,后果极可能是读异常,挂掉。

划重点:虽然你用 C++ 写代码,但编译后是 WASM 二进制编码,运行时使用 VM,受控性很强,降低了开发难度,也杜绝很多安全问题。

性能问题

为了讨好 Python 程序员,下面用 Python 来写个开平方运算,有这样的:

1
2
3
import math

print(math.sqrt(2.0))

也有这样的:

1
2
3
import numpy

print(numpy.sqrt(2.0))

他们有个共同点——很快……相对 C++ 写的!!有点难以理解?

Python 的 sqrt 函数,其实都是用 C 语言实现的,最终都是调用解释器里的本地代码,速度很快。

原生 C++ 写的本地程序,几乎肯定是比 Python 快的,但我们前面说过:智能合约的 C++ 不是常规的 C++,当它被编译成 WASM 后,我们去看 WAST 代码,会发现 sqrt 的实现整个被塞进 WASM 里,它最终要用 VM 来执行,当然没有 Python 解释器快了!

设计原则

打开任意 WASM 文件,可以看到里面很多 (import 开头的行,这些都是原生 C++ 实现的 API,它们的执行速度就是本地代码的速度,对应官网 API 文档里的 API。

有前面的性能问题,我们不禁要问 EOS 为什么不多做点 API 来提高性能?这是因为维护少量 API 代价比较可控,数量一多就有版本问题,各节点可能因为版本不同步而无法达成共识。

另外,目前的 wabt 功能强大,性能也过得去,对于 sqrt 此类可能并不常用的数学函数,即使用原生 C++ 实现了,性能提升带来的好处,也无法平衡多版本可能带来的风险。

原则上,BP 之间快速达成共识,提升 TPS 才是更值得做的。

小本科对非欧几里得几何学脱敏的故事

高中时代

从小喜欢天文和数学,但高中时,有两个事件,促使后来读了挨踢专业。

  1. 穷。所有人都说读天文学很烧钱,穷人家是负担不起的,没学到家就出来又不好就业。

    高一,有电脑课,但觉得电脑没人脑聪明,没什么兴趣。后来意外看到 Bill Gates 的事迹,明白了挨踢行业是很赚钱的,而且这个行业不怎么需要讲人情世故,也是自己可能擅长的领域。

  2. 被非欧几何打击了。和数学课代表交好,经常讨论数学,都喜欢自学超前的知识。其中讨论过的一个最大的未解之谜就是:

    三角形内角和可以大于或小于 180 度。

    当时只学到一些皮毛概念,仅知道“黎曼几何学是大于,罗巴切夫斯基几何学是小于”,但已经大受打击……

大学时代

大部分时间都用于实践编程技术,原来比较擅长的数学和英语都被牺牲,不怎么认真去学。

但有追究过非欧几何学到底怎么来的:公理体系中采用了不同的平行定理。

  • 在平面内,从直线外一点,至少可以做两条直线和这条直线平行;

  • 在平面内,从直线外一点,有且只有一条直线和这条直线平行;

  • 在平面内,从直线外一点,不能做直线和已知直线平行。

当时没有去深入理解,看了一个例子说球体表面的两条直线都会相交,结果就对非欧几何过敏了……脑子里不断产生抵抗,球面不是平的,球面的直线特么是弯的,这让直男怎么接受?

然后就把非欧几何学当成是外星的哲学了,觉得不是个有用的理论,完全忽视了自以为能理解的广义相对论是和黎曼几何学有关的!

突然脱敏

最近补了点数学基础,顺便想把这个问题解决掉。纠正过程如下:

  • 球面上的两点之间,直线最短,嗯,在球体上看,最短的直线是穿过球体内部的,那个才是直的。

    不对,我们讨论的是二维的面,你怎么扯到三维的球体,还内部?

  • 球面上的直线是指什么?用地球来比方,赤道线和纬度线是不是都算?

    赤道线是,但其他的纬度线不是,其它纬度线上的两点之间最短的线,并不在纬度线上,纬度线绕的更远,最短的还是这两点加上球心切面上两点之间那段圆弧(劣弧)。

  • 直线只是定义一样,但在两种不同体系的面上样子是不一样的?

    是的,“两点之间,直线段最短”球面上的直线,在三维世界看确实是弯的,但在二维世界,它是直的……是直的……是直的。在四维空间看我们的世界,也许也是弯的,但反正我们在三维空间看,是直的!虽然我们能找到其实是弯的证据。

脱敏是很重要的能力

这其实不难理解,但长期自我抑制,不去解决它,再好的理解能力也没用武之地。

有些故事,要先相信,才有续集。

你是直的,还是弯的?

工作汇报

《写作的意义》中建议大家要多写作,是时候重点讲讲“工作汇报”了。

工作汇报的中心思想:

  1. 成绩、经验教训;
  2. 分析自身缺点或遇到的困境,寻求支援;
  3. 预告工作安排。

常言道“会哭的娃有奶喝”,有些人对此是鄙夷的态度,自然也不屑汇报什么成绩了,觉得那是邀功、谄媚……不得不说,这些人实在被坑害得不浅。还有些人是觉得太忙了,没时间写,这种也是够了,自己不总结一下成绩,到加薪时被忽略,才唧唧歪歪,会不会太迟了?

假设您是管理者,您有一个手下不主动汇报任何工作,于是您就必须时不时去盯着他到底在干什么,您还要替他记录他工作中留下的经验,这样就浪费了自己的时间。管理者需要有全局观,所以都是会脱离具体的细节的,在细节上的技能都会慢慢地不如下属,尤其是下属人数越来越多后。如果下属没有汇报,主管要么自己去处理细节,要么就断层了,这都带来了管理成本的增加。

我们站在管理者角度,描述一个简单的心理活动:我的下属不汇报工作,时间长了,我失去了一些技术性信息来源,如果我一直去找他们了解,我就被拉到他们的位置上了,不像个管理者,毕竟管理者的定义是:通过别人去完成工作的人。如果我专心只做管理,不去了解他们的技术性成果,则我在技术上会慢慢退步,失去技术敏感度,也不利管理工作。所以我明白了,那些不汇报工作的下属是在害我,他们很可能并不想在这里好好待着,所以我应该和他们沟通一下,看看是不是还有救,没救了就给他们比较低的绩效,或者淘汰掉;还有救,我就要多盯着他,引导一下。

反过来,我们当下属的就知道怎么做了……

性爱思维和虚拟现实

性爱思维:一种积极乐观,提前快乐的思维方式,比如两二逼突然聊起中了彩票要干嘛干嘛,都没中奖就高兴得有来有去的。之所以叫它“性爱思维”是这和“性”的过程有相似之处(其实是标题党)————不管男女,都不是最后一刻才快乐,而是从准备约会开始就心情愉悦,blah,blah……

虚拟现实:稣想说的比目前这种戴个乐射装逼的境界高很多,大家可以参考《宇宙威龙》的回忆旅行、《异次元骇客》的 1937 年世界、《黑客帝国》的连接罐装人类的网络。

当虚拟发展到高度真实时,现实与虚拟其实就不重要了,把脑子机械化完全是有可能的,典型的推理过程:做出一个脑细胞的电子替代品,一个个代替肉体脑细胞,最后就是把一个人脑给电子化了。

远的不扯了!很多人都有做梦时很真实的经验,完全有满足肉体需求的能力……

好了,扯到虚拟现实就是为了装逼,稣想说的是大家应该运用性爱思维让自己更快乐起来,摆脱一些没必要的悲观。

无处不在的筛选

稣从小学一年级到四年级,都是考班级第一名。到了五年级就严重偏理科,而且产生了老考第一对别人是不是太残酷了的狭隘想法,所以干脆不再考第一,而且也失去了争取第一的心态。

到了初中发现,耶,其他人还是有很聪明的,毕竟是整个岛的人,小学比较的不过是几十个。然后又考过一次实际上的第一,但因为被算错分数,所以好像是名义上的第 X 名(忘了)。虽然有几位知情的老师提稣鸣不平,但稣根本不在乎这个。

又到了高中,范围是一个区,甚至不止,稣入学 300 多名,最好的成绩是似乎是 23 名……

到了大学人就更多了,完全不记得什么名次,只记得某门课考过第一,但总分估计很惨,也没去关注。

工作了大约 7 年,还一直没有意识到社会的筛选机制是无处不在的。之前走过的关卡,并非刻意去追求,只是智商不低,随意发挥点就熬过来……

之前一直只使智商,不屑用情商,直到有了孩纸,还打算生二胎开始,稣意识到了各种残酷的社会竞争。人总要往上爬的,光靠智商,不是不行,而是太慢,竞争的残酷就是在时间面前,人类是很脆弱的。

然后,开启了某个潜能,再回看,每次入学,毕业,入职,跳槽,都是社会的筛选。以前相信“英雄不问出处”,后来明白那是忽悠的,祖辈父辈的优势,就是后辈的优势,筛选从个体出生前就开始了……在我们干的每个活里,都会有一个监督机制在筛选我们。

很庆幸自己除了童年时,家里很穷之外,在教育方面,是勉强跟得上时代的。尤其是在高中,不屑什么高考,在读书对付高考这件事情上,没有花费什么心思,压根就没去想考个大学有什么卵用,只是大家都在考,算了,关键时刻读读书吧。

在厦大读书的时候,也不时感觉,这学校有啥好的……然而,现在稣想说,好险啊!好歹读了个 985 的学校。

回首过去,是为了看清未来。

换位思考

高中时,稣遇到以下困境:

  1. 听 Michael Jackson 的歌,被老师公开反对……而且 MJ 还被翻译成了“杰克迈克逊”。

  2. 学点美国人的东西,被说稣已经被完全西化了,崇洋媚外。

  3. 高中依然不靠勤奋,我行我素,辅导书都不买(穷,也买不起),课外书看得比课本多,然后被老师们撕逼:你自己这样就行了,不要带坏别的同学……

呵,稣影响别人的方式,只是做好自己而已。然后老师就开始给稣灌输一个词,叫做“换位思考”,另一些同学也听腻了这个词。每次老师说到这词,稣总觉得莫名其妙。

现在如果有老师这么教育孩纸——“piapia”,稣替大家扇他们几个耳光。在稣看来有这些理由:

  1. 人都是不一样的,不同学生有自己的成长和思考方式,要换位思考,为什么不是老师换学生的位置去思考?老师是有当过学生的,学生可还没有当过老师。

  2. 学生没有老师的阅历、社会地位,无法使用老师的脑子思考。

  3. 即使有天才,能够感同身受模拟“老师”的角色,可是这么换位对他有什么好处呢?

简单地说,能够成功换位的情况,一般是高位换到地位去思考,强求低位去思考高位,很难。我们有句话叫做“拿着卖白菜的钱,操着买白粉的心”,多累啊。所以说,老师,您这么玩,可是有点不厚道滴哦。

但是,换到工作中,情况就有点不同了:

  1. 换到高位去思考,要是思考成功了,思想境界就提高了;

  2. 考虑对领导的心思,并做好事情,是有利可图的。

所谓适者生存,并不是强者,也不是智者,而是能够适应变化者。在新的关系中,怎么逆转、改进不适应的旧思维方式和知识,值得思考!

为什么不给您加薪?

稣还是一枚小兵时,曾经遇到这么一个问题:

您的手下,恪尽职守做好了本职工作,开发的产品也顺利上线,年底了,他要求加薪超过了公司的普调额度,您是给加还是不给加?

作为感同身受的低薪族,稣给出了很人道的错误答案:加吧!

相信有很多人也会迷惑,自己明明干了很多活,加薪却总是不给力(内心:除了工资,都涨了……),让他来回答这个问题,肯定是:加!加!加!

然而,正确的做法就是:不加。只能加绩效、年终奖,而不是固定薪水。

打工者往往会根据自己的工作强度、自己的收支情况、同学朋友的水平等,主观地认为自己应该多少钱合适,并且是尽快实现。而管理者,看的是您的价值裁定薪水,价值这个属性是有长期性的,而根据工作表现裁定的是绩效。回到题目中,“恪尽职守做好了本职工作”,这个是本来就应该做的,您的作用并没有改进,您的价值也没有改进,所以只能根据公司规定的普调额度加,不能超过,该激励的部分放在年终奖里。

那什么时候特调加薪呢?也有很多情况是可以加得给力的,比如:

  1. 职级提高了,包括工作经验多了技能熟练的升级、从一个 coder 升华到了 architector、从小兵进化到 leader 等,您的作用从独善其身变成可以提高团队素质,这是您价值提高的表现;

  2. 您一怒之下提出了辞职威胁,但还没有适当的替补人选,这种情况其实胜算不多,而且偶尔加完留下了,接下来也可能遇到麻烦,建议不到万不得已少用;

  3. 您从一个犹豫不决随时打算拍拍屁股走人的观望状态,到您打算在这里安定地长期干下去,并且您的能力能够被认可,委以重任或核心业务,通过了时间的考验后自然会加得比较给力。

希望了解这些规则,可以对大家的加薪有微薄的帮助。

群发的我不回

“群发的我不回”是一个网络热词,还是一个歌名……

赞成的人,或多或少带着点情绪。对此,稣是中立派,回不回和是不是群发无关,要看它本身需不需要回、和稣关系大不大、稣有没有足够时间回、稣回了是不是对对方造成困扰。这些应该都好理解,“是不是对对方造成困扰”这个特别解释一下,有一种情况就是微商群发问今天要不要来一份 XX 套餐?如果基于人道主义关怀,回复“不要”,那对方还需要看这条消息,然后心理从惊喜到失落……所以,稣还是忽略了。

对私人信息,回不回看心情也是可以的。在工作中,对群发的邮件,也看心情就不好了。然而,现实中却有不少人,是习惯忽视的,甚至心情好时也不回。

这种心理十分好理解,群体发福利的时候,都去参一脚,群体需要个体出力时,就有人会隐藏在群体背后不吭声了。 心理学上有专业术语叫做“责任分散效应”或“旁观者效应”。表现就是责任人越多,越没人担起责任。很典型的例子:老人倒地无人扶、深圳女白领地铁口猝死 7 人路过无人敢扶。

有两个启示:

  1. 领导群发邮件布置任务时,收件人应该尽量少,其他相关人应该放在抄送人。

  2. 能够克服“责任分散效应”,勇于揽起责任的人,往往会受领导青睐。

在写这篇的时候,搜到一篇《责任人越多,越没有责任感》和稣想说的很类似,大家可以参考一下:

  1964年3月13日夜里,美国发生一起凶杀案。年轻女子朱诺比白在回家的路上遇刺。在这个过程中,尽管她大声呼救,她的邻居中至少有38位到窗前观看,但无一人来救她,甚至无一人打电话报警。 

  这件事引起社会轰动,也引起了社会心理学工作者的重视和思考。人们把这种众多旁观者见死不救的现象称为“责任分散效应”,也称为“旁观者效应”。 

  心理学家实验和调查发现:这种现象不能仅仅说是众人的冷酷无情,或道德日益沦丧的表现。因为在不同的场合,人们的援助行为确实是不同的。当一个人遇到紧急情况时,如果只有他一个人能提供帮助,他会清醒地意识到自己的责任,对受难者给予帮助。因为他见死不救会产生罪恶感、内疚感,这需要付出很高的心理代价。而如果有许多人在场的话,帮助求助者的责任就由大家来分担,造成责任分散,每个人分担的责任很少。旁观者甚至可能连他自己的那一份责任也意识不到,从而产生一种“我不去救,别人会去救”的心理,从而造成集体冷漠的局面。 

   核心理念 如果是单个个体被要求单独完成任务,责任感就会很强,会作出积极的反应。但如果是群体共同完成任务,群体中的每个个体的责任感就会很弱,面对困难或遇到责任往往会退缩。因为前者独立承担责任,后者期望别人多承担点儿责任,其实质就是人多不负责,责任得不到落实。 

   应用要诀 领导者将任务交给某个团队时,一定要指定负责人,责任要分到具体的某个人,出了问题直接跟负责人交涉。否则就会出现责任分散的现象,任务得不到执行。团队完不成任务的时候,想让批评变得有力,就要让批评变得具有针对性。

  《中国教育报》2013年4月14日第2版