从明天起,让我们做一名调包侠

原文首发于我的微信公众号:GeekArtT。

从明天起,做一个幸福的人,喂马、劈柴,周游世界,然后做一名合格的调包侠。不再基础设施上纠结不已,而是在前人的基础上,进行地春暖花开。如果你是一名摄影师,你不用再考究各个光学元件的组成,不用再为光线的昏暗而烦恼,而是迎接PS的新世界,将所有的精力放于更富创造性的构图上。

绘画的艺术,是最早的优秀工程实践。以草图为基础的技术方法论,是一切工程的基础。素描老师教授的第一课,便是先着眼于整体性框架的勾勒,而不要在细节上精雕细琢。等到大物件的位置、构图都相对确定的时候,再一步步深入细节,让画面丰满起来。这种经典的从宏观到微观的工程技术,是控制复杂度的基石。

那么,对于AI,machine learning这样的新技术,极为容易被复杂的数学原理和漫长的公式推导所迷惑。这样的复杂度,既令人生畏,也让人着迷。因为一旦形成成熟的解决方案,似乎便没有了任何门槛与屏障,一切显得来平淡无奇。于是,为了保住自己的光环,便会更加沉迷于基础设施的复杂性,而忘记了更为重要的宏观运用。这就好比是做素描时,沉醉于各种纹路的勾勒,而对于草图的直线、切面显得不屑一顾。因为这些切面和直线是那样的简单,甚至让人羞于一提。

然而,这里就不知不觉进入了另一个陷阱之中。像那流传的故事,“剪去一根导线只会耗费1美元,知道在哪里剪需要99美元。”所谓的没有技术含量的直线与切面,会因为其恰到好处的落笔点,而价值千金。同样的,学习AI、machine learning的目的并不是为了复杂而复杂,其根本性的使命在于解放生产力、发展生产力。如果我们只顾沉醉于这些新技术的基础建设,而对应用层面的组合不屑一顾,就无异于本末倒置。

事实上,从人的客观认识规律来讲,你应该先成为一名调包侠。它有助于你抛开细节的枷锁,清晰地为一个现实目标搭建框架。你可以腾出更多的精力集中于解决方案的设计,而不是在基建设施上停滞不前。这些现成的程序包,能够为你快速地搭建起可以提供反馈的实验模型,让你通过实践来启发更多的思路。

从明天起,让我们做一名出色的调包侠。请更加细心地观察工作生活中的痛点,然后开阔思路,运用现成的程序包来做一些尝试与改进。以此来发挥出machine learning真正的威力。你应该因为成功地解决了现实问题而欣喜,而不是因为将细枝末节搞得来更加晦涩而兴奋不已。

每个阶段有每个阶段的使命。如果是一门新生学科,你不得不做非常多的基础性工作来为未来的几十年做准备。这个时候对细枝末节的高度关注并不是毫无意义,因为这是这一阶段无法逃避的必做性工作。而如果过渡到下一个阶段,在开源社区的精心呵护下,已有的基础设施已经基本齐备。这个时候再重复去构筑基建设施,将会付出高昂的机会成本。这一阶段的使命与任务,已经变成了如何巧妙地运用现有平台来真正解决自己的问题。

不要过度关注伪问题,把元问题当做护身符而拒绝接触现实,拒绝了解生活。而是要反过来,认清楚、辨别出生活中真正需要解决的痛点,然后考虑应该运用哪些工具去解决。不要拿着锤子去找钉子,而是要先认清楚了这是不是钉子,再决定是否要用锤子。

如果你喜欢我的文章或分享,请长按下面的二维码关注我的微信公众号,谢谢!

时间: 2024-10-27 20:28:00

从明天起,让我们做一名调包侠的相关文章

做一名程序员需要学哪些知识

问这个问题的人都该打,先拖出去,赏一丈红~ 如果你是计算机学生或者意欲从事IT行业的人,那么再仗50大板!! 为什么?因为你肯定想都没有想过这个问题,一个典型的伸手党,这对于从事计算机的人来说是大忌!!且看下面这2个主要原因: 1)程序不可能一帆风顺,如果有这个时候,那么你可能在做梦,总会遇到各种各样的问题,难道你每次遇到问题都张口问“哪个大牛,来帮我看看这个程序什么问题吧,怎么老是提示错误呢?”,如果真的是比较复杂的问题还好,大牛看过之后替你解决了,自己也更有经验了,如果是差一个逗号之类的问题

如何做一名优秀、甚至卓越的WEB前端工程师

程序设计之道无远弗届,御晨风而返.———— 杰佛瑞 · 詹姆士 我所遇到的前端程序员分两种: 第一种一直在问:如何学习前端? 第二种总说:前端很简单,就那么一点东西. 我从没有听到有人问:如何做一名优秀.甚至卓越的WEB前端工程师. 何为:前端工程师? 前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业. Web前端开发技术主要包括三个要素:HTML.CSS和JavaScript! 它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的基础

浅谈如何做一名优秀的WEB前端工程师

浅谈如何做一名优秀的WEB前端工程师 随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及,前端开发这个行业也开始备受关注. 前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢.Web前端开发核心技术主要包括HTML.CSS.JavaScript等.HTML仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言.当然可以勉强算作弱类型语言.Javascript 的基础部分相对来

做一名程序员需要学哪些知识?

问这个问题的人都该打,先拖出去,赏一丈红~ 如果你是计算机学生或者意欲从事IT行业的人,那么再仗50大板!! 为什么?因为你肯定想都没有想过这个问题,一个典型的伸手党,这对于从事计算机的人来说是大忌!!且看下面这2个主要原因: 1)程序不可能一帆风顺,如果有这个时候,那么你可能在做梦,总会遇到各种各样的问题,难道你每次遇到问题都张口问“哪个大牛,来帮我看看这个程序什么问题吧,怎么老是提示错误呢?”,如果真的是比较复杂的问题还好,大牛看过之后替你解决了,自己也更有经验了,如果是差一个逗号之类的问题

关于【做一名软件测试工程师,需要具备什么】的我的看法

在软测考试前的几天,我在知乎上看到一片很有意思的问答:做一名软件测试工程师,需要具备什么? 在看网友们的回答之后,我也有了自己的想法... 首先整理了一下其中几个我觉得较为好的网友的回答在这里同大家分享: 网友:陈晔,测试业界打杂第一人 一.知己识人所谓知己就是清楚的认识自己,什么才是对自己最重要的.就测试这个职业来讲,我认为自己得到什么,学到什么才是最重要的.很多人看到这里可能觉得是正确,这种大道理谁都知道.但是平时呢大部分往往,嗯,保证产品 质量,保证公司企业的质量.但是有多少测试做的事情是

MySQL 动态sql语句执行 用时间做表名

1. 描述 在使用数据的时候,我时候我们需要很多数据库,而且想用时间来做表名以区分.但是MySQL在存储过程中不支持使用变量名来做表名或者列名. 比如,有一个表我们想以"2015-07-16 12:00:00"命名. 2. 解决方案 如果只是更换一个普通的表名的话,很简单,直接使用下面sql语句即可: alter table old_table_name rename new_table_name 但是要以时间为表名,动态命名的话就不可以了.首先我们可以用NOW()函数获取系统当前的时

做一名合格的软件使用者

每消费一款免费的盗版的产品,就意味着向充满创意的世界又远了一步,因为连别人的劳动成果都不懂得尊重的人不配享用产品的盛宴.在满足于这些不义之源的小便宜的时候, 这个人将逐渐丧失用自己努力去挣得的MONEY享受正品的权利和能力,丧失与那些充满创造力的作者进行深度交流的资格,因为使用盗版软件会在你内心产生深深的自卑感,让你不能真正自信坦荡地去体验软件所带来的乐趣和便利. 虽然盗版势头很猖狂,不可能在短期内改变.但我们有能力去做自己能够做的事情.在我们开始使用一款赏心悦目.方便易用的软件之前,请略微多做

MYSQL存储过程中 使用变量 做表名--转

原文地址:http://blog.csdn.net/business122/article/details/7528859 今天写一个对数据库做快照的存储过程,用到了动态表名,突然发现MYSQL不支持直接使用变量做表名,GOOGLE了下,采用以下方法: DECLARE dbName VARCHAR(30); SET dbName = 'aaa'; SET @STMT :=CONCAT("CREATE TABLE ",dbName," SELECT id from gamedb

C++使用major做变量名的问题

[问题描述] 1.文件test.cpp,使用major做变量名的完整代码如下: 1 #include <fstream> 2 3 struct Header { 4 int major; 5 6 Header(int mj) 7 : major(mj) { } 8 }; 9 int main(){} 2.在g++ 编译时,会产生如下错误: DevNet_30_56_sles10sp1:/data/ackhan # g++ test.cpp test.cpp: In constructor 'H