分享

从公司招人看学校教育与市场需求的脱节

 心不留意外尘 2016-03-28

 

FROM http://blog.sina.com.cn/s/blog_5b1559190102w7qo.html
(2015-11-10 09:02:26)
 


负责科技三年,我就招了三年的人。因为公司前端后端啥都要干而且啥都需要人,所以啥岗位都招过,所以对现在大学生就业状况还算有点了解。

先说点大而空的。首先学校教育和真的脱节。。。招聘的时候,其实我也很想问一些比较有技术含量的问题,但是一般情况都会是这样的:

我:“哪门语言最熟啊?”

应聘者:“学校里学过C”

我:“恩,其他的呢?”

应聘者:“没接触过”

我:“额……用C写过最有意思的程序介绍一下吧”

应聘者:“计算器”

我:“额……学过数据库吗?”

应聘者:“学过sqlserver”

我:“存储过程接触过吗?”

应聘者:“不知道”

我:“额……

声明:我不排斥C语言,更不排斥sqlserver和所有Microsoft框架内的东西。

大部分学生给我的感觉就是学校教啥学啥,多一步不肯走。但是真要从事开发工作,不管是前端还是后端,这些东西肯定是不够的。我的理解是,程序员需要的最重要的能力是学习能力,核心技能是对语言的核心架构或者开发框架的熟悉。学校现在教的东西连MVC都很少涉及,对看文档,看框架这些软技能也没有系统的培养,所以……

刚刚纯是吐槽。我只是招人这么久有些郁闷,所以怨气比较大,大家可以忽视。当然又要声明一遍,国内绝大多数学校都是很好的,我遇到的问题应该只是个别情况。

好了,言归正传。选型。

程序员初分就是前端后端。细起来可以分很多,但是作为学生或者入门程序员选型不用分得那么细。

现在学校里的情况我了解的是教起来不分前后端,至少我没见过开前端工程师这个专业的。我见过的前端不管厉害的还是水的都是的自己学的或者工作后在单位培训的。后端的话学校里好一点的会教Java,更好一点的会教Java Web。但是一般也就是教一下简单的,能提一下SSH框架就算是很好了。Anyway,不吐槽了。总而言之,学校里教过的前端一般是简单的HTML+CSS。但是刚入行的同志们应该明白的是,前端是一个很庞大的体系,要学好不容易,学好之后能做的事很多而且很值钱……很值钱……很值钱……

说钱有点俗。不过事实就是,现在很缺优秀的前端工程师。现在合格的前端,月薪上万是很轻松的,真能到优秀级别的,或者说达到前端工程师价格的,20k~30k也都有可能。

那么,问题来了,什么样的前端是好的前端?

虽然我现在见过各种前端的分法,有UI、UE、前端设计师、前端工程师、交互设计师等等等等,但是其实除了BAT这些达到一定规模而且工作内容被完全细分的大企业,在小公司,特别在初创公司,前端最多只分两种:做前端设计的,和做前端功能的。简单点说就是:用Javascript的和不用Javascript的。当然绝大部分的前端都是两种都做。既要出页面,也要实现页面的各种功能和效果。

前端是一个很有趣的工种。如果是偏设计的前端,那么会要求你有很强的平面设计能力,至少要有一点平面设计的感觉,理解排版规则,色彩搭配原理,知道各种字体效果……也就是说它其实是一种偏设计的工种。(对了打个岔推荐一本书,《写给大家看的设计书》 by Robin Williams,推荐搞设计和前端的同学,或者想要做这两块的,都可以看一下,对设计的原理和逻辑讲的很清楚。)出页面的前端每天的工作状态会是:调排版,调排版,调颜色,调颜色,调字体,调字体……说实话有一点不太像一个程序员的工作。但是事实就是这样的,前端设计师的工作会偏向于设计,而不是开发。

而前端工程师呢,就是实现网页上那些酷炫效果的人。比如百度的“黑洞”效果(不知道的同学可以去百度一下“黑洞”关键词)。这个工种的工作就跟后端程序员没什么太大区别了,最多需要兼顾视觉效果。现在的JS已经发展到有MVC的程度了,然后基于谷歌V8引擎的Node.js直接就让Javascript跨过了前端后端的边界,基本处于可以一同Web开发领域的地位了。也就是说,学好JS,啥都能做……

可以想见前端工程师和前端设计师是完全不同的技术体系。现在国内我看到的情况是大部分开发团队都没有前端设计师,前端工程师兼着出页面,然后大部分页面的设计都是用开源框架实现。这个事情我是不反对的,因为我也这么干……问题在于国内设计能力强,又会写代码的人真的不好找,普通一点的做出来的东西肯定没有国外团队出的开源的东西好看(在这里郑重推荐Bootstrap,真的很好用,开源的前端框架。关键在于快,省事。如果是做个人主页、企业主页、博客之类对于效果没有太多特殊要求的站点的话绝对够用了。而且初学者能把整个框架搞清楚对前端能力也是一种提升。Github主页https://github.com/twbs/bootstrap,中文网网址http://www./)。

学习步骤的话,先别用框架,跟着W3School学基础(http://www.w3school.com.cn/b.asp)。对JS功能和各种语法有个大致了解之后,尝试实现一些简单效果(移动啊,变色啊这些简单的)。然后做一点高端的效果,我个人推荐初学者试试做一个幻灯片,自动/手工切换那种(就是天猫、京东这些购物网站首页最上面一大块那个轮播的广告位),具体怎么实现自己多想想,不行百度搜一下。之后就可以学学JQuery、JQueryUI这些基础性的库和框架了。学完这俩以后,可以再找一些开源的工具玩玩,我现在常用的有Stellar、FullPage.js,都能实现很酷炫的效果。效果都能实现之后就该回来看看文档了(这里推荐《Javascript权威指南》by David Flanagan)。你会发现其实JS很强大,远不止可以用来实现网页的动态效果。读完文档,就可以考虑学一下Angular、Extjs这些比较重的库了(我刚开始看Angular,回头有机会写点读书笔记)。然后之后就是有兴趣就看一下Node.js(再推荐一下《深入浅出Node.js》by 朴灵)。

好了写不动了,先发布,回头接着写后端的部分。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多