工作之后如何高效的学习?
接近1年不太顺心的工作经历
20年7月完成毕业论文答辩后,匆匆忙忙就进了职场。一开始对工作感到非常期待,刚入司的时候也是十分激动,准备大干一场,给自己定了一个小目标:弄出一个像Airbnb公司出品的superset
的数据分析平台,从爬取数据源开始,到数据加工可视化,并包含一些简单的机器学习分析。
因为本科研究生读的都是机械,所以在数据分析上,各方面技能都显得不足,于是拼命学习各种技能,数据分析的numpy, pandas, scikitlearn
,可视化的matplotlib, pyecharts
,后面还学习了搭建网站的flask, tornado
,前端的javascript, html, css, echarts
基础,数据加工的sql, sqlalchemy
等等——为了最后能做成一个像样的数据分析平台。
然而,现实总是那么的令人失望,领导不希望我去插手前端vue, react
的任何技术,组里也不需要开发这样的系统,pandas的价值也被否定了,因为大家都只会sql
,数据分析、机器学习更是没有需求。然后因为公司没有内勤懂C++
,我还被分去研究一个C++
的临时项目,项目也是巨坑无比,十年前的老代码,外包给别的公司做的,百万行级没有注释没有文档的代码,从win7
升到win10
终于挂了,甚至都没人说得清这个项目是干什么用的。
10月份完成了一个可视化的项目demo,完成转正答辩。没想到那三个月因为担忧未来主动996发奋学习的日子,竟然是我成长最快的一段时光,随后就进入了常规的报表和可视化看板开发,熟悉之后,便觉得无聊乏味,入职即巅峰。之后就陷入了迷茫的日子里,学了一些网上的课程,加入了一些社群,把大数据和数据分析领域摸了个大概,决定考虑数据分析这个岗位作为下一份职业,但因为和公司签了不能离职的保证合同,短期内也交不起违约金离职,就觉得未来还很远,一直没有动力去推动这些事情。
工作不太顺心,因为金融公司安全的原因,每天要输入几十遍账号密码动态口令,各种软件都不能装,有道词典,typora不让用勉强还能理解,notepad和UltraEdit也不让用,难道让我用记事本开发代码?笔记本配置也很可怜,其实就一8G内存+i5-7200u低电压CPU的上网本,配合公司的各种安全+水印+监控+扫描软件,卡成小霸王,好几次申请台式机也不让。时不时就搞安全考试,研发合规考试,签了一些保密合同不敢随便写博客怕惹麻烦,领导和同事们大部分时间都在低头玩手机,搞的我对技术基本上是失去了热情。工作饱和度极低,又不敢明目张胆地学习转型,21年的上班时间,基本都在研究炒股这件事情打发时光。
前行的动力
推动一个人前进的力量,通常有两种,一种是爱,另一种是恐惧。
最近听说了很多人离职的消息,也让我产生了很大的焦虑,如果我拿着现在的履历,在就业市场上能找到一份什么样的工作?很可能根本找不到工作,我认真整理了一下自己的工作,发现真的没有什么拿得出手的项目。
再深度一点思考,假如自己充分发挥主观能动性,调用起身边的资源,天花板在哪里呢?大约就是领导的角色,即“数据产品经理”+“管理者”,数据产品经理的能力圈取决于对数据产品的了解,而数据产品的需求本质上是由业务的需求和资金推动的,而现在因为“各部门自负盈亏”的考核指标,使得各部门都陷入了收缩的发展阶段,需求和预算都在不断萎缩,道阻且右。而管理者的身份,显然又离我甚远。
黯淡的前景,足以激发内心的焦虑和不安。
而真正的动力,源于对美好生活的向往。
这段工作让我感觉最美妙的,还是当初完成demo的那些时刻,以及后来开发出第一个看板的时刻,因为有挑战性,又能看到经过努力后自己的产品,所以内心非常满足。平时做的ppt,博客上的博文,剪辑出来的vlog视频,都让我内心觉得有价值感,所以我觉得那种能拥有自己产品的工作,才能让我内心感到愉悦。
加上后来和一些分析师的交流,让我觉得他们的思维很敏捷,生活也很有趣。
我希望自己10年后,更多和人交流,用思维和洞见构建自己的护城河,而不是那种戴着耳机坐在屏幕前敲代码的程序员,靠编程技术构建自己的护城河。
当然更直接的其实还有薪资,毕竟自己需要用钱维持基本的生活,也需要给父母和未来的家庭一个经济保障。
好的学习方式和习惯
工作后,我断断续续学了不少课程,也做了很多笔记,甚至还发了博客,但最后大多都忘掉了。
有时候,我也会安慰自己,学过的那些东西,虽然想不起来了,但他们其实还在记忆深处,等你下次去挖掘的时候,他们自然会出来。
可现实就是,很多东西,可能永远都不会去挖掘,甚至连想都想不起来,而眼下的事情又是如此繁多,也根本没时间去炒冷饭,把过去的那些东西复习一遍。即便真的把那些东西炒热了,又有什么用呢?既然没用,那干脆就不去管它,久而久之,就真的忘了。轮番几次的挫折和信心打击,连学习的热情都搞没了。
根本的原因是因为,学了之后没有去应用,或者找不到应用场景,始终处于一个被动的学习状态中。
美国学者埃德加·戴尔(Edgar Dale)提出过一个叫「学习金字塔」(Cone of Learning)的理论。
可以发现,传统的教育都是上面的这种“填鸭式”教育,我们去阅读教材、听老师讲课、看视频学习,然后做笔记,甚至连汇报都很少,然后,就没有再进一步学习了。
而更好的方式是主动学习,把学到的东西讲述出来,和别人讨论,然后实践落地,甚至做成教程。这些方式之所以有效,是因为在这个过程中,能激发出更深层次的思考,你不思考都不行。
想象有两个学习场景,第一个场景是学习sql、python、机器学习算法、分析思维,第二个场景是分析一下抖音为什么能火,背后的推荐系统到底怎么做。
面对第一个场景,应该说每个人都知道怎么做,很简单,买书买教程,然后看书看视频,完了做做笔记,看看例题会做的就做做,不会的就算了。这就是大部分人的学习状态,如果弄个漏斗分析,甚至会发现100个“热爱学习”购买书籍课程的人里,80个人都没看完就去刷抖音追剧打游戏去了,只有20个坚持看完,10个人做了笔记,5个人做了例题,最后只剩1个人在思考怎么应用。
而面对第二个场景,应该说每个人都能扯上几句,但很少有人能有理有据地分析出原因,不知道具体要怎么搭建推荐系统。但是只要有兴趣深挖下去,就一定会接触到sql,python,机器学习算法和分析思维这些东西,这时候再去学,就很明确知道他的使用场景是什么,这些技术的价值有多大。
如果学习能直接从第二个场景出发,为了做一件有趣的事情去学习,其实就不存在“填鸭式”教育的那些困扰和痛苦。而事实上,我们生活中的大部分“学习”都是这种模式,比如觉得滑雪很酷,就会去滑雪场找教练学习,比如想去哪里旅游,就会去网上搜索相关的攻略。
如果能用这种模式学习,该有多好。
在这种模式中,目标一定是清晰明确且有吸引力的,比如为了跳槽找一份好工作,为了搭建出一个网站,目标对自己的吸引力,决定了后续学习的动力,如果目标不明确,那其实大可不必去刻意学习,因为学习的目的是为了解决问题,不要为了学习而学习。
在学习的过程中,一定要充分联想,深度思考。学习是个脑力活,而不是体力活,我之前在学习的时候很喜欢做笔记,觉得markdown笔记做完,思维导图做完,就大功告成了。后来发现没用,很快就全部忘记了,因为学到的这些内容都是点和线,散落在那里很快就被遗忘了,而只有经过深度思考,把这些点和线都串起来,才能有一个很好的理解。其实串起来也并不会记住多少细节,但这个时候会有个很感性的认知,就像你无法在纸上画出父母的容貌,但你一定能记住和父母在一起的许多美好片段,环境、面容、声音、味道、心情这么多细节,正因为被组织在了一起,所以才变得鲜明深刻。所以不要着急去做笔记,做思维导图,归纳和总结应该是在深入了解之后做的事情,不要在刚开始的学习中就做归纳总结的事情,大概率是无效的。
在挑选学习材料的时候,一定要选择一手资料,把基础打扎实,后续才有可能筑成高楼。如果一手资料确实太难,可以选择难度曲线稍微平滑一点的学习资源,等入门之后再切换到一手资料。在这个互联网非常发达的时代,其实真正好的资料反而不多,专栏、博客、微信公众号其实都不是很好的学习材料,看似的“干货”非常不系统,对真正的学习鲜有帮助,但胜在能满足快速学习的成就感,抵消学习的焦虑。
接下来的一些计划
最近在积极的准备转型数据分析。看了不少数据分析思维的书,sql和python基础还可以,机器学习算法过去就学了个皮毛,还挺混乱。
在极客时间上找到了一份很好的《数据分析实战45讲》,正好符合最近思考的主动学习的这种模式,先找到应用场景,然后再去补充相应的知识。
- sql方面,把牛客上的题目再刷一遍,第一遍只是通过了,第二遍更要讲究解法和思路,看有没有更好的解法,把所有的可能性都验证下,同时多看看一些面试中经典的sql题目,认真思考。
- excel和pandas方面,把他们放到同一个关系型数据的框架下,和sql进行对比学习。
- 机器学习算法方面,更多地放到项目里面拆解出来学习,多联想,多自问自答,手动敲一点源码找到对算法的感性认识。
- 分析思维放到具体的面试问题和数据分析报告中学习。
另外,在小飞象的群里立了个flag,要在6月19号前分享学习笔记,利用社交监督自己。
争取在这个夏天,成为一名数据分析师。