自由落体的天津经济

这是我在2020年10月12日发表在公众号「古老湿」的一篇关于天津经济的文章,随后删文、同时封号7天。这篇文章提到的数据,均来自公开材料,有兴趣的读者,可以自己搜一搜。

实话,从来都不好听阿。

顺便吐槽一下,国家统计局的数据可视化,跟美联储比起来,可差得太远了……

天津是我长大的地方,离乡多年,依然对天津有很多特殊的情感。但同时,每每看到天津经济的负面新闻,我都能在一瞬间回想起那类似煤炭燃烧的异味空气、权力本位的行政机构、统治经济的巨型国企、孱弱的民营经济……感慨一声,「理应如此」。

2020 年上半年,天津 GDP 为 6309.28 亿元,同比下降了3.9%——而7 年前的 2013 年,这个数据是 6579.01 亿元——这意味着,天津 2020 年上半年惨不忍睹的 GDP 数据,比 7 年前还低了 260 个亿。7 年来,天津经济不是原地踏步,而是在大踏步的倒退。

照此数据计算,天津 GDP 在全国仅排名第十,除北上广深外,天津已经被重庆、苏州、成都、杭州、南京等五个准一线城市超过(第九名南京比天津高了近 300 亿),天津排名仅仅比遭新冠肺炎影响最严重的武汉略高 1 位。 今日,天津经济质量之低、增长速度之慢,已经「名满天下」,是名副其实的「下一个东北」。几乎可以肯定,在2020 年全年 GDP 排名中,天津将跌出前十,彻底沦为二线城市。

停滞的人口增长

人口,是一个衡量城市经济发展水平的最重要指标之一。优秀的城市,人口会不断大量涌入;而落魄的城市,则面临人口增长的停滞,甚至是人口流失。

截至2019年末,天津全市常住人口 1561.83 万人,在全国人口排行榜中位列第五,总量上颇为惊人,说明天津经济在中国历史中,曾经极为辉煌,否则无法产生如此庞大的人口基数。但最近几年,天津的人口增长可以用「完全停滞」来形容。

2015年,天津人口达到 1546 万人,当年新增 30 万人;但到 2016 年,新增人口数骤降至 15 万人;2017年,甚至直接出现了人口负增长 -5.25 万人;之后的 2018 和 2019 ,天津这样一个1500多万人口的巨型城市,两年的新增人口加起来,都不到 5 万人(甚至无法填补 2017 年的负增长),几乎可以忽略不计。

考虑到天津政府在 2018 年发起了大规模的人才引进工程「海河英才计划」,至今引入了近 25 万高学历年轻人,而 2018-2019 两年新增人口尚不足 5 万,可以算出天津在最近两年的外流人口数量达到了 20 万人,人口流失速度达到平均 10 万人/年。

作为天津人,我要强调一下,天津是一个非常保守和自满的城市,陈旧的国有企业在天津市市场经济中占绝对主导地位,当地人普遍认为天津是非常优秀的一线城市,极少去外地讨生活,我几乎没见过中年以上的天津人去外地工作。因此,虽然没有详细的统计数据,但根据我的个人经验,天津平均每年10万人的人口流失中,绝大部分应该是有追求、有干劲、有知识的年轻人。

相比「总人口零增长、年轻人口持续流失」的天津,其他几个准一线城市动辄每年 40万-50万 的人口增长速度,完全可以用「狂飙突进」来形容。

经济学家张五常认为,所谓「中国经济奇迹」的一个重要因素,就是地方政府通过制度、司法、市场等方面进行互相竞争,从而使得经济发展得到越来越多的制度支持。在这场地方政府的竞争中,天津显然落败了,而落败的后果就是人口加速流失、青年人纷纷外逃。

人口的变迁是一个长期且不可逆的过程,我们可以大致作出一个判断:天津人口的零增长(其实已经开始负增长),意味着天津已经丧失了中长期的经济发展未来。

原地踏步的经济

在本文开头,我已经向大家展示了天津惨不忍睹的 GDP 水平。但是,考察经济水平,不仅要看总量,还要看质量。

天津经济高度雷同于东北,都依赖资源型和制造型国有经济。这种效率低下的经济结构,则和 100 年前的「十里洋场天津卫」完全不同。

我们以著名的国企拼接怪「渤海钢铁」为例,看一下天津曾经吓人的 GDP 是如何被「合成」出来的。

2010 年,在行政力量推动之下,天津钢铁、天铁冶金、天津钢管、天津冶金四家国企共同组建渤海钢铁集团;

2013 年,四家企业的实现首次财务并表,瞬间跻身 2014 年和 2015 年的世界 500 强榜单;

2016 年,渤海钢铁被天津市政府正式拆分,天津钢铁等四家国企重新各自独立,此次拆分距离渤海钢铁重组不到 6 年时间。

在渤海钢铁重新被拆分时,仅其金融债务规模就高达 1920 亿元,而整个天津市 2015 年一般公共预算收入也只有 2667 亿元,偿还债务几乎不可能。

知乎上,有疑似渤海钢铁前员工的匿名用户,透露了当年的内部混乱。

渤海钢铁从重组、到进入世界500强、再到分拆,经历了过山车一样的大起大落。而这样的历史,也像极了天津的经济增长。

2010-2013 年,天津 GDP 增速分别以17.4%16.4%13.8%12.5%增速位居全国第一,甚至可以和深圳、广州一争长短;

2017年,天津经济增速降到多年来最低点,当年 GDP 仅增长了3.6%

2018 年,也只增长3.6%。而后,2018年天津市 GDP 又修订为 13362.92 亿元,调减了 5446.72 亿元。

2019 年,天津仅增长4.8%

到2020 年上半年,天津 GDP 甚至达不到 2013 年的水准。可以说,无论是经济总量还是经济质量,天津经济都在 2010-2013 年的一轮泡沫之后一落千丈。

天津经济,正在失速。

持续下跌的房价

如果说人口代表了城市的明天、GDP 代表了城市的今天,那么房价就是把城市经济的昨天、今天、明天串联起来的一条主线。

天津房价在 2016 年到达历史顶点之后, 就一路下跌,直到今天。根据安居客数据,2016 年天津房屋均价为 23220 元/平米,到 2020 年仅为 20063 元/平米,4 年来房价不仅没涨,反而跌了 15%。要知道,中介网站提供的这类数据往往都是美化过的,实际成交数据必然更低,因此几乎可以断定,天津房屋均价早已跌破 2 万元。

天津房价为什么下跌?

原因有二:人口增长的停滞,降低了对房地产的需求;天津政府在超高负债率下加速卖地,提高了土地供给。这样一来一回,买家变少了,房子却增加了,房价自然会不断下降,并且这个趋势必然会持续下去。

根据东方金诚发布的《2020年信用风险展望系列报告:地方政府与公用事业篇》,天津政府债务及城投债务与可用财力比率已经超过500%,在全国排名第一。

欠了如此多的债,怎么还?财政收入是线性增长的,然而债务却像堰塞湖一样,一大坨顶在头上,必须一次性拿出大笔钱来才能防止「破产」。

只能靠卖地。

2018年,天津的土地出让收入为 986 亿元;而这个数字,在 2019 年飙升到 1361 亿元,刷新历史记录。

疯狂卖地+人口流失+经济退步,在这样的大背景下,天津的房价,恐怕还要很长一段下坡路要走。

最后

看到今日落魄的天津,我总会想起百年前的北方明珠天津卫。

95 年前的 1925 年,末代皇帝溥仪被赶出紫禁城后,选择在天津居住了 7 年。那时候,天津是绝对的「人口净流入城市」,连溥仪这样的「外来人口」都在第一时间选择定居天津。同时,作为中国近代史上最重要的口岸和经济中心之一,天津同样是当年各国租界的选址城市,这也从侧面看出天津在 100 年前的地位有多高。

这样一个城市,为什么到了今天,却越来越落魄、越来越没有吸引力了呢?如果聚集一桌天津人来聊聊,恐怕每个人都有自己的见解。然而,丢掉的往往再也找不回来,美梦破碎后也只剩血淋淋的现实。

我们无法拯救天津,我们只能用脚投票。

Tagged : / /

公众号1周年纪念,以及我的管理实践文章预告

我从2019年7月21日开始,正式写作公众号「古老湿」,迄今已经超过1年了。

今天分享一下自己的收获——

粉丝数从200上升到了15000;

在这一年中,写过10w+爆款文,也写过仅几百个阅读的文章;

文章被删过几次,还有一篇被百度告了、索赔50万,还在等开庭;

认识了不少同行朋友,结交了大量「媒介」,被放过鸽子,也有忠实的甲方;

公众号产生了基本稳定的收入,生存可以保障,广告一般提前3个月就被预订光了(可能是我价格太便宜了吧)……

也有很多遗憾:

最大的遗憾,是至今没能撺起来一个自己的队伍,刚开始时仅有的一个团队成员也很快离职去网易哒哒写公众号了;

视频内容还是没有做起来,因为自己懒惰,没啥特殊原因;

一年来虽然粉丝数上涨了不少,但距离自己早先的设想,还有很大差距;

下面说点生活中其他的事情:

虽然脱离软件工程行业 1 年,但自己的代码能力还没有大幅度下降。前两天做了一个技术面试题,写一个3D 图像数据压缩算法,写出来了,但因为不会线性代数,也不懂如何用 numpy 进行矩阵运算,所以只能用暴力循环的方式实现。逻辑都没有错,但性能太差了——在这方面,我对自己要求不高,这已经是我的极限了,在3天时间内学习了线性代数、图像学、深度相机的基础知识,尽管距离实际生产还差距颇远。

老读者应该有印象,我非常喜欢做管理工作,从大学毕业后开始,就出于兴趣阅读了大量工商管理图书,自己也产生了一些发乎性格和直觉的见解。这些见解,在我几年管理工作中,经过实践,逐步成型,杂糅了一些管理学家的思路,产生了独到的发酵反应。尤其经过了在米筐的技术管理经历,对工业化管理有了新的认识,针对「流程管理」「人力优化」和「目标管理」做了很多创新性的工作。我的团队,即便在高手林立的米筐,也算是工作效率最顶尖的团队之一了。

而且,通过这两年对教培行业的深度观察,我还发现了一些中国企业普遍存在的严重问题,例如高层视野过窄、中层发育不良、基层看不到未来,例如各大行业普遍缺乏对本行业商业史的理解,例如一些管理基本概念搞不清楚(OKR 和 KPI 傻傻分不清楚),等等。这些在旁观者看起来匪夷所思的现象,其实就是中国企业经营的最大现状。

所以,后面我会把自己的管理思路、对经营的理解,逐渐落实为一篇篇文章,一方面,为其他管理者提供一些新思路,另一方面,也能让白领们找到向上晋升的捷径——毕竟,管理的目标之一,就是「自我提升」,做不到这一点,就不算做到卓越的管理。

德鲁克是现代管理学大师,但很多观点过于模糊,虽然正确,但实践性较弱

你在阅读我的管理学文章时,很可能会看到稻盛和夫、迈克尔波特、彼得德鲁克等人的影子。没错,就是这样,这些管理学大师,都是我的老师,我从他们身上学习了很多。我之所学,最终融合到一起,和我的性格、我的偏好融合到一起,并对这些大师的理论进行自己的再解读。例如我觉得德鲁克的目标管理,毫无疑问的过时了,对于组织的目标,不仅要使用新工具,更要有新视角。我的类似观点,在管理学界是比较激进的,但在企业经营实践中,并不算前沿。如硅谷 Netflix 中彻底忽略员工成长的经营哲学,比我激进得多,但最终依然总结为一本广受好评的《Netflix文化管理集》。

我记得我刚上浙大的第一堂课,就是管理学。当时的老师还问那个经典问题——管理到底是科学,还是艺术。现在,我可以非常坚定的回答,管理就是一门科学,可以重复、可以证伪。也正因为此,管理学作为一门学科才有存在和学习的意义。

最后,以上仅仅是一个预告。我的管理实践文章,会在博客陆续发出来,如果你是管理者、或是有意从事管理工作的基层员工,那么强烈建议看一看我的实践方法,这些方法,远比国内「大师」们的屠龙之术,更具体、更有可操作性、更有效。

敬请期待。

Tagged :

自媒体十日谈(20190722~20190731)

从2019年7月22日到7月31日,团队主要在公众号上发力,连续创作了多篇文章,风格和内容从追热点、学写亚文化、到老师傅口述等,都一一进行了尝试,数据上的结果不理想,但是帮助自己理清了很多思路。
 

收获1:产品质量是最重要的

在此之前,我认为保持较高更新频率是保障运营数据(阅读数、转发率等)的重要方法,理由是频繁更新会增加在用户面前的曝光率。然而经过实践,在文章质量不高的情况下,频繁的更新,会显著降低打开率。用户即便看到更新,似乎也缺乏足够的动力点击进入内容页,在「古老湿」这个号早前的强人格化基础上,也仅仅有7%的打开率。这个数据对于我收集已久的精准流量来说,实在过低了。
事实上,即便是拥有较大采编团队、文章质量基本能维持在水准以上的大号,依然不日更,一方面是需要对文章做反复打磨,另一方面很可能是大部分用户已经进入了对公众号的疲倦期,每次阅读后有较长的「CD时间」,在这个时间内,用户再次打开的频率会比平常低很多。

收获2:尽量不要转移领域

「古老湿」的定位,仍然是服务于3000人的Python学习社群,然而我个人对于教授编程技术的兴趣不大,而且这个领域盈利前景也有待考量。于是在几乎一年前,我就计划将公众号的内容转向职场领域。在上周的短暂常识后,发现用户对此类内容并不感冒,职场内容的数据尤其难看。
然而,由于目前我仅有300粉丝,所以数据有可能失真,而且我的测试比较粗糙,文章质量偏低,又处于日更阶段,因此数据差并不能完全证明这个方向的失败。后面还会继续观察,看情况如何。但已经可以得出「不要轻易转移领域」的教训,一旦开始转向,必然面临一段时间的数据雪崩。

收获3:不要模仿别人

在这10天内,最灾难性的一篇文章,是这篇《泡面是白领最后的尊严》,由我和同事共同创作,两种完全不同的文风揉捏到一起。这篇文章的初衷,是要模仿公路商店的亚文化扯淡风,看一看这种看上去传播性较强的文章,能否带来优质数据。结果,泡面一文是目前「古老湿」公众号里几乎所有数据都创新低的一篇。
问题在哪里呢?其实首先是文章质量过低。由于急于出稿,因此胡编乱凑了一篇出来,文章从配图到文字都有很多问题。其次是主题漂移的太严重,和编程毫无关联,甚至和职场的关系也仅仅是标题中出现了白领二字。
公路商店和beebee的文章我一直很喜欢,但是我的读者并不是为了看他们而来的,与其看这种不三不四的模仿文,还不如去读正主的大号。我自己的文章虽然趣味性不如这两家,但文章深度和质量却更高,对读者来说,我是一个活生生的人,距离他们反而更近。

收获4:团队目标必须明确

这是我在10天内,犯的最大的错误,直接导致一名成员退出团队。
事情是这样的:我制定的初期工作目标是社群运营+公众号写作,前者没有明确的指标,后者的北极星指标是转发数。然而在开始工作后,我频繁的调整公众号定位,一周之内尝试了太多方向和形式,导致这位成员对于工作产生了不确定性。加上他对社区运营并无兴趣,最后以离职告终。
在这件事情上,我做错了以下几件事:1. 在同事入职前未仔细确定对方的职业定位。2. 方向应该由leader来确定,如果必须测试,也应该将「寻找方向」本身作为目标并制定路线图,而不是无头苍蝇似的乱撞,避免成员信心崩溃。3. 善待同事,将心比心。在米筐工作期间,由于整个团队有非常良好的「和善」传统,人与人之间极为友善,因此我的管理方式在这个Buff加成下极为有效;但当我离开米筐时,却没能把这种和缓的气氛一起带走,在我身边工作的同事(甚至我家人)都能感觉到乌云压顶一样的巨大压力,这种压力会把自己的队友越推越远。

收获5:不要让对方「反省」和「思考」,要制定明确的标准

这是我的一个毛病,我喜欢让团队成员反思自己的工作成果,然后自己制定标准。事实证明,这样的方式可能会让其他人很痛苦,而我自己也很累。个人的成长固然重要,但是没有团队的成长,个人是不可能发展的。作为团队领袖,最重要的事情就是制定目标以及标准,这一步是不能跳过的。管理必须是明确、可预期的,这样才能让每个人都有稳定感。
 
这10天学到了很多,我非常感恩,能在初期就明白了这么多事情,显然会对未来产生巨大的帮助。希望后面的10天,能继续进步,见到一些成效!

Tagged : /

工作,有多重要?

文章转自我现在写的公众号「古老湿」,欢迎大家扫码关注!


我以前觉得,「工作」是生命中最不重要的东西,是「必要的恶」。
人的自由意志并不来源于所做的事情,一个图书管理员同样可以做个一统江山的梦。劳心者治人,劳力者治于人,工作就是打工,打工就是劳力,「治于人」的人生,不值一提。
工资?只是生存的必需品,出力干活、提高薪水、像机器人一样重复这个过程,就是工作的全部意义。
所以我以前经常处于一种奇怪的状态——会想各种方法、制作各种工具来优化自己的工作,但其实在心理上对工作的投入很少,工作于我而言仅仅是换取收入的途径。
改变,发生在我转职成码农之后。
入职的第一天,我就发现码农同事们的气场和以前我所见过的「职场」完全不一样——每个人认认真真的写着自己代码,偶尔互相开着玩笑,然后继续喝着咖啡盯着屏幕噼噼啪啪的敲打机械键盘。
如果说有什么不一样的地方,可能是这群新的同事在在实实在在的建造什么东西。或者说,他们对工作的态度,和我不太一样。
这可能和码农的工作方式有关:每个人维护一部分旧代码,同时每天生产新代码,这些新代码也自然进入「待维护」
状态。很多开发工作,不是不能转移给别人,而是成本实在太高——你需要给对方讲业务逻辑,测试方法,以及某些难懂的奇技淫巧;即便如此,对方也可能隔三差五过来问你这行代码什么意思、那行代码是否写错……
逐渐的,我对于自己负责的代码,也有一种「亲密感」,在那些平平无奇的字里行间,是我对产品的设计、思考和传承。工程师这个职业,甚至改变了我曾经的文科生懒散的思维习惯,变得理智和严谨。
也就是在写代码的工作中,我慢慢感觉到,工作不仅仅是混一份工资,也是把自己的生活与这个世界的某一部分连接起来的过程。你需要对自己的产出负责,你是一个手艺人。
以前,我觉得工作是自己的延续,你喜欢做什么,就找个工作完成自己的爱好;现在,我觉得工作更像是一块补全自己人生的拼图,找到这块拼图很难,但找到后,你会变成一个更完整的人。不仅仅为了薪水,还为了自己做了一些有意义的事情。
所以工作到底有多重要呢?
大概有这么重要吧:

开玩笑,比这大多了!
工作不仅给我一张饭票,也改变了我很多,让我变得完整,也是生活的指南针。如果你的工作没有给你这个感觉,或许是时候做点改变了?

Tagged : / /

说说我的近况,兼介绍一款优秀的异形DBG卡牌游戏

上一次更新博客,大约是在半年前了。实际上这半年不仅仅是博客停更,我很多项目都终止了,例如公众号,例如 Python 网课。唯一不变的是,这半年在持续的买游戏和玩游戏,其中买游戏的速度还远远高于玩游戏……这就导致库存积压,却有大量游戏仅玩过一两次、甚至一次没玩过。

以及,最近申请离职了,裸辞,下周五是 last day。米筐是国内 FinTech(金融科技)行业的头部公司,无论技术还是理念,都明显强于其他竞争对手,从这样一家公司离职,略有遗憾,但又没有遗憾。我从 2016 年的编程小白入门,到参与米筐几乎所有重要项目和重要组件的开发,再到现在带领测试开发团队,一路走来可以给自己打满分了,就是重新来过一遍,也不太相信身为文科生的自己能做到更好。离职的原因很单纯,就是现在的工作已经无法给自己提供更多的挑战;在可见的一两年内,米筐测试团队恐怕没机会到达20人以上,那么对我来说,带这样一个小型团队,工作量过低,也不能施展和锻炼自己的管理能力。

好了,下面说一说游戏。 前两天,我阅读了 Reddit/boardgame 板块上一篇文章《Learning to enjoy what you’ve got》,大意是,桌游玩家有两种乐趣,一种通过不停买新游戏来获取新鲜感,另一种则通过深入理解已购游戏、研究新策略来获取智力挑战的快乐。我深以为然,而且认为后者的乐趣其实远高于前者,一款游戏最少也要玩两三遍才能体会到其中玄机。故此,我会降低购买游戏的频率乃至完全不再购入新游戏,充分享受家里堆积的大小游戏。

今天,就会向各位介绍一款我购买已久、非常著名的牌库构筑式游戏——《Legendary: Encounters Alien》。 Legendary 是一个牌库构筑游戏(Deck-Building Game,简称 DBG)系列,其中最知名的是《Legendary: Marvel》,一款玩家扮演漫威英雄击败洛基、末日博士等等著名反派的 DBG,在 BGG 上的排名 138名、主题游戏类排名 45 名,已经可以算得上是佼佼者,在全球桌游爱好者之中享誉非凡。

View post on imgur.com

然而《Legendary: Encounters Alien》虽然名气略逊,但其 BGG 排名居然更加优秀,总排名 92 名,主题游戏类排名 21 名!而能够进入 BGG 前 100 名的游戏,都是『神作』! 《Legendary: Encounters Alien》(以下简称异形 DBG )可以由玩家挑选扮演若干《异形》系列电影中的角色,然后按照电影剧情一点点完成任务进而通关。整个游戏过程非常流畅,策略感十足,代入感超强。在游戏过程中,玩家就像重现了《异形》四部曲的关键情节。 (我使用了十几年的网络昵称「Alien」就来自于《异形》系列电影,看过无数遍)

View post on imgur.com

2016年,异形 DBG 推出了第一个大扩《Legendary: Encounters Alien Expansion》。这个大扩新增了两个剧情(共六个任务)、若干新的角色牌和异形牌,而最大的特点则是增加了「女王」模式!在该模式下,1个玩家扮演异形女王,对抗其他所有玩家。虽然在异形 DBG 基础包中,也有类似 PvP 的模式,甚至异形 DBG 还可以与同系列的铁血战士 DBG 进行联动,但其本质终归是合作游戏,强行改造为对抗游戏难免使游戏风味略有丧失。这个大扩则将对抗模式正式发展到一个全新层次,甚至给「女王」玩家提供了一张鼠标垫材质的牌垫,诚意十足!
然而一切并未结束。随着《普罗米修斯》和《异形:契约》的相继上映,异形宇宙的世界观逐渐成型,原有的四部曲已经显得颇为单薄,而异形 DBG 同样需要在剧情、游戏玩法、乃至风味上更上层楼。 在 2019 年 3 月的美国 GAMA Trade Show(游戏制造商贸易展)上,异形 DBG 的出版公司 Upper Deck 向大家展示了一张 2019 年路线图,图中明确标明了在 2019 年第三季度将会发行一个异形 DBG 系列新扩展《Legendary: Alien Covenant Expansion》!根据目前已有资料,该扩展很有可能是一个小扩,而它也有可能成为异形 DBG 系列的第一个小扩(漫威 DBG 的大扩小扩我已经数不过来了……) !

我这两天已经通过亚马逊海外淘,购入了「女王」扩展,在 Q3 势必要入一套「契约」扩展了。到时候,会再发一次新扩展的介绍。 下面是一些我在玩异形 DBG 基础包时候的照片。

View post on imgur.com


Tagged : / /

成长,就是持续创造价值

我时不时会收到一些小朋友们的私信,问是否招实习生或者「程序员学徒」的,可以不要薪水。我一般回复「没有」,就不再多说什么了。并不是我高冷,而是觉得这样的小朋友恐怕并没有什么潜力值得去挖掘。
这么冷酷的结论,并不是拍脑门想出来的。经历了多次打脸,我最终明白一个道理——如果一个人把「廉价」甚至「不要工资」作为核心竞争力,那么他不仅对自己没有信心,其实也不会有任何主动性去发展自身。他们只期待一个武林高手从一招一式开始教起,像妈妈带娃一样照顾始终,而自己只需负责饭来张口即可,希望在人畜无害的气氛中,无能的成长起来。
显然这是做梦。即便这样一位「程序员学徒」不要工资,其他人为了培养他而投入的巨大精力和时间难道不值钱?武林高手有这个时间干点什么不好,不能去争一争武林至尊吗?为什么要把时间浪费在一个连学习知识技能都需要他人喂食的巨婴身上呢?这些幻想成为「程序员学徒」的小朋友明显算错了数,他们以为「不要工资」是自己的巨大优势,实际上这样的人带来的往往是负价值,对团队和项目都有巨大损害。
举一个我自己的例子。我曾经在一个水平相当低的工程师身上耗费了近半年时间,从 Google 搜索引擎和 stackoverflow 的用法,到代码规范,到 Python 各个标准库的用法,再到各类 Pythonic 代码的写法。之所以耗费这么大精力,是因为我是一个不错的老师,能把很多道理讲的深入浅出(例如我可以在 1 分钟时间里让任意一个无技术背景的人理解金融量化交易引擎的技术原理),经过我的细致培训,他一定有机会成为一个代码细腻而简洁的工程师。
直到被我劝退前,他都一直在用百度搜中文关键词并跳转到 CSDN 上看技术文。
这是什么概念呢?就是一个数学老师教了你半年的二项式展开,最终面对最简单的二项式题,你依然在掰手指数数。
这样的程序员带给同事的往往是噩梦。在他离职之后,我们依然时不时的从他代码中发现骇人的 bug,然而数据已经被污染,重新修正几乎不可能。由他引入的问题,很有可能直到公司破产都不会有人愿意去解决。这样巨大的负担,当年的我如果更成熟一点,是万万不会惹祸上身的。所以现在收到各类的「不要工资」的申请,心里都会默默的想,「你当我是傻子么」。
每个人都渴望成长,但成长不是商品,不是你用「不要工资」就能够换回来的。成长源于你一步一个脚印的学习,在学习过程中,你又创造出了价值。本质上,只有当你持续创造价值的时候,你才会成长;而不是反过来。
如果你技术不好、没公司要你,能否在力所能及的范围内,对开源社区做一点贡献?
如果你技术不好,能否仔细研究业务代码,试着花一个月甚至两个月的时间写一个简单但核心的模块?
如果你技术不好、又想找个老师,能否先帮这个老师做一点事情、哪怕只是帮他写单元测试?
……
可做的事情太多了,简直数都数不过来,而它们的共同点就是——持续创造价值,而不是持续索取关照。
所以,当我们对一件事情有了强烈的渴求时,最好先问问自己,能不能用已有的技能先创造一些价值出来。如果不能,说明你其实并没有那么渴求。那么,请不要再去骚扰那些工作量已经很饱和的工程师了,码农滞销,可怜可怜老乡们吧。

Tagged : / / /

给马蜂窝支招

互联网运营中,存在一种非常隐晦却不可不谈的手段,谓之「虚假运营」。虚假运营指用假数据,给用户或者竞品造成某种错觉,从而达到运营目标。从马化腾在 OICQ 上装女生陪用户聊天,到 Airbnb 将 Craiglist 的数据塞到自家网站上,再到新手玩吃鸡手游会匹配到人机、更容易获得胜利,都体现了这是一种隐匿而重要的互联网运营手法。
然而运营者必须对数据负责,对结果负责,对用户和产品负责。这次马蜂窝被爆 UGC 数据造假,其曝光方式异常简单,甚至无需专业人士出马,普通用户稍加观察,都能轻易发现端倪,体现出其运营团队低下的运营能力。
换句话说,造假都造不好,还能指望它「造真」么?
针对马蜂窝拙劣的运营手法,我提供一些技术方案,用开发手段解决运营问题,估算一下工程量:一个后端开发工程师 + 2 个运营专员,可以在一个月时间内搞定开发、测试、上线。如实在无能为力,也可请我作咨询,连开发带运营,我一个人就够了,给你们省点钱。
长话短说,解决马蜂窝的虚假数据问题,可分五步走:
  1. 对马甲和内容数据分类、打标签
  2. 对「有毒内容」进行过滤
  3. 调研真实用户行为特征
  4. 开发自动化内容发布系统
  5. 优化运营人力
 

一、对马甲和内容数据分类、打标签

在今天曝光的蚂蜂窝数据造假证据中,马甲人设来回变换、点评内容忽男忽女,即便是普通用户,只要稍微细心,都可以发现其造假实锤(例如刚和老婆在上海喝完咖啡,就带老公去深圳吃面)。
首先,批量生成小号,并对其打标签(如 25 岁白领单身女性,32 岁企业管理层已婚男性,19 岁广东省大学女生等等),其属性划分应该符合网站真实用户的正态分布(例如 80 岁老爷爷应该不太会是蚂蜂窝的主力用户吧)。
其次,对爬来的点评数据进行类似处理,按作者性别、年龄、婚姻状态等进行标签归类,便于未来发布内容时,「女性大学生」人设的账号不至于发布出「携老婆和丈母娘旅行」的内容。其中,最重要的属性是性别,在爬取数据应顺便解决性别数据,搞定性别,大约 90% 的点评数据不会出现严重错位。
这个步骤的意义在于,将马甲账号与点评内容关联起来,营造出真实用户的氛围。当马甲账号发布消息时,可通过相应的匹配规则获取符合其人物设定的内容,被现场抓包的问题基本可以解决。
 

二、对「有毒内容」进行过滤

把爬取到的评论中附带的竞品名字(大众点评/美团/携程等),按照渠道来源,直接替换成自己的产品名,(例如从大众点评爬来的数据,统一把「大众」「大众点评」「点评网」等关键词替换为「马蜂窝」),虽然有可能产生内容不精确问题,但是远好于被读者及同行抓现行。
同理,爬虫在爬取数据时被对方以「插入推广链接」等方式「反爬」、导致存在部分脏数据,应及时清理。
运营人员还需要定期抽样检查数据,对存在的问题进行跟踪,发现问题后可以制定数据修改规则,使用脚本对数据进行批量修改,定期对规则进行迭代。
 

三、调研真实用户行为特征

暂停所有马甲账号发布,对真实用户进行为期一个月的行为观测,统计网站用户的真实活跃时间、频率和点评数量。
 

四、开发自动化内容发布系统

按照已被揭露的马蜂窝虚假内容发布时间来看,大概率是运营团队花费了大量人力在其工作时间段内发布,而这毫无必要。后端提供写入接口,并使用脚本或服务定期定量的写入数据,可以将大量人力工作直接转化为自动化任务。
后端开发工程师应该为运营部门提供两个组件:按标签获取点评内容的消息队列,以及写入内容的接口。然后设置定时任务进行批量写入操作,时间规则参考上一条用户真实行为特征,且写入时间可随机做小幅波动,尽量贴近真实用户行为。
 

五、优化运营人力

通过上述方法解放出来的运营人力,应该全力负责下述方面:
1. 如何用更好的方法将马甲账号与爬取到的内容匹配起来?
2. 怎样持续优化点评内容质量、以及迭代检验内容合格与否的标准?
3. 持续观察真实用户行为,要对自己的产品和用户有更更更更深入的理解。
4. 与工程团队对接,寻找优化这套「自动化发布系统」的方法,应有运营专员负责该系统的需求与迭代。
 
做到以上几个方面,我相信很少有用户用户或机构可以再通过运营数据观测到虚假运营。因为虚假运营的本质就是模拟用户真实行为,面面俱到,则可最大限度减少破绽。当然虚假运营的手段多处于灰色地带,而一家正经企业也不能一辈子鸡鸣狗盗,其最终目标依然是获取更多「真实用户」并提高其活跃度和消费额,将「假数据」转变为「真数据」。广大互联网运营人士,应以蚂蜂窝为鉴,时刻提醒自己,在实战中要更专业、更专注。
Tagged : / / / /

万智牌的几种娱乐规则

最近有空就会打一两盘 MTGA(《Magic The Gathering: Arena 万智牌:竞技场》),一套红蓝法术师我来来回回可能已经打了一个月,而由于预组套牌强度过低、而我仅氪金了 5 美金的欢迎套餐,故而缺少大量强力单卡,距离我下一套套牌尚有不小差距。

红蓝法术师的基本思路,就是上场几个低费法术师生物,使用咒语去除对方生物甚至烧脸,以此触发灵技(灼灵法师)和法术师群体类灵技 buff(烬火之风艾德莉兹),快速造成大量伤害;中后期则依靠大茜卓和红神消耗对方资源(甚至可以直接使用红神弃牌打2的异能打脸)。这套牌法术力要求低,二三回合即可展开局面,在低水平对局中相当高效,对战大多数二三线套牌都有极强的速度优势。然而当面对一线套牌的时候,前三回合如果无法形成足够的威胁,那么很可能就会在四五六回合被对方碾压。
灼灵法师 烬火之风艾德莉兹
目前在攒的,一套是一线套牌「纯绿快攻」,一套是娱乐套牌「红绿炸地」,前者依靠优质生物快速占领场面优势、随后迅速输出大量伤害、并自带了若干解以应对各种去除;后者则纯粹娱乐为主、竞赛为辅,各种生物、法术以炸掉对方的地为己任——这样的套牌,就算输了,也能炸对手几个地,足够让对方大吃一惊了。
钢叶斗士 地动变境

不过最近最让我着迷的并不是 T2 赛制的这些套牌,而是阅读了威世智官方以及旅法师营地的相关文章,发现的一些有趣的赛制,在此记录一下。
以下赛制均为娱乐赛制,主旨是「廉价」「多变」「好玩」。

打单包 (Mini-Master/Pack War)

这是几个赛制中运行起来最简单的,游戏速度也非常快。游戏方式是,每人开一包补充包,不看牌面,每种颜色的基本地各加入三张,形成一套大约30张牌的牌组,然后开始对战。这种玩法的好处是快捷简单,有撕包的乐趣,而费用相对低廉,很适合在环境初期来上几盘。
打单包还有变体,就是直接将补充包中的所有牌作为手牌,每回合可以从游戏外施放一张任意颜色基本地。此时玩家没有牌库,也不会因无法抓牌直接判负,同时各种抓牌异能视为无效。
打单包的缺点是牌库过于随机、且玩家完全不知道自己的牌库内容,节奏往往非常缓慢;优点则是融合了打牌与撕包,使整场游戏过程充满爆棚的惊喜感——谁知道你下一张牌会不会是一张环境内的最强鹏洛客呢?

温斯顿轮抽(Winston Draft)

这是我最早学会的二人变体轮抽,一名香港牌手在牌店百无聊赖的等人时教会我的。
牌池可以是任意 cube/block 甚至牌店捡来的银铁盒。首先随机组成一堆 90 张牌的牌池,然后在桌子中央面朝下的放三张牌,这就形成了初始的 A/B/C 三个公共牌库。甲选手首先不公开牌面的翻看 A 牌堆(此时 A 牌堆只有一张牌),如果不满意,则在 A 牌堆上加一张牌,然后看 B 牌堆,如果满意,则将 B 牌堆的牌全部拿走,然后在 B 的空位上补上一张牌。两个玩家循环往复,直到牌池全部被拿光。如果玩家看完了 A/B/C 三堆后依然不满意,则代表放弃牌堆,从公共牌池中拿走一张牌。
这个玩法非常适合银铁盒轮抽,思路相对耿直,速度快,还非常有补充包轮抽的感觉。当然,更好玩的方法是配合一定的 cube,这样可以打出更炫目的 combo 或者套路,比补充包轮抽更有趣味。

渣金轮抽(Reject Rare Draft)

万智牌每个系列都有大量平时用不到的金牌,称之为渣金。每个玩家贡献出 45 张渣金,洗匀后做成 15张/包 的补充包,然后就像补充包轮抽一样,开始玩。
渣金玩法,其实我很早就自己尝试过,只不过是以温斯顿轮抽的方式进行。优点是各种没用过的金牌都能尝试一下,缺点是这些渣金往往非常卡手,没有了作为基底的银铁牌补充,对战时会很不流畅,节奏也偏慢,给我的总体感受是不如银铁盒轮抽,除非你想一次性体验大量冷门稀有牌。
我有一个渣金 Cube,但迄今只打过一次。

九宫格轮抽

这种玩法很像温斯顿轮抽,有机会我想试试。
首先将牌库的九张牌摆成九宫格,第一个玩家选择拿走一行或一列,第二个玩家再拿走一行或一列(此时有可能拿 3 张或 2 张),然后清除剩余的牌,摆出一个全新的九宫格,直到双方将牌库形成的 10 个九宫格(默认双人游戏时 cube 牌池为 90 张)全部抽完。
据说九宫格轮抽会比温斯顿轮抽的速度慢一点,所以如果时间不富裕,可以考虑下面这种「神掏」规则。
九宫格

神掏

这种玩法从来没试过,但是由于节奏非常快,所以目测会很娱乐。
游戏双方使用同一组牌,不需要地牌,每人起始手牌只有一张,但拥有无限法术力。所以如果你运气够好,第一回合掏出了「不休饥渴钨拉莫」并直接下地,对手基本可以 GG 了。
不休饥渴钨拉莫

Tagged : /

程序员年龄增大后的职业出路是什么?

这篇文章是我在知乎上的的一个回答,讲的略微有点深。另外感觉自己这两年越来越左翼,越来越觉得马克思不愧是20世纪最伟大的思想家之一。

今年 30 了,也开始考虑年龄问题了。
不过虽然 30 岁,但我实际作为程序员、以编程为业,也只是最近两年的事情(关于我的编程职业经历,在这个回答里写的比较详细:知乎用户:自学编程的人,都是怎么找到第一份软件开发工作的?)。因此对编程这个职业的理解,可能还不如一些 90 后小朋友深,写的不对的地方贻笑大方,请见谅了。

注:以下叙述,不局限于程序员,实际上包含所有职业。

中国的程序员在市场中的地位,不客气的说,随便翻开《1844经济学哲学手稿》里描写产业工人的段落,把这些一百年前的论断放到程序员身上,都言之凿凿:
例如:关于程序员的先进生产力与其对应的可怜回报

「的确,今天由于有了新的动力和完善的机器,棉纺织场的一个工人往往可以完成早先 100 甚至 250-350 个工人的工作。在一切生产部门中都有类似的结果,因为外部自然力日益被用来加入〔X〕人类劳动。如果说为了满足一定量的物质需要必须耗费的时间和人力比现在比过去减少了一半,那末,与此同时,在不损害物质福利的情况下,给精神创造和精神享受提供的余暇也就增加一臂。但是,在我们甚至从老克伦纳士自己领域中夺得的虏获物的分配方面,仍然取决于像掷骰子那样盲目的、不公正的偶然性。法国人有计算过,在目前生产状况下,每个有劳动能力的人平均每日劳动五小时,就足以满足社会的一切物质利益……尽管因机器改进而节省了时间,工厂中奴隶劳动的时间对多数居民说来却有增无已。」

例如:关于「越工作越贫穷」这一现象的分析

「工人生产的财富越多,他的产品力量和数量越大,他就越贫穷。工人创造的产品越多,他就变成廉价的商品。物的世界的增值同人的世界的贬值成正比.劳动不仅生产商品,它还生产作为商品的劳动自身和工人,而且是按它一般生产商品的比例生产的。」

例如:关于程序员异化为程序的奴隶

「因此,工人在这两方面成为自己的对象的奴隶:首先,他得到劳动的对象,也就是得到工作:其此,他得到生存资料。因而,他首先是作为工人,其次作为肉体的主体,才能够生存。这种奴隶状态的顶点就是:他只有作为工人才能维持作为肉体的主体的生存,并且只有作为肉体的主体才能是工人。」

以上,并不是呼吁大家都去读马克思,我也无意挑起关于马克思的政治经济学的争论(也希望大家尊重题主和读者们,不要做跑题辩论),只是希望各位静下心来想一想,我们和百多年前的纺织工人的区别,到底是什么?
伴随一个产业工人或程序员的老去,不可避免的是工作时长与强度的降低、工资的刚性提升(正常来说只能升不能降)、对家庭福利需求的增高(例如需要公司为家人购买保险)等等。而普通工人(程序员)的工作效率增长速度一旦无法达到其福利需求的增长速度,在公司里即成为累赘。换句话说,辞退你、换新人,对公司有很大好处,而这对资方来说是一个巨大的诱惑。
多亏劳动法和近二十年来的互联网产业红利,程序员的处境已经远远优于当年的工人,不用时刻担心被辞退,但是当到达了一定年龄后,大多数程序员的个人价值已到峰值,收入封顶,但生活压力却越来越重。这是「年龄-收入」的悲剧冲突核心,也是大量程序员夙夜忧叹的唯一原因。
而这种悲剧,集中式的出现在中国,其直接表现就是程序员的薪酬过低(例如在美国,普通工程师拿个十几万刀的 package 并不算天方夜谭,这种问题也就并不严重。)。
所以程序员老了怎么办?唯一靠谱的解答,就是脱离自己的产业工人身份,直面残酷的市场食物链,尽一切可能向上爬,脱离这个「产业工人诅咒」。
那么程序员以上的食物链有哪些?最直接的就是技术管理层、公司中高层,再次是资本方,最后是权力方。故而其方法也分外直接:要么争做管理层并获取股份、股权激励等非劳动收入,要么以资本进行投资、让别人为你打工,要么当个省委副书记、起码乡镇干部之类(这一条过于奇幻,当做笑话吧)。
但凡符合上述逻辑的职业规划,都是靠谱的,区别仅在于风险大小。
至于计算机领域的、乃至其他各行各业的技术专家,这是一类我非常崇敬和羡慕的人群,他们往往已经获得了超额收益,故而不在我上述论证范围内。我所说的一切,仅仅针对你我这样的普通职员。
所以,程序员们,不要为自己掌握先进的知识而沾沾自喜,这个世界并不属于知识劳动者,所有利润最终将归属资本和权力……
……和猫。

Tagged : / / /

合作类DBG桌游《XenoShyft: Onslaught》测评

最近买了一盒 CMON 出品的卡牌构筑机制的1-4人塔防类游戏《XenoShyft: Onslaught》,一个人试玩了一下,觉得比领土好玩多了。又意外获赠了一盒该游戏第一个大扩《Xenoshyft: Dreadmire》在2016年 Kickstarter 上众筹中回报的 KS 独享扩展卡包,内容丰富,很大程度上提高了可玩性。非常意外,非常感动。
1

游戏特点

XenoShyft 的主题是合作防守,玩家们扮演星际战士对抗外星异种,游戏的目标并不是杀光异种,而只要在一定时间内保持不死即可——要么坚持9轮后游戏胜利,要么鏖战中途基地生命值降到0而失败。由此可见,游戏的难度颇大,异种怪物的可怕攻击力与特殊能力会给玩家们带来非常大的压力。在这样的主题下,玩家之间通过各种形式的合作进行快速战斗,游戏节奏异常的快,与《领土》类 DBG 完全不同。
昨天下午,我和几个朋友连开2局《Xenoshyft: Onslaught》,游戏过程非常紧张刺激,几个人都很过瘾。虽然2次尝试都以失败告终,但也终于见识到了 DBG 这个老套、繁琐、慢速的游戏机制,如果加以微调,完全可以支持快节奏的卡牌战斗游戏。
2
3
4
Xenoshyft 整体节奏非常流畅,速度极快,四个玩家共同合作防守基地,游戏过程中能够互相支援部队、道具等等,这样的设计打破了领土创造的经典但乏味的『二人埋头理牌』模式,不同玩家的互动极为丰富,这种配合贯穿游戏全程,即便不在自己的回合内,依然可以使用自己的即时效果牌和特殊能力部队进行协助;再加上所有玩家共享生命值,每一个人的成败都关系到所有人,任何一路被突破都会对基地造成破坏,因此可以说全程无尿点,基本没有 downtime 困扰。
另外需要提一下的是,XenoShyft 本身是一个变化颇多的游戏,玩家选择不同的部门(如医疗部、武器部、科学部等等)有不同的特殊技能和初始牌库,游戏 Setup 过程中随机出现可购的强大道具,以及8种从弱到强、能力各异的兵种互相搭配,使得每次游戏都具有巨大的差异性,可玩性极佳。同时由于游戏的高度合作性,不同玩家的策略区别极大,可以说基本很难玩出2局雷同的游戏。
5
(上图为游戏后期 Wave3 的一条战线,异能强大的「电震兽」和防守反击能力爆表的「海伯利昂突击装甲」在面对面的对抗)
6
(上图是游戏中期经常遇到的一种恶心的敌人,可以将我方阵亡士兵直接变成他们的提线木偶。这游戏的美术真是有点惊悚,而且相当血腥,儿童不宜。)

KS 卡包带来的变化

上一篇文章说到了,朋友赠送了我一套《XenoShyft: Dreadmire》的 kS 专属卡包,虽然由于部分卡牌涉及到「天气」这个新机制、而我仅有基础版、故而无法使用,但是其他牌的扩充实实在在的拔高了游戏的耐玩度。
KS pack
举个例子,这个 KS 卡包提供了些崭新而简易的增强规则。一个我方士兵如果经历了战斗而未阵亡,则可在下一回合升级为英雄(居然还是闪卡……)。每个兵种只有一个英雄,这些英雄相比普通士兵具有更为强大的能力,是战场上的中坚力量。同时,装备物品也有类似的「传奇」版本,比原本的武器更加强大也更加稀有。
9
8
除了士兵在战斗幸存后可升级为「英雄」外,还出现了4个具有强大能力的崭新兵种,目测强度略高于基础版,但面对同步增强的敌人,似乎显得并不算过分。
15
另外,XenoShyft 基础包中每一波有2个Boss级大怪,一共6个Boss;而这个 KS 包里则一口气为每个波次提供全新的全彩大画版本大怪6只,合计18只!这意味着,在玩家部队得到增强的同时,外星异种也在同步增强!下图中,第一张图是基础包中 Wave1 的2只 Boss,第二张图则是 KS 包附带的 6 只 Wave1 大怪!
11
12
除了船新版本的士兵、装备、怪兽外,分支机构也有了更多选择,同时相比原来的常规尺寸卡牌,做了一套「超大尺寸版本」,这样放在桌子上,就不会淹没在卡牌大海之中了。
14
在新增分支中,我最喜欢的是 Xenos Containment,可以翻译为「异种收容所」之类意思,但我习惯称之为「动物园」。它的能力也非常有趣,除了游戏开始前可以将任意2张3费以下的护甲或科学卡牌加入牌库外,每次部署部队时可以从异种牌库中抽取一张牌作为自己的士兵、部署到任意玩家的战线上,同时将其能力更换为每轮可以替其他士兵抗伤害一次。这样有个很大的好处,就是降低了对士兵数量的需求,可以将购买士兵的资金用于购买装备然后对己方4路战线同时进行防守。万一抽到一只大怪,就赚翻了,不仅等于消灭了一个大怪,还可以为己所用,成为巩固防线的一道工事。
10
在 DBG 这个大类之下,无论是早期的《领土Dominion》还是前两年推出的科幻战斗主题《星域奇航Star Realm》,都是桌游圈的传奇产品。但是 DBG 的缺点也很明显,如领土,节奏过慢,几乎毫无代入感;如星域奇航,虽然节奏快了很多,但战斗过程颇为枯燥,并未脱离自「领土」以降的线性的「买牌、构筑、Combo」的窠臼。
《XenoShyft: Onslaught》则刷新了我的 DBG 游戏排行榜,结结实实的成为我目前玩过的最佳 DBG 游戏,甚至在合作类游戏里也能排到前三名。激动之下,慌忙去亚马逊下了一单《Clank!》,想尝试一下另一款传奇 DBG,看一看坊间流传的将 DBG 与 Rouge Crwaling 完美结合的游戏到底是什么样,它和《XenoShyft》相比,二者谁能更胜一筹呢?


最后贴一下我定制的一款《XenoShyft》牌垫,我玩卡牌游戏喜欢做牌垫,在网络上找到素材后,直接淘宝定制一个,3天送达,相比基础包自带的纸卡牌垫来说,体验好了不止一点点。素材来源 BGG。
13

Tagged : / / /