作为一个互联网工作者,我虽然不是真材实料的工程师,但也是离工程师最近的工种了——PM,最近刚好有时间,所以大概花了一个月左右的时间,拿到了 Udacity Full Stak 的 degree 和 吴恩达目前所有的 AI 课程。
觉得过程挺有趣,对一些同学应该也有借鉴意义,于是来写写一下心得体会:
一、先回答一个问题:
都说产品/运营不一定要懂技术,你怎么看。
这是要一直存在的一种看法,就是,「产品经理不用了解技术细节」,于是网上才有了这个段子:
我自己不是技术科班出生,所以这种观点天然对我有吸引力。但是随着工作的深入,我的观点发生了一些变化和反复。目前我对这一系列问题的基本看法如下:
1、产品和运营不需要是技术专家。
2、产品和运营需要知道技术的可能性,和边界。只有这样,才能提出切实又切中要害的功能点。了解技术的边界,并不是多看看虎嗅,36Kr 就能知道的。最近 AI 大行其道,在一些产品看来,似乎变成了万金油,做产品规划时,随便臆想,但是不了解代价和收益,就无法做出合理的计划。
3、技术问题有时候比狭义的产品问题更基础。比如你的应用或者网站,访问慢,又老挂掉,这时候,产品使再大的劲儿也无济于事。最近发现很典型的是 Airbnb,他们的网站在我家的网络访问下,永远慢的出奇。所以如果你是一个广义的产品或者产品运营,就应该了解哪些问题更基础更重要,在做规划时候,应该留出空间,让大家解决这类型的问题,而不是一味的加功能,做活动。
我反对技术人员告诫产品「你不用了解技术」,某种意义上,这是对自己安全领域的戒备,另一方面,也并不利于未来产品和技术双方的更融洽的沟通。
所以跟我说这个的同学,我内心都会报以一个礼貌而不失尴尬的微笑:
二、再来说说这段旅程的切实收获
1、当然是获得了两个 degree,倒没有什么实际的好处,但是从自信心上,有被暗示,自己已经 qualify 了。这对我这种一直比较紧张的人,是不错的鼓励。
2、更深刻的理解了技术人员的痛苦,以及理解了「好技术」的价值。在这之前,总在神秘化技术和简单化技术两个极端内游走,并且无法体会,好工程师的真正价值。
3、能够真的动手做一些小工具,提高工作效率。比如我之前写每日商品精选的时候,排版和抓图/信息,就是自己写的 python 脚本完成的,之前自己排版很痛苦,要 2 个小时,现在基本上 2 分钟搞定,自己只用找到 url 就好。
三、这次旅程的路径。
在开始前,并没有严格的规划。但在中后期,我开始对自己要学什么,有一些思考过的规划。尽量完整全面的让我对自己工作中遇到的各个技术工作,有个细致的了解。
Udacity(计算机导论)——Udacity(Python 入门)——Udacity(Full Stack Degree)——Cousera 吴恩达 AI 系列课程。
分别来说:
Udacity 的计算机导论,非常好,满分推荐。整个课程下来,有对计算机历史的回顾(比我们中小学课本里讲的有意思多了),涉及到历史上很多重大机器的发明,其中还包括图灵的密码机。整门课程是用 python 讲解,最后用 python 把搜索引擎和一点点基础的排序索引算法很浅显的在讲讲课,做做题中完成了。
Udacity Python 入门,一般好。主要是 Python 的一些基本语法介绍,其中会让你用 Python 做一个小没有样式的网站,但是我最喜欢的还是用 Turtle 工具画画,反复训练了各种循环。
Udacity 的 Full Stack,一般好。付费,大概是 900 一个月吧。课程内容比较老,但是胜在全面,让你对前后端服务器有比较基础的认识,每一课都有一个作业,从 HTML,CSS,到数据库,JS。大作业是让你用 Flask 做一个增删改查的 Catalog,以及用 Knockoutjs 做一个定制化的 google 地图。用 Flask 好评,但是 Knockoutjs 有点太过时了,资料不多。付费的好处是,你的作业会被很认真的 review,还有 codereview 哦,老师会说你这个地方写的不够好,不够优雅,对你写得好的地方,也会给赞。
Cousera 吴恩达的 AI,整体来说,我觉得非常赞。吴恩达讲的浅显易懂,作业用的 Jupter Notebook,而且作业里会对项目的要求和原理做讲解,重在让人理解过程,而不在于让人去进行繁琐的计算。
目前这系列课程的第一门,讲的是 Deep Learning 的基本概念和算法,包括 逻辑回归,一层训练,和多层训练。第二门,讲的是针对算法调优,涉及结果调优,以及效率调优。第三门,针对算法的系统框架设计,所以作业也是给出了具体的 Case 让你分析,而不是写算法。
四、这次学习的一些个人化心得。
1、有一个原初的项目动力很重要。
很多时候,成年后不继续学习的主要原因是,学习没有即时生效的好处。学生时代有考试等着你,某种意义上,促使了人按部就班的完成课程,但是工作后,掌握了技能 A,B,C,D 似乎都很难让人短时间内升职加薪当上总经理,于是基本就耗费掉了。
我也一样,不过唯一不同的是,我之前坚持写一个公众号,号里的排版,找商品信息,非常痛苦,我曾经雇了个小编辑,帮我找图,排版,但是发现还是太低效。当时正在上 Udacity 的计算机导论,所以想着能不能自己写一个脚本,来完成。
当时我上完了 Python 基础,然后用了一周的时间,看了很多 python 抓网页信息的书,然后居然被我搞定了。不得不说,这是一个相当大的激励,虽然这个脚本很烂,效率也不太高,但是对我来说足够用了。
后续学 Full Stack,是想自己做一个微信小程序,学 AI 和小程序相关,想着马上就要来的双十一,能不能不再人肉推荐,而是先跑一遍活动商品,再过滤,又高效,又准确,这也是我的动力。(好吧,我其实也把学完了就奖励自己出去浪作为一个 desert,所以一拿到 degree,立即开始筹备去英国的计划了)
2、直切重点
在上吴恩达的课程之前,我认为是自己是不够格的。所以犹豫了很久,一度准备先在 Udacity 上学一个机器学习入门再开始。但是后来还是鼓足勇气先去 Cousera 上注册了,然后硬着头皮开始。没想到效果奇好,期间断断续续听过 Udacity 上讲机器学期的课程,但是都不如直接听吴恩达的 Deep Learning 有效。一方面 Udactiy 上的课程有点老,二方面,我个人觉得吴恩达讲的非常好,深入浅出,要点明确。
虽然过程中也有比较吃力的时候,但是遇到不懂得,当天晚上睡觉前再搜搜网上文章,就会大致更有谱一些。
事实证明,这种直接奔着目标去的学习方法,是最有效率的。世事也是如此,奔着直接目标去,大不了中途补课而已。
3、学习方法
我学习的办法很猥琐,每次都是用 2 倍速快速的看完课程,看不看得懂另说,大概记得这节课说了什么,然后直接前往作业区,理解作业,再回过头去看视频。一般来说,这类课程中,作业要求你完成的,大多在课程里的核心。
非鸡汤部分:
我不认为迅速拿到这些 degree 全因为我用了我介绍的方法,我不想神化这个过程。我在上面没说的还有一些我个人的一些隐性优势,比如:
1、我在互联网工作多年,一些技术的基本概念和问题,以及解决问题的套路都很熟悉,比如什么是 API,什么是 json ,什么是算法,什么是异步请求,没实际写过,但是基本上是什么内心有个概念。最近几年,面对刚开始工作的工程师的时候,在他们解 bug 时,常常能给出还比较靠谱的尝试办法。
2、我的 SQL 能力还不错。在豆瓣工作时,基本上都是自己查,在阿里,数据库更复杂,也是自己查。所以 Full - Stack 里面有相当一部分对我来说非常轻松。
最后,我做的产品工作一直和推荐算法、数据有关。
我想真的聪明的人,不会完全照搬我的经历,但是可以从我的描述里,获得他们想要的部分,而去规划自己的学习计划。
看完此文,你有什么想法或观点呢?欢迎在留言区留言评论。
更多精彩
“
程序员提升外观丨王小波程序员丨我会编程丨七夕表白丨程序员最高殊荣丨程序猿(媛)CP丨祭天丨Python歌词丨特斯拉丨程序媛丨直播丨鄙视链丨敲代码丨404丨结婚丨Facebook丨怎么进BAT丨女友日记丨高逼格指南丨计算机专业丨技能干货丨九寨沟地震丨编程习惯丨陆奇演讲丨自救指南丨周鸿祎谈创业丨
”