`
handspeaker
  • 浏览: 64813 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一篇文章,值得反思

阅读更多
 大概几个月以前,在学校论坛上看到了这么一个帖子:
原文如下:
若干年前,当我吭哧吭哧的学会HTML,CSS和ASP,会点SQL和JS,能独立做动态网页,去找工作时,被人一声猛喝:ASP这种10年前就淘汰的技术还拿出来找工作,现在都是.NET,知道什么是.NET?我不知道,灰溜溜的离开了。
回来后,我买了大量的C#,ASP.NET,ADO.NET,挑灯夜战,终于略有小成,对ASP.NET的各种控件,页面生命周期,事件管道等弄明白,能很轻松用.NET开发中小型网站、应用程序时,去找一个兼职,见面后,对方就给让写一个复杂的连表查询SQL,顺便让写动态切换图片的js,当没达到对方的需求后,抛给我一句话,连js和SQL都不会的人还开发WEB,我脸红的走了。
回来后,我发愤学习SQL和js,当我很轻松能写出存储过程,知道JOIN和LEFT JOIN是什么差别,索引的利弊,各种查询不用翻书时,能清除SQL缓存,进行查询对比,进行SQL优化还能能独立写小段的js代码时再去那家公司时,对方告诉我现在谁还用SQL,为了方便面相对象代码维护,都用ORM,用过吗?
我回来了,借了本LINQ,吃透了里边LINQ TO SQL ,顺便也学了如何实现TABLE MAPPER,自己也写了一个简单ORM。我觉得自己可以了。去另外一个WEB开发公司想找个实习生,那人看了一下简历,ASP.NET这种东西谁用,笨重、不开源,环境还不免费,用不起,想来这里学PHP吧。
我听了后,回来又借了5本PHP+MYSQL的书,有前边的积累加上PHP的简单,很快的就能用PHP+MYSQL做差不多网站了,期间还接了两个小活赚了5000,做了一个开源的相册。
接下来我想找一个创业公司找个兼职锻炼下,对方说他们是要建高性能站点,我不符合,回来后,寻人问己,找到一本符合要求的《构建高性能WEB站点》,努力学习后知道什么事负载均衡,如何软件实现,什么时候采用硬件实现,知道了分布式缓存,分布式文件系统,知道主从数据库,会用Memcached,会使用数据表的垂直分、水平分,学会反范式设计,顺便还学习一致性哈希,知道了分布式系统不能同时满足一致性、容错性、可用性三要素等前沿科学。
再后来……,再被鄙视的过程中,我学习NoSQL MongoDB顺带一个简单归档系统,学习企业级软件架构,知道MVC,MVP的区别,知道SOA,学习WCF,深入过设计模式,能看懂UML,知道对称不对称加密,写过一个RSA传递密钥程序,知道SQL注入、XSS攻击怎么防范,还学过富媒体,PhotoShop。
如今,别人看了我的简历,你会这么多,怎么没有精通,有用吗?答道:我确实不行,真的很佩服又些人从C,C++,C#,SQL一排精通。
今天又一个二面,你研究过LINUX内核吗?看到令他失望的回答后,来了一句,搞计算机的,连操作系统系统内核都不研究还搞什么IT,临走时来了一句,只要你弄懂LINUX随时来我们公司,我恐怕一辈子都去不了。

中国IT企业只能说要的是超人,不是人,什么C,C++,C#,设计模式全部精通,几十人的公司张口就是百万,千万PV的网站,不知道下一个公司会不会问你实现过大数据量的的MapReduce没?有时我只想说,我只是个学生,放我一马。
 
谈谈我自己的感受吧。
第一,国内某些IT公司的功利性和目光短浅。他们只知道基于别人的技术开发一些产品,没有也不想拥有自己的核心技术。很多时候,公司要的只是一个聪明点的码农,并不需要真正的有创造性的研发人员,因此,这就造成了一个问题,招聘的时候,很多公司都会问:会不会c++或者有没有java编程经验?应聘者答道:有or会。OK,公司要你了,因为他们只需要一个码农。他们只需要一个会编程的人,他们不想过多培养你,更不想做一些真正的研发。真正的研发是什么?是像很多跨国大公司一样的研发中心干的事情,不是去直接做产品或者说不是所有的产出都是产品,而且对一些科技领域做前瞻性的研究,未必有用,但是很有可能其中的一项对未来会有深远的影响。国内的一些中小型IT公司没这个钱,但是很多大公司不是没钱,而是没心思这么做。因此,这就造成了前面我说的结果,公司只想招一些会某些技术的人,能尽快的给公司带来产出。作为学生,当然要不停的追赶公司对于技术追求的脚步。可是,最基础的一些科研能力,例如:数学、算法、专业能力都被忽略了。

第二,作为一个学生,应该想清楚自己要做什么,而且一定要淡定。现在的技术那么多,没人能学完,而且,纵使你以后工作了,也不可能接触这么多技术。我的个人看法是,一个学生,尤其是研究生,最需要提高的是自己的研究和学习能力。这指的是,怎样更好更快的去学习和研究一项技术或科技的能力。不会不重要,重要的是怎样快速的掌握。这不是空谈,举个例子:研究生只有两年半,你可以不停的去学习C++,做C++的相关项目,但是,如果你一味的拘泥于C++这项技术,对其他的技术没有兴趣,对科研没有兴趣,这可能对你的工作短期内没有影响,但是对你的未来有深远的影响。因为,当你做到某个高度时,你会发现天花板,就是技术和科研之间的天花板,编那么多程序还不是实现别人的算法,实现别人的架构。可是“别人的算法”你从来没有研究过,因此,你永远也不会达到指挥别人编程的高度。诸如信号处理、信息安全、机器学习、数据挖掘等前沿学科,至少要学习并亲身去深入研究过。技术+科研>>技术,技术+科研>>科研。做一个复合型的人才。以后才有更大的发展空间。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics