本文来自于国内最早的一批生信爱好者,如今已经是行业内的资深人士,教学、科研和临床多面开花。本文是这位前辈给与大家的良药忠言,尽管话题有点沉重,但仔细品位会受益无穷。
作为一名在生物信息和数据挖掘领域培训深耕了近10年的“老教师”,
我曾经参与过线上录播、线上直播、线下专场等多种形式的培训和交流课程近百余场。10年前,很多公众号还都没有出来,一些比较早的科研公众号也都没有专注于数据挖掘和生物信息,所以,我属于相当早的在网络上传播生物信息知识的那一批人。在各大公众号和传播平台做过主讲老师,讲授过二代测序、R语言、科研绘图、公共数据挖掘、单细胞等一系列课程。在此期间接触了大约有数万名各种各样的学员,大部分学员是有科研需求的研究生,然后是一些有想法的年轻PI,还有一小部分是年纪比较大的博导或者老师。每位学员的都有自己的性格和背景,所以,在跟这么多学员交流的过程中,我也学习了很多,同时也让我对一个问题产生了深刻反思:
我们的教育到底怎么了?
很多人都知道,生物信息是一个新兴的交叉学科,在我们的科研项目中扮演了不可或缺的角色。但是,这门学科中的很多技术不是那么容易就掌握的,可以说,很多来参加培训的学员,本身的基础都不是非常的牢固。这个是可以理解的,毕竟我们的本科专业不同,不可能要求大家对编程、算法、统计各方面的内容都有所了解。
所以,我会在每次在授课的过程中,从最基础的开始,尽量使所有的同学都能够跟上进度。此外,每次课后,我也都会通过线上或者线下的方式帮助大家去解决一些技术问题,但是我发现,不管我答疑多少次,依旧收效甚微,
同样的学员遇到同样的问题,一样还是会不停地问我
。这时候,我总是会问自己,是我讲的有问题吗?还是我解答问题的方式有问题?
直到有一次,我反问一位学员,我说:“
如果你身边没有我在,你觉得这个问题应该怎么解决?
”刚开始,我有点担心会收到学员的差评,说我为什么不直接帮他们解决问题?但是结果证实,这种方法居然有“奇效”。基本上所有人被我问了之后,都会自己想办法查阅资料,搜索答案,检验解答方法,最终解决问题。然后,非常开心地给我反馈说:老师,问题我自己解决了,而且出问题的原因我搞明白了,以后再遇到,我自己也能解决。这个时候,我能够深切地感受到那种自己解决问题的喜悦与收获知识的满足感。这样的时刻反复引发我的思考,也促使我,今天写下这篇文章:
作为一名研究生,你还要事事都让别人帮你解决问题吗?
据权威部门统计,目前我国研究生的人口比例只有千分之六点二,即6.2‰,也就是100个人当中,连一个人都没有,差不多是200个人才有一个研究生,研究生真的不多。
然后我们再看看博士研究生,话说,读研一般都能正常毕业,但是读博士,毕业压力很大,因为我们面临论文这样的硬指标。根据统计,我国当前的博士生数据比例,仅仅万分之五点七即5.7‱,是什么概念?如果你面前乌压压地站了1万个人,这时候你振臂一呼:“博士生站出来”,这个时候只有不到6个人能够回应你,少吗?真的少!再换另外一种方式比较一下,我国的千万富豪的比例是13.4‱,相比之下,博士生的人数比千万富翁的人数还少!如果你博士毕业了,恭喜你,未来很大概率会成为千万富翁,因为博士比千万富翁要少了一半。
前段时间有个很火爆的文章《博士学位真的那么重要吗?》,这篇文章里有句话非常打动我。原文作者的博士生导师给作者解读博士学位的意义:得到博士学位不是终点,不代表你以后能比别人成功,但
博士学位能代表的是,只要你愿意,你可以做好这个世界上几乎所有的、有技术含量的事情
。
因此,我始终相信,能读上研究生、博士生的人,学习能力应该要强上很多。从小学到初中,再到高中,毫不客气的说,我们接受的一直都是被动接受知识的教育模式。老师讲,我们听,遇到不会就提问。可是到了大学,很多人开始不适应,因为老师不再像以前一样“强迫”着我们去学习,于是很多人开始放飞自我,这样的例子太多,大学中自甘堕落的人数不胜数。到了研究生阶段,更不得了了,我们发现,老师“不见了”,研究生阶段,每周或者每月开组会的时候能见到导师几次,导师给我们制定了科研计划后,人就不见了,平时都是“放养”状态,如果你不自觉,不自学,你会发现毕业真的很难。
从事培训的过程中,让我接触了很多人。有人给我感觉就是非常主动,爱提问题,也爱解决问题。但是也有人是滴水不进,无论讲过多少遍,他脑子里就是进不去,关键还没有自学的激情,我相信要不了几年,这两类人之间的差距就会是天壤之别。所以,这个问题憋在我心里很久,特别是看了上面的那篇文章中对博士学位的定义,我觉得对研究生的培养,最重要的、最需要培养能力就是“
自己学习,解决困难
”的能力。
说到这里,我也想跟大家聊聊我的学习历程。讲真,我不是生物信息专业出身(我们那个时候很少生物信息本科专专业),我跟很多学员讲过,我其实是临床专业毕业的,后面进入科研领域之后,认识到生物信息的重要性,开始自学之路,整个学习历程,可以说是异常艰辛。那个时候没有各种各样的学习班、网络教学资源,全部靠自学。
我的第一本书是Perl语言的小骆驼,现在依然放置在我的书柜中。依稀记得,第一次print hello world时的喜悦,学到文件句柄时的困惑,以及耗费一周时间写的第一个超过100行的计算程序被我四处炫耀时的得意。很多人做事做人,只图一个“快”字,恨不得短短几天时间内把所需要的知识都装进脑子里。殊不知,所有的学习过程都是艰难的,每一个台上闪耀的大牛,背后都是没日没夜的刻苦煎熬。直到现在,当别人问我一个临床医生为什么写程序写的这么好时,我可以毫不客气给他看我电脑上写过的20多万行代码。所有这些知识,靠的都是自学。没坐过几年冷板凳,想要高人一头,纯属痴心妄想。
以上是我看过的所有编程的书,最开始是Perl语言(因为我开始学的时候,Perl在生物信息里面用的很多,全球编程语言排行榜在前5的位置),单Perl的书我就看了3本,从小骆驼到大骆驼,那是基础最差,学的最慢的时候。后来,开始意识到R语言的重要性,R语言看了4本半,不到5本(最后一本《R语言实战》太厚,迄今没有完全看完,作为工具书存放),期间因为涉及到二代测序,要用服务器,看了《鸟哥》。这时候,基本上可以独立写一些小型的程序了。再后来,觉得Perl开始衰退,R语言在统计中独占鳌头,但始终不是正角儿,开发于是,看着TIOBE排行里面,Java始终第一,再加上那段时间很迷《硅谷》这个剧,觉得想学习一下Java。于是看了《Java语言程序设计》两本,基础和进阶,感觉Perl和R相比于Java这个巨无霸,确实是有点简陋。再后来,由于开发网页工具的需要,开始涉及网络,从前端的H5、Bootstrap,再到js、mysql,加之前面一直在看Java,所以就又学了Java Web。不过后来,看着Python日渐风起,而且Django又如此便利,又投入到Python的怀抱。林林总总,仅编程的书,加起来看了要15本以上。从编程小白,到现在自己开发桌面应用和网页工具,我在里面投入了巨大的心血。
对于所有的初学者来说,Debug(解决报错)是每个人的必经之路。只有自己解决问题,才会有最深刻的印象。举个最简单的例子,我写的第一个Perl程序,因为搞混淆=和==,我Debug花了一个星期,直到现在,我在课堂上,每次讲到比较操作符,我都要反复跟同学强调两者的不同。
每当学员问我问题的时候,95%的问题我都能一次性解决,答案都在我脑子里,为什么?因为我当初也曾遇到过同样的问题,没人帮我解决,只能自己求助网络,自己测试解决方法,直到问题解决。同样的问题,你来提问只需花费数秒,我来答疑,只需几分钟。可是,最初我遇到解决这个问题时,可能花了几个小时搞清楚里面的原理。如果,求助别人解决了,知识依旧是别人的;自己想办法解决,虽然耗费点时间,可是知识就变成了自己的。
当然,作为宠粉狂人的科研猫团队,我们还是觉得有责任把一些经验分享给大家,方便大家查找解决问题的方案:
1、全能的解决方案汇集地: