不是程序员而会编程为你的工作带来了哪些优势?

关注者
2,862
被浏览
420,121

74 个回答

收录于 编辑推荐 ·

强答一记:当过程序员,现任工种是CEO。

我觉得编程训练带给我的特点(其实有利有弊,但多数时候还算是优势)主要有这几个:

1. 碰到问题会习惯分析,提炼问题的维度,在脑子里想象一个解空间再去寻找解,最优解找不到找次优;

2. 希望事情尽可能可以量化,即便一个粗糙的量化也行;

3. 恨不得自动化一切,要是能有个程序替我上班我留在家打游戏就好了。

举几个我在非程序员岗上但是使用程序员技能或者思维来解决的问题。

一,我们公司有一个部门,因为业务需要,在近半年的时间里增加了不少人,但是也能感受到人均效率的下降。除去沟通成本不可避免的增加外,我能想到的一个因素是,会不会有不少同事正在从事他们不擅长的工作。给团队派活其实就跟往桌子上放东西一样——事情来了,哪儿空就往哪儿放,但时间一长桌子就会乱,这时候就得整理,把东西放在合适的地方,这样才能提升后续的效率。

于是我就找了部门负责人,和她梳理了业务需要的技能点,大致包括:专业能力、创造力、管理能力、责任心等等,每项业务针对不能技能点的需求都打了个分;然后类似的,给每个人在这些技能点上也打了分。这样一来,一项业务,和一个人,都可以看作在一个技能空间中的一个向量;通过计算这两个向量的距离,就可以判断什么人适合做什么事情。

直接调了科学计算包Numpy里的函数算的,没啥技术含量。


二,公司部门多了以后,开会是一个问题。所有部门在一起开会吧,肯定有人会觉得浪费时间;但是不开跨部门会议,很多信息无法同步,很多问题也没法暴露。

所以我想知道部门和部门之间的沟通需求和强度是怎样的,进而再看跨部门会议怎么开。于是我让人事去调查了部门间的沟通需求——每个部门最想听其他什么部门说啥,最想对其他部门说啥。

整理来的数据,捣鼓一下就可以构成有向图,做一个社会网络分析(Social Network Analysis),进而了解部门间信息流动的模式。

三,我们今年出了一本书,扇贝循环单词书·四级核心词汇

吹得还挺好的。


简单的说,就是一份四级考试的核心词汇表,采用循环记忆的方法让同一单词在书中以不同形式出现三次,读者看一遍全书就将每个单词主动学习3遍,同时加深对词汇拼写、用法的理解。

我写了一个程序,把词表输进去,从扇贝后台调取释义例句等数据,做些处理,输出所有文字内容,然后拿给出版社校验排版就出书了。

有人肯定会问,作为CEO,为啥还要自己写程序呢,交给工程师做不就行了吗?

主要原因有两个:

一,做这些事情,大部分时间是花在观察、发现和分析问题上,也是我的本份,写代码倒用不了多久(Life is short, use Python)。

二,相比工程师,我闲啊。

大学期间一直做程序员打零工,不过因为贪图钱财,毕业后就转行然后再也没做过全职的程序员。从事过的职位依次为:管理咨询顾问、投资人、产品经理以及互联网公司业务负责人。坦白说,大学期间的程序员经历以及掌握的编程技巧为我之后的每一分工作都带来巨大优势。在大部分地方,都被加上一个独特的标签而被老板及各位同事传送,“xx届里最会编程的,编程届里最会xx的”。(xx等于我所在的工种)谦虚地说,这个高帽有时候我是不敢带的,毕竟咨询公司和基金里经常混着各大名校的CS科班毕业生。自认为我最大的优势是,善于用编程解决问题,哪怕糙快猛。


1、提升工作效率

一直以来有个信念,凡是遇到人肉重复做了三次的同样事情,就要想想能否用机器来代替。这种机器带来的自动化可以帮助各个领域,包括:

  • 小而美系列:增强Word/PPT/Excel等的Office系列(参考知乎 - 知乎),之前的回答里已经说过很多了,通过程序实现Word/PPT/Excel之间的数据同步、自动画图以及财务报表自动配平等等。
  • 暴力美学系列:群控制打印机,群控路由器,群控手机,群控微信等等。曾经有一段工作需要老换办公室且又经常打印文件,结果时常需要跑到离座位非常远的地方拿打印出来的文件,或者每次打印前都要仔细选择最近的打印机。最后在忍无可忍的情况下,对办公室所有的打印机标识了地理位置以及IP端口的地理位置,做出一个程序能够自动选择最近的打印机出纸。其实后来想了想,查文档写程序的时间,或许比这些走路的时间还要长,而且人就是这样胖起来的。还有个案例,就是利用树莓派加程序控制分布在广东全省的数个工厂宿舍的路由器开关,节省全省奔波管理路由器的成本。

在程序的帮助下,无论做什么工作,工作效率都是像飞一样,于是迅速产生如下优势:

  • 非常容易赢得团队、上级以及合作部门的认可,在公司建立个人品牌。如果性格再好一些而且愿意帮忙,很容易达到花见花开的地步
  • 因为利用程序做了许多简单重复的机械工作,因此有大量的时间进行思考,往往对待工作有新方案和新维度,更容易产生“磨刀不费砍柴功”的神奇效果

亲身案例是做第一份工作的时候,第一个老板一开始特别不喜欢我,因为我们公司大部分员工都是名校毕业品学兼优的乖宝宝,像我这样经常发呆和吊儿郎当的实在太另类太不职业化了,而且别人平时都是开着Excel和PPT的界面老实干活,而我的操作界面永远都是IDE或者脚本编辑器,上洗手间和喝饮料的频率超高,每次离座电脑屏幕都是稀里哗啦乱闪一通。不过最后扭转老板评价的还是结果,靠程序生成的效率就是降维攻击,实力说明一切。


2、开阔思路

懂编程的人,在实现方式上会少束缚因此更敢于用别人想不到的数据以及想不到的算法来实现。

做咨询的时候,面对呼叫中心的流程和菜单优化的项目,咨询公司的传统思路就是用户调研,定量的问卷调查和定型的用户深度访谈。而作为有编程能力的我,第一思路是:用户流程的全埋点,然后分析用户的每一步动作,AB测试,全样本分析。参考回答(知乎 - 知乎)。从结果以及成本都是吊打咨询的传统模式,带着一个程序员完成整组人加上数百万调研费用才能完成的项目。

下图是对各个流程的剖析,全量数据细分到各个转化环节及核心指标。

下面是对呼叫中心新菜单的分析(这个类似于今天对网页及App的各种UI的优化),实现了整套的转化漏斗(感觉是不是很超前)。


做投资的时候,别人分析基金之间的关系都是靠感性和模糊的印象。而实际上却可以利用基金过去的投资记录以及SNA算法完成如下的分析,参考:基金恩怨情仇考(I) - 知乎专栏基金恩怨情仇考(II) - 知乎专栏基金恩怨情仇考(III) - 知乎专栏

生成的基金图谱大概如下图。


基金图谱之间的变迁关系如下图。

做产品经理的时候,因为懂得编程,设计各种功能和交互方式往往更加没有约束而善于狂想。参考回答(知乎 - 知乎),因为对编译和打包过程的链接,于是设计这种暴力美学的方法来简化用户体验,方便用户做病毒营销。

为了激励用户分享App给朋友,往往会提供一定的激励给分享者(即“上家”),但是收到分享链接并完成安装激活和任务后的朋友(即“下家”),往往还需要输入上家的ID,才能完成绑定关系。但是这一步往往因为大大增加了上家和下家的沟通成本,大幅降低上家的分享意愿以及降低最后的分享率和绑定率。为了省掉这一步,设计并完成如下的步骤: 1)上家一旦发起分享流程,服务端开始为该上家打包编译生成独立的APK包(APK包中含该上家的用户ID) 2)自动同步CDN和发布该上家自有的APK包,生成对应该APK包的短链接 第一步在100-200ms内完成,第二步在10s内完成,整个过程不超过10s。下家下载和安装后,自动完成绑定,最终的上下家绑定率提高了一个量级。其暴力点在于:为每一个分享的用户生成独立的APK包和下载链接,并且在每一步(无论是编译,还是CDN同步)优化到极致,用最少的时间。

3、增强情报

利用程序写爬虫找数据能够在各个工作中增强情报能力,参考热门回答(知乎 - 知乎以及知乎 - 知乎)。因为其实大部分商业相关类的工作,都是在利用信息不对称或者信息时间差赚钱。

做咨询的时候,经常用爬虫获取电商数据洞察消费品行业的变化,而不是傻傻得去买报告或者找内部的Research团队去查年鉴。参考超越咨询顾问的算力,在用户理解和维护:大数据改变管理咨询(三) - 数据冰山 - 知乎专栏,抓取各大电商的评论及销量数据,对各种商品(颗粒度可到款式)沿时间序列的销量以及用户的消费场景进行分析。


做投资的时候,写程序做爬虫抓取各大基金人员新浪微博的数据(那个时候的新浪微博还很活跃而且数据很开放),根据他们的新增好友看看他们最近接触了什么公司以及创始人,方便自己第一时间发现火热项目。同时,也爬取各个应用市场,对各个App的发展情况进行跟踪及预测。(顺便吹一下牛,这个自制的榜单很早就发现小红书App的快速增长趋势以及在年轻人中的极佳口碑)


4、提供超级支持

做产品经理的时候,因为会编程,让技术同学又爱又恨,但是无论哪样情感都是加快产品的推进速度,对事不对人。

  • 恨。技术经常说,这个东西实现不了。我就会说,可以实现,应该这么弄那么弄;如果还不行,我自己回去实现,几天之后给你源代码和接口。
  • 爱。长期起来负责正则表达式和复杂SQL,只要程序员来找,有求必应。

做投资和咨询的时候,因为会编程,基本承担起半个IT的职责,如:倒腾邮箱、整体翻墙等等。


总之一句话,革命一块砖,哪里需要哪里搬。依靠这些编程技能,去到哪里都能够迅速融入团队,而且带来别样的增值,有时候甚至是一个全新维度的增值。最后即使EQ不高,也容易成为大家愿意很爱交往的对象。


...更多文章请到数据冰山 - 知乎专栏

...更多回答请看何明科的主页