一个(在读硕士 and 程序员)的吐槽

2013-05-12 20:06:34 +08:00
 flewover
不知不觉间研究生的生活已经过去了9个月,又到了春暖花开的季节,校园里飘荡着各种各样的花香,北京的白天很热,可是到了晚上,空气渐渐凉爽,校园里很安静,夜色如水,很是心旷神怡。于是我想写一点东西,一些压抑在心中很久的事情,说白了,就是吐槽。

文章中在提及很多细节的同时,会做出一些避讳,我并不想有针对性的指责、质问,更多的是陈述,所叙述的一切仅仅是我个人的经历,难免片面。也欢迎大家讨论,给我提出批评和建议。

首先介绍一些背景,我现在是北京的一所大学的硕士研究生,软件工程方向,导师是博导,研究方向是数据库相关的安全和测试,并已经开始转向云环境下的数据安全和相关测试。背景介绍完毕。

开始吐槽:

1. 实验室的项目。关键词:陈旧,华而不实,奇妙的项目合作和背景。

最近实验室在和中国软件xx中心合作,一个很大规模的项目验收,国家核高基的那种项目,这次验收基本涵盖了实验室十多年来的绝大多数项目。我也参与其中,多少有了些了解,所有验收的项目有不少共性:第一就是所有项目成果为一个可以直观演示的工具;第二就是每款工具去除了一个只能运行在windows的ui表层之后,其背后的原理很简单,绝大多数工具提供的功能是对数据库不同形式的访问、功能验证、应用接口验证等等,性能测试就是依照TPC组织的各种标准,不同形式的跑sql;第三80%的工具使用.net开发。

上述的所有项目,基本在我本科入学前后(2008年)都已经完成了,也就是说,近两三年实验室已经没有做什么新的项目。因为上述所有项目都是基于传统DBMS的,而现在实验室的方向已经转向云环境。这几年,老师领着同学们看了很多篇论文,开组会大家大谈特谈Hadoop,Mesos,BigData,分布式,云计算。。。。。。然而至今,没有搭建任何的分布式基础平台,没有集群,没有实验没有海量数据,甚至,实验室里基本没有人工作在Linux/Unix环境下,他们都喜欢windows。

其实,去年下半年,实验室是有一个项目的,合作的另一方号称有着中x部的背景,然后合作开发了一款xxxx人员管理软件,最主要的功能是员工信息统计、层级汇总。导师在开组会的时候,多次强调:“这个项目要好好做,建立好关系,以后开展更深入的合作。”呵呵,这种有趣的外包工作,有点技术含量也好啊。

导师曾和我们语重心长地谈过,“你们看,这项目都是这么接下来的,一定要保持好合作。他们提出了问题,我们一定要及时解决。”确实,导师和xx部委、xx厂商的合作一直很愉快。

实验室里的学长学姐们平时倒是蛮清闲,读读论文,做做报告,而且实验室的娱乐氛围也很浓厚。

2. 实验室的技术背景。关键词:缺乏管理,落后,空谈

这个专业美其名曰软件工程,但是却从不使用svn,git,实验室里所有项目传接(学长毕业了,要把项目留给学弟,继续开发或维护)都是文件夹直接复制的。虽然部分项目是有使用版本管理的,但仅限于原始开发者,实验室没有统一的环境,直接把团队协作的效率降到最低。这不得不说是管理上的问题。

实验室没有内部交流平台,没有团队wiki,不使用任务管理工具。

每周的常态是老师布置论文,同学们读论文,每一两周开一次组会,组会上介绍论文,讲ppt。论文+ppt,是导师最喜欢的组合。

讲一件小事,有一次我在学习erlang,被导师看到了,导师说:“不用关注这些细节的实现,注意掌握基本原理和基本方法。”

我有给导师写过一封匿名信,信中涉及到管理上的问题,包括代码管理、任务管理、交流平台等等。也谈到了一些技术的选择,我希望研究能落到实处,我建议实验室多关注开源。已经过去3、4个月了,这件事不了了之了吧。

我一直幻想,可以在实验室的代码库里学到东西;实验室有一个nb的开源项目,我能参与其中。

3. 关于科研。关键词:虚假,敷衍,拾人牙慧

实验室的项目和科研虽然有联系,可事实上有些尴尬,因为联系太微弱了。科研没有给项目提供基础,项目也没有来有力的支持科研。于是,很多所谓的科研变成了应付毕业的差事,变成了为了论文不得不进行的夸夸其谈,变成了把别人的研究成果拿过来恰当的做一些修改。

我亲身经历过一周写出来的论文,一周时间用来码字,做实验和采集数据。我见到了一篇论文做了简单的增增减减、英文换成中文、中文换成英文换个地方再发一遍,实验过程、数据、结果都完全相同。我有和一位学长聊过,他说“论文的真谛是先把内容写出来,实验放到后边来做,能做出比较好的结果最好,做不出来也可以糊弄糊弄一下。”

总结:

写写停停,写的时候在单曲循环一首古埙曲,周子雷的“千年风雅”,很好听,沉郁顿挫,心情难免有一些沉重。

我和身边很多同学聊过他们的实验室、项目和科研,聊过他们对科研、对项目的看法,幸福的实验室都是相似的,不幸的实验室各有各的不同。有一位朋友曾对我说:“你想想你的导师已经50了,已经是教授是博导了,他不会再像年轻时候那么拼命的做项目做科研。”是啊,我确实有些理想化,中国的大环境总会把理想和现实拉开很远。

我以为,不从实处着手,就不要妄谈科研。计算机科学,离不开工程实现。而核心价值观的冲突,不可避免的导致了这一切。

所幸的是我自己喜爱开源,有很多自己喜欢做的事情,不至于浑浑噩噩,无所事事。

人生如梦,一尊还酹江月。
7979 次点击
所在节点    程序员
48 条回复
leiz
2013-05-12 22:13:40 +08:00
中国软件xx中心 目测是 中国软件评测中心
onesuper
2013-05-12 22:39:49 +08:00
http://blog.liulonnie.net/?p=3310

曾看到过这样一篇文章,希望对你有用。
hewwcn
2013-05-12 22:58:15 +08:00
研二下的程序员路过。
面临的情况跟LZ差不多,跟了一个都说比较厉害的导师,但是做的项目都是没有技术含量的东西,然后,每周跟企业交流一下需求,改改代码再提交,导师每月发一点补贴。
而且有些学长的毕业论文确实是写出来的,不是做出来的。
不说了,说多了怕人肉
ljbha007
2013-05-12 23:09:51 +08:00
这种地方呆着是浪费时间 退学吧

不过如果真心想干点事情出来 在哪里都一样
likuku
2013-05-12 23:13:36 +08:00
想想就算了,认真就输了。。。

要明白目前中国教育的目的是什么,不是培养科学家,不是培养工程师,更不是培养人才,要培养什么,请参考「少先队员之歌」。
sharpnk
2013-05-12 23:41:44 +08:00
很难理解当你经过了本科四年摧残之后如何还对国内的研究生教育抱有不切实际的幻想。
hourui
2013-05-13 00:42:13 +08:00
认真就输了. 的确是.
在这种大环境下, 除了自己努力外别无其他捷径.
atom
2013-05-13 01:27:28 +08:00
深夜发布中,仿佛看到了三四年前自己的影子。

如果换一个角度,读研实际上是时间换空间。或者说,给了你一个相对较为悠闲的时间,但是你的师兄师姐没有用它来换空间。
一定要出去实习,你在北京,机会很多。你的导师看起来不像是轻易放你出去的那种,一定要磨。

我就后悔读研没有出去实习,做什么实验室项目。我虽然比师兄师姐厉害,但是没有一个比较好的交流环境,缺乏营养。

出去实习你会看到正规公司的做法。
然后你就会思考,自己到底喜不喜欢开发这件事。
如果喜欢,你会在毕业前挑到一家自己喜欢的公司。
如果不喜欢,你会在找工作前考虑转型,发现自己的新天地。
sinxccc
2013-05-13 04:36:44 +08:00
我觉得楼主对科研的理解还是有偏差,科研活动发展到现在已经很职业化了。读大量的 paper 是为了了解当前方向的前沿和发展轨迹。做成 slides,讲给别人听是为了增加理解,读过几遍到真正看懂,真正看懂到能讲给别人听,能讲给别人听到能让别人听懂,能就这边 paper 的 idea 回答别人的提问之间都有不小的差距。这基本是每个做研究的人必须要学会,熟练的东西。

至于学术界的工程实现,只是为了验证自己或者别人的 idea 而已,跟企业级的开发根本就不是同一回事。楼主想通过读研究生接触到专业级的代码库,参与到大型开源项目,学到团队文化我觉得基本是缘木求鱼…

其实无关理想和现实,即使是在美国,我见到最拼命做研究的都是拿到终生教职之前。一旦拿到 tenure,除非是真的热爱科研,否则也是各种懒散。我见过最夸张的一位教授每学期只教一门本科的课,其他大部分时间就自己做提琴玩,连 PhD 都不带…
alexrezit
2013-05-13 06:53:16 +08:00
这就是为什么我本科都没耐心读完.
这就是为什么我给很多人建议过不要招软工的研究生.
这就是为什么我给很多在上高中的朋友建议过不要报软工.

楼主, 长教训了吧?
ted05
2013-05-13 08:16:56 +08:00
哎。才考上hust的软工,下学期过去。我觉得也不至于这么不堪吧,对我来说,总会学到一些东西,研二出去实习,可以多练手。
hanf
2013-05-13 08:40:25 +08:00
楼主还很清纯啊,希望楼主不要丢掉了这份热情,不论外面怎样。
我只能对楼主说,都这样~~
wy315700
2013-05-13 09:50:17 +08:00
读研就是给你充分的时间去研究自己感兴趣的东西,这种时间等以后工作了就再也没有了的。
趁这个机会,多看看书吧,尤其是人文哲学方面的书,提高一下自己的修养。技术类书籍以后工作了可以看,但是人文方面的,以后就没时间没精力了。
workaholic
2013-05-13 10:00:02 +08:00
哥,知足吧,你还没看到《一个(在读博士 and 程序员)的吐槽》呢
cyfdecyf
2013-05-13 10:05:32 +08:00
想清楚自己想要什么,然后选一个适合自己的导师很重要。

我硕士期间换过导师,最后找到了适合我自己的。可惜本科时不知道这一点,也没有找到合适的途径了解导师的信息,导致在之前的导师那里做自己没有热情的事,走了一些弯路。不过鼓起勇气向老板提出走人这样的经历对我来说也是个收获。
dxmtb
2013-05-13 12:04:04 +08:00
君子不器
不满足现在的方式,又没有决心去改变,怨不得别人
无论科研还是工程都有牛的地方,不要把所有实验室都想得那么浑浑噩噩
再说在国内期刊发的中文好意思叫论文?
shanks
2013-05-13 12:15:18 +08:00
我觉得国内大部分大学的科研环境确实令人心寒,即使211,985也不见得好到哪去。

但是个人觉得也不能一概而论,读研关键要选对学校和老板。一个好的mentor感觉比学校更重要。

我觉得读研唯一的好处就是给了我们更多的时间去钻研一些自己感兴趣的技术,夯实基础(考研的过程更甚)如果只是想混文凭的我感觉完全没必要。。。特别是IT这行。。
Ricepig
2013-05-13 14:34:12 +08:00
搞科研和做工程是有很大不同的,虽然确实也有公共部分。有些paper做出来只是说明了一种可能,或者甚至是在某种不合理限制下的优势,这些结果,有些实用,有些不实用,有些在很多年后才“有用”。大家一起看ppt是一种很普遍的研究方式,对参会的大家都各有帮助。
此外,各种信息系统也是一种无奈,就不说我国这种人情社会需要项目沟通人情。在国外大学,老师们也是靠各种项目来给自己发3个月工资的吧(学校负责9个月)。当然这都有个度,舍本逐末就不对了。
LZ首先要搞清楚的是,科研中的科,是Science,偏重于理论,而不是技术、更不是工程。虽然说理论很大部分来自于实践,但是研究方法还是有很大的不同。就如你说的erlang学习,如果你不是研究计算机语言设计或并发,我想并不需要详细地学习语法,而确实应该如你导师所说,偏重于基本原理和基本方法,这才是科学的本质,其他都是工程。
另外,关于工具的问题,管理的问题,LZ的抱怨的内容是普遍存在的,确实是不足。但是通过lz的叙述,反而让我感觉到一些无力。一代又一代的研、博都在反复地抱怨这些事情,但从来没有想想怎么力所能及的改变一些。其实这些内容,是可以通过自己的努力做一些改变的。此外,没有代码库、没有开源项目、没有这个那个并不是你学不到东西的原因,只是学东西不是如你所想的方式罢了。那些修修改改、翻译而来的论文,也未必没有可以借鉴之处。你的教授你的博导,也是从你这个年纪过来的,他未必不明白你现在的想法。

最后,还是一句话,事在人为。你完全可以
- 找两个同学,自己形成一个小组
- 自己架设svn,任务管理,wiki等,组内坚持使用,并告诉其他同学,同门们
- 多和导师沟通,告诉他你的想法,当然注意一下自己的语言。无论为了论文、为了业绩,你有新点子导师还是会非常乐意听到。即使实现不了,导师也会告诉你限制在哪
- 组内开始一个开源项目,并坚持下去
- 不要抱着偏见去听ppt,阅读论文。而是始终想想,如果是我来做个课题,我会如何做的更好。

共勉吧,呵呵
qiukun
2013-05-13 15:43:50 +08:00
@alexrezit 贵院不错了。我院技术相当落后。

其实 lz 只是活得下去所以没啥想法罢了。
也没有足够的爱。
经过六年摧残,我用了近一年才接近重新找到对 Math 和 CS 等等的爱。

我们这有一个小组,做大一的作业,用 git 管理代码,又用了多线程,居然还能用 c 写图形界面。够不够励志哈,楼主?
julyclyde
2013-05-13 16:35:32 +08:00
不用版本管理工具是高校项目的普遍现象
长期他们不接触一线,没文化

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/68597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX