卖桃者说
池建强
极客时间创始人、墨问西东创始人
30376 人已学习
免费领取
课程目录
已完结/共 523 讲
第一季 (135讲)
第二季 (134讲)
第三季 (124讲)
第四季 (90讲)
卖桃者说
15
15
1.0x
00:00/09:19
登录|注册

第337期 | 朱维刚:数学是程序员必备的素质

讲述:池建强大小:8.53M时长:09:19
你好,这里是卖桃者说,今天和你聊聊我们的专栏作者朱维刚老师。
朱维刚老师曾担任阿里云资深产品与技术专家,目前是毕埃慕(BIM)首席战略官、副总裁,也是极客时间上专栏《重学线性代数》的作者。
他长期专注于云计算和大数据领域,自 2006 年开始从事机器学习相关工作,基本上每天都在跟“数学”打交道。一晃,14 年过去了。目前,他致力于建筑行业数字孪生的工作,希望通过人工智能技术,推动建筑行业进入“智慧建造”时代。
我前几天和朱维刚老师聊,他给我分享了一些有意思的故事和方法,希望这些故事和方法也能对你有所启发。

“很多问题归根结底都是数学问题”

朱维刚是 80 后,小时候,父母就一直给他灌输“学好数理化,走遍天下都不怕”的思想。
一开始,他只知道要学好数学,对数学能用在什么地方却没啥概念。直到进入大学和研究生阶段,学了工程数学之后,他才真正恍然大悟——原来数学可以用在各类工程上。
不过有意思的是,他觉得自己并不是特别喜欢数学,之所以和数学结缘,主要就源于好奇心。他说自己对什么东西都很好奇,总想看看它背后的原理,看来看去最后发现,很多问题都变成了数学问题。
在他看来,不管是学习什么,保持一颗好奇心非常重要。用乔布斯当年在斯坦福大学毕业典礼上给年轻人的那句赠言就是,“Stay hungry. Stay foolish.”

“任何复杂问题都能解决,就看你分解到多细”

2006 年年初,朱维刚开始从事机器学习相关工作,加入了 IronPort(后来被思科收购了)公司的 TDA(Threat Data Analyst)团队。不过那会他刚毕业没多久,并不知道自己做的是机器学习的工作,也根本不知道什么是机器学习,而且机器学习在当时各应用领域并不火。他想着工作和数据分析有关,就“上船”了。
当时,公司的主要业务集中在“反垃圾邮件”这个领域,他的主要职责就是每天分析全球大量邮件数据、人工打分类标签,并且写匹配规则来优化反垃圾引擎,希望能够阻挡更多的垃圾邮件。这个工作有点类似如今的数据分析师和数据科学家,基本上每天都在跟“数学”打交道。
不了解的人可能会觉得这些工作没啥大不了的,不就是每天看看邮件,根据设定好的规则给邮件打上 Spam 或 Ham 这类标签,以及做一些正则匹配吗?但事实并非如此。
摆在朱维刚面前的,有许多技术层面的挑战。比如,公司的产品面向的是全球用户,邮件内容包含了全世界各类语言,再厉害的机器学习分类算法,也很难做到语言的全覆盖。即便是放到今天,NLP 也有很长的路要走,更何况是 14 年前。咋办呢?
当时,他和团队主要从两方面来解决这个棘手难题。一方面,把问题层层分解,引入了反垃圾邮件的多层防御体系,多层过滤垃圾邮件,将一个个复杂问题分解成可以解决的小问题,也就是计算机常用的分治思想;另一方面,针对分类算法无法识别的内容,采用了部分用人工来分析数据,靠经验打标签的方式来解决,同时还搭建了机制把人工积累的内容转换成经验模型,最后反馈到机器学习算法中。
这段工作经历让朱维刚悟出了一个道理:任何复杂问题都能解决,就看你能分解到多细。就像马斯克做特斯拉、做火箭,这些看起来非常复杂的产品,其实都是把一个个复杂问题,层层分解到细枝末节的。
当然,遇到问题也要学会多角度思考。一个问题会有很多解决方案,不一定复杂的方案就是好的,有时候可能一个简单的数学公式,就能完美地解决问题。

“程序员和年龄没有关系,重要的是要足够专注”

后来,朱维刚又去国外工作了很多年,他曾带领国际团队主导比利时电信云 BeCloud,以及新加坡政府云 G-Cloud 的建设工作。
在国外工作的那段时间,对他最大的影响就是改变了他的思维方式。比如,他认识到程序员这个工作和年龄没有关系,重要的是要足够专注。国内经常有人热议 35 岁程序员,经常会拿程序员的中年危机做文章。但在国外,大龄程序员一抓一大把。
拿朱维刚当时所在的团队来说,整个团队除了他,全都是叔叔辈的,而且还都是大牛级别的。他现在都还记得,当时团队里最年轻的程序员是来自荷兰的弗雷德里克(Frederik),45 岁;年纪最大的是来自德国的弗兰克(Frank),60 岁。
和这些“高龄”大牛程序员们接触一段时间后发现,人家不仅工作效率相当高,而且解决问题和记忆的能力,都着实让人惊叹。
同时,国外的这段经历也让朱维刚认识到了,做技术是需要有产品思维的。更确切地说,技术人要把产品思维融入自己的血液里,变成自己的一部分。这样,技术人在理解需求时会更快、更准,看待问题多了一个角度,也能看得更广、更全。

如何有效管理时间?

最后,和你分享下朱维刚是如何做时间管理的,看看他的一天是怎么度过的。
他和很多程序员一样,都曾经历过 996、997,有的时候甚至还通宵工作。最近几年,他也总结出了适合自己的时间管理方法,他的作息时间很简单:
通常,他每天 5:00 就起床了,先是锻炼,然后再吃早饭,大概 7:00 左右到公司;
7:00-9:00 是他效率最高的时间段,他会集中精力处理有难度的事情;
9:00 之后就开始一天正常的工作了;
19:00-20:00 左右下班之后,还会再去锻炼一下;
睡前看一会书,顺便再梳理一下第二天的工作内容。
这就是他自律又充实的一天。估计你也发现了,不管他多忙,总能安排出来锻炼的时间,这点非常值得学习。现在的上班族都是一坐一天,不锻炼的话,各种身体问题都会找上门来。当然,锻炼非常考验一个人的自律度,如果你能坚持下来,形成习惯的话,就会发现自己不仅精力旺盛,专注度也提高了。
关于时间管理,他还根据自己多年来总结出的经验,分享了一个建议,那就是合理利用早晨安静的时间来处理事情。我们现在处于信息爆炸的时代,总会有各种类型的“杂音”来分散你的注意力,这就导致你的时间总是“碎片化”的,很难有整块的时间安静下来,专心做事情。
我也是如此,我一天的时间,大部分时候非常琐碎。但不管时间多“碎片化”,都要努力规划出一些整块的时间用来做重要和紧急,或者重要不紧急的事情,这样才能提高自己的效率。不过我和朱老师不一样的是,我的高效时间段是晚上到深夜。
以上就是朱维刚的时间管理法,它们不一定完全适用于你,但你可以结合自己的实际情况借鉴学习,找到自己的节奏和高效时间段就好。
最后给朱维刚老师的《重学线性代数》打个广告。这门专栏 7 月末刚刚上线,目前还在持续更新中,它能帮你获取完整实用的线性代数知识,并且掌握线性代数在多个领域内的实际应用。
数学这门学科和程序员的关系可谓是非常密切,甚至经常有人说“数学决定了一个程序员技术水平的上限,会决定一个程序员未来的发展潜力”。不过,在朱维刚老师看来,数学更多是扮演一个“工具”的角色,帮助程序员在实际工作中更好地发现问题、解决问题,它是程序员必备的素质
课已经安排上了,优惠口令也给大家申请到了,详细信息参见文稿。最后,能不能学好数学,就看你的了。
卖桃者说,明天见。
口令:MacTalk20
适用专栏:《重学线性代数
使用规则:立减 10 元(满 50 元可用)
有效期:8 月 18 日 00:00 - 8 月 28 日 24:00
(编辑:夏天) 
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《卖桃者说》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 诺言
    个人觉得,需要用到数学的才是程序员,用不到数学的都是码农(笑)。
    2
    6
  • 李洪亮
    越是复杂的问题,越考验一个人分析和拆解问题的能力。
  • Wizard
    有些程式問題使用數學可以很優雅的解決,有時候你還在想到底是要空間換時間還是時間換空間,數學好的程序員時間空間都省了。
收起评论
大纲
固定大纲
“很多问题归根结底都是数学问题”
“任何复杂问题都能解决,就看你分解到多细”
“程序员和年龄没有关系,重要的是要足够专注”
如何有效管理时间?
显示
设置
留言
3
收藏
55
沉浸
阅读
分享
手机端
快捷键
回顶部