如果让程序员写上海高考作文题,你打几分

587 阅读6分钟

导语:人最大的需要就是“被需要”。

文/ limber

编辑/ 龙哥


程序员如何“被需要”?


看到刚出炉的上海 2018 高考作文题,我就一直在想这个问题,“被需要”这三个字,戳疼了忙在一线机器学习研究的我。整天叫着“这个怎么办啊?”的我,正在需要别人,也正在被需要。


想到一些高中生写的代码、写的论文已经那么好了,这个世界正在残酷惩罚不改变的人。你会发现突然有一天,一个少年模样,在你的领域上教你要怎么做才能work——白发不如小生是第一等折磨。



没有人是一座孤岛,一个人会被需要,一群人也会。我们有两种彼此平行的需要:一种是与能力无关需要,另一种是能力本身。上次你打电话给你爸妈的时候,嘘寒问暖很多,被需要是一种幸福。这个需要无关能力。但是除了这种需要还有需要你的世界,需要你能力的世界。



被小白需要



对很多大佬来说,刚入行小白可能会是你的包袱,而你对小白来说其实不仅仅是个手艺师傅。因为他们想向你学想弄明白很多东西。小白需要你能carry,假如小白们资质不差,他们很快会成为你的助力,不说独当一面总会自己处理一些小事然后从此小事他们做主了。


小白们需要的不仅仅是你的能力,更希望遇到一个很棒的老师,各方面是他们奋斗的目标。我朋友在奥格威实习的时候,带她的老师是一个很冷静而优雅的人,穿着十分有品位。看到老师优雅的捧着一本设计集,礼貌而富有逻辑的回答,她跟我说,“看到他了吗?我未来要成为像他一样的人”。我在实习时,毕竟是做Research,不敢、不会是日常。有一次和老板一起做一个项目,我看了十几篇paper给出好几个模型——不过这些模型都不work。而老板接过我的模型,哗啦啦的跟我讲了一堆,边说,边写模型,而后一个模型的雏形很快的就出现在眼前,十天半个月解决不掉的东西,十分钟之内解决了。


和大佬合作是最有冲击力、最能学到东西的时候。和大佬聊一晚上论文,对未来的走向和算法、工程上的感悟约等于啃一本大教材——感觉自己学习的时候开了挂,然后默默去写轮子。我有的时候不理解为什么有的Master写代码、看论文那么痛苦,仔细想了下还不是因为我有个好老师,他用心教。


实力是你的本钱,你可以选择飞扬跋扈、敷衍了事的带小白,也可以做一个“我要成为他那样的人”的Mentor,得有温柔心。



被行业需要



你是大佬时,除了carry小白还有工作本身,你本身就是这个行业的推动者。小白发现的问题多是知识问题,是几句话的事。问题没有主动出现,你就得自己去找。一个分析师得从看似和谐美好之中发现问题,这问题当然不是找茬。更多的是你对你手上的工作的洞察力,主动的发现问题和解决问题才会有主动性。


每个领域每个地方都是如此,最先发现【不一样】或【本不该如此】并且给出一个可能性。如今神经网络、Data Driven已经打遍天下了,神经网络的基础算法【反向传播】已经给出了足够漂亮的solution了,Hinton自己想革自己的命,让大家质疑【反向传播】的合理性。虽然目前反向传播还是打遍天下,但是毕竟有了个开始,一切也都会不一样。


去年有个朋友问设计大师 Donald Norman 对 Generative Design 的看法。



科普:Generative Design把各种传感器往设计目标上放,跑各种测试,从最后得到的参数(例如能耗、采光面积、阻力等)通过调整参数而【生成】一个即合理又美观的设计。


Donald Norman 一脸懵逼的表示没关系过 AI 对设计的影响。当时我心里很不是滋味,毕竟他是Norman!这个世界突然就不一样了,突然大师变成了一个好学的小学生,我们在给大师喊666的时候,也会叹息廉颇老矣。Stay Hungry, stay foolish才能好一些。


今天00后上高考考场了,那个在中学期间就接触大数据、人工智能的高中生要来了,拿着计算图问出【前辈我要如何优化】的声音越来越年轻了,明明在同一行业甚至同一方向,却开始听不懂后辈们问的问题了。




被世界需要



举例我最熟悉的深度学习领域,Deep Learning火起来和Tensorflow、Keras这些框架密不可分。喊【年轻人玩儿的第一个深度学习框架】我认为毫不过分。如果能够把一些常用的东西整理好做成工具,对整个领域的冲击是非常的大,当然你也可以选择不开源,选择把工具框架做好,然后给公司,毫无疑问的加速的萌新的上手速度。


同时框架的升级也倒逼了同行们的进化,框架越做越好,迭代的速度也会越来越快,不久以后就是一个开天辟地。我曾经和PyTorch的主要贡献者Yangqing老师聊过,问他做PyTorch有什么感觉?——“改变世界的感觉”。PyTorch确实一定程度的改变了世界,我相信Keras的作者也有类似的感触。


最近Node的作者开了新坑,改用Go做底层,我们相信【砍掉重来】的勇气能带给我们新的惊喜。当然也有人是这样的:



Deno 的目标是不兼容 Node,而是兼容浏览器,ry老爷子估计是想拥抱浏览器生态,也算是一个比较大的飞跃。虽然Deno还刚刚开始没几天,还是一个Domo。但是大家不会忘记Node.js一出来的时候,宛如一个核爆一样炸开了。


虽然我听说有人想Node.js for full stack,大概意思就是一个Node.js把前后端全给包了,不过我还是觉得Node.js干掉后端有点扯。不过有一点已经达成了共识——从此前端能完全把控整个UI层了,并且前后端之间只需要通过数据来交互,把数据的处理交给后端,这种模型使得两方相互独立,各自都能够快速迭代开发,而只要保证数据接口不变,后端爱换啥语言换啥语言,前后端彼此之间都不会造成任何影响。


被需要本身是一种需要,得拿很多东西去做。当你被需要的时候,是你价值落地的时候。一代人会有相同的喝彩,但是世界越来越快,没抓住你就和世界有了代沟。