普通人会编程,能为工作带来哪些优势?
大学期间一直做程序员打零工,不过因为贪图钱财,毕业后就转行然后再也没做过全职的程序员。从事过的职位依次为:管理咨询顾问、投资人、产品经理以及互联网公司业务负责人。坦白说,大学期间的程序员经历以及掌握的编程技巧为我之后的每一分工作都带来巨大优势。在大部分地方,都被加上一个独特的标签而被老板及各位同事传送,“xx 届里最会编程的,编程届里最会 xx 的”。(xx 等于我所在的工种)谦虚地说,这个高帽有时候我是不敢带的,毕竟咨询公司和基金里经常混着各大名校的 CS 科班毕业生。自认为我最大的优势是,善于用编程解决问题,哪怕糙快猛。
提升工作效率
一直以来有个信念,凡是遇到人肉重复做了三次的同样事情,就要想想能否用机器来代替。这种机器带来的自动化可以帮助各个领域,包括:
小而美系列:增强 Word/PPT/Excel 等的 Office 系列,之前的回答里已经说过很多了,通过程序实现 Word/PPT/Excel 之间的数据同步、自动画图以及财务报表自动配平等等。
暴力美学系列:群控制打印机,群控路由器,群控手机,群控微信等等。
曾经有一段工作需要老换办公室且又经常打印文件,结果时常需要跑到离座位非常远的地方拿打印出来的文件,或者每次打印前都要仔细选择最近的打印机。最后在忍无可忍的情况下,对办公室所有的打印机标识了地理位置以及 IP 端口的地理位置,做出一个程序能够自动选择最近的打印机出纸。其实后来想了想,查文档写程序的时间,或许比这些走路的时间还要长,而且人就是这样胖起来的。还有个案例,就是利用树莓派加程序控制分布在广东全省的数个工厂宿舍的路由器开关,节省全省奔波管理路由器的成本。
在程序的帮助下,无论做什么工作,工作效率都是像飞一样,于是迅速产生如下优势:
非常容易赢得团队、上级以及合作部门的认可,在公司建立个人品牌。如果性格再好一些而且愿意帮忙,很容易达到花见花开的地步。
因为利用程序做了许多简单重复的机械工作,因此有大量的时间进行思考,往往对待工作有新方案和新维度,更容易产生“磨刀不费砍柴功”的神奇效果。
开阔思路
懂编程的人,在实现方式上会少束缚因此更敢于用别人想不到的数据以及想不到的算法来实现。
做咨询的时候,面对呼叫中心的流程和菜单优化的项目,咨询公司的传统思路就是用户调研,定量的问卷调查和定型的用户深度访谈。而作为有编程能力的我,第一思路是:用户流程的全埋点,然后分析用户的每一步动作,AB 测试,全样本分析。从结果以及成本都是吊打咨询的传统模式,带着一个程序员完成整组人加上数百万调研费用才能完成的项目。
下图是对各个流程的剖析,全量数据细分到各个转化环节及核心指标。
下面是对呼叫中心新菜单的分析(这个类似于今天对网页及 App 的各种 UI 的优化),实现了整套的转化漏斗。
做投资的时候,别人分析基金之间的关系都是靠感性和模糊的印象。而实际上却可以利用基金过去的投资记录以及 SNA 算法完成如下的分析。
生成的基金图谱大概如下图。
基金图谱之间的变迁关系如下图:
做产品经理的时候,因为懂得编程,设计各种功能和交互方式往往更加没有约束而善于狂想。因为对编译和打包过程的链接,于是设计这种暴力美学的方法来简化用户体验,方便用户做病毒营销。
为了激励用户分享 App 给朋友,往往会提供一定的激励给分享者(即“上家”),但是收到分享链接并完成安装激活和任务后的朋友(即“下家”),往往还需要输入上家的 ID,才能完成绑定关系。但是这一步往往因为大大增加了上家和下家的沟通成本,大幅降低上家的分享意愿以及降低最后的分享率和绑定率。为了省掉这一步,设计并完成如下的步骤:
上家一旦发起分享流程,服务端开始为该上家打包编译生成独立的 APK 包(APK 包中含该上家的用户 ID)
自动同步 CDN 和发布该上家自有的 APK 包,生成对应该 APK 包的短链接 第一步在 100-200ms 内完成,第二步在 10s 内完成,整个过程不超过 10s。下家下载和安装后,自动完成绑定,最终的上下家绑定率提高了一个量级。其暴力点在于:为每一个分享的用户生成独立的 APK 包和下载链接,并且在每一步(无论是编译,还是 CDN 同步)优化到极致,用最少的时间。
增强情报
利用程序写爬虫找数据能够在各个工作中增强情报能力。因为其实大部分商业相关类的工作,都是在利用信息不对称或者信息时间差赚钱。
做咨询的时候,经常用爬虫获取电商数据洞察消费品行业的变化,而不是傻傻得去买报告或者找内部的 Research 团队去查年鉴。在用户理解和维护,抓取各大电商的评论及销量数据,对各种商品(颗粒度可到款式)沿时间序列的销量以及用户的消费场景进行分析。
做投资的时候,写程序做爬虫抓取各大基金人员新浪微博的数据(那个时候的新浪微博还很活跃而且数据很开放),根据他们的新增好友看看他们最近接触了什么公司以及创始人,方便自己第一时间发现火热项目。同时,也爬取各个应用市场,对各个 App 的发展情况进行跟踪及预测。
提供超级支持
做产品经理的时候,因为会编程,让技术同学又爱又恨,但是无论哪样情感都是加快产品的推进速度,对事不对人。
恨。技术经常说,这个东西实现不了。我就会说,可以实现,应该这么弄那么弄;如果还不行,我自己回去实现,几天之后给你源代码和接口。
爱。长期起来负责正则表达式和复杂 SQL,只要程序员来找,有求必应。
做投资和咨询的时候,因为会编程,基本承担起半个 IT 的职责。
总之一句话,革命一块砖,哪里需要哪里搬。依靠这些编程技能,去到哪里都能够迅速融入团队,而且带来别样的增值,有时候甚至是一个全新维度的增值。
在20世纪,中国的青少年没有机会接触电脑,所以中国没有出现比尔盖茨和乔布斯那样的风云人物。如今,电脑在中国已经普及到了千家万户。
先人一步学编程,让孩子离未来更进一步。孩子非常善于吸收新知识,掌握新技术,让他们早早接触代码非常有必要。比尔盖茨、扎克伯格、乔布斯,他们都是从小学就开始编写程序了,从小就开始编程思想的培养和编程技术的积累,为他们后来成就大事业奠定了坚实基础。
编程可以锻炼孩子的逻辑思维能力和创新能力,同时又可以锻炼其建立、完成和管理项目的能力。诚然,并不是每个孩子长大后都会成为一个程序员,但是,作为一个家长,如果你能引导自己的孩子试着边玩游戏边学编程,交给他们学习的途径和方法,是不是倍有成就感!正如麻省理工学院教授Mitchel Resnick所写的,学习代码也是认识科学的过程。