自学的“前端工程师”的尴尬

大家好,我有点问题向请教大家。

我是一名大学生,目前大三期末考中,还剩两科没考,明天就考最难的一科了。
但我还是带着强烈的意愿来这里提问题了——因为突然间我很困惑,关于我的自学之路

我爱前端,但是我不太精确地知道前端是个什么东西,或许这就是所谓的“门槛低,良莠不齐”的现象,也正好发生在我身上——我是自学的,我的专业没教这个,走进前端纯粹是强烈的兴趣。
我只能说我熟悉html和css,会Js,Jq的基础知识,能做点网站效果,交互啊,布局啊,整天都在捣鼓Firebug。但这显然不够,前端是一门伟大的学问,它能搭建一个世界,这也是我为什么喜欢前端的原因。

我自学了3个月,不算上这个紧张复习的一个月,仍然感觉自己不知道什么前端(必须重申,请见谅)。有一位前辈和我说,你倒不如可以先去接触一下其他东西,知识可以慢慢积累。看到那些招聘前端的信息,有什么Nodejs,Bootstrap,Angularjs,Reactjs,Express/Coa,还要有Github 什么的,还要会后台PHP!天啊什么鬼!!

我希望自己能够成为一个优秀,全面的前端工程师,而不是学了点Javascript,html,css满足于找工作就算了。在这里我想得到问题的答案:我该怎么处理现状,要往什么方向走,要学习什么?我需要一个明确的方向,在此先感谢前辈们!

先去复习了~

阅读 51.1k
12 个回答

哈哈哈 我也大三 正在期末考 还剩三科 今天考最难一科(放弃疗) 你是在大学城吗 如果是的话 那我们还是邻居哦

正文开始~~~

在大学开设的与计算机相关的专业,我认为比较多的是大众化的课程,如C、Java、数据结构等。虽然有的大学开设了网站开发或网站设计一类的课程,但是要想跟着学校的课程来学点实际的东西,觉得还是靠自己的兴趣自学比较靠谱。

我的兴趣方向也是前端,职业方向是朝着全栈工程师的目标努力。我是今年3月份在网易实习时,迫于工作需要,才决定往前端方向发展,在此之前,是自学了近一年的PHP,当然有接触到前端的基本知识,就跟你的状态差不多,只是熟悉html和css,会Js,Jq的基础知识。靠着对PHP的一点了解,自己做过两个网站来练手,目前均已上线。

一入前端深似海。我不是来告诉你前端是什么的,只是为你想要得到的答案提供一些建议。

该怎么处理现状,要往什么方向走?

对于你的现状,我觉得可以归结为两点:
1. 爱好前端,想成为一名优秀的前端攻城狮
2. 能完成基本的前端作业

这样梳理一下,其实你给自己定了一个方向了:前端攻城狮。你可以朝着优秀的前端攻城狮的目标去努力,坚定目标,为之付出。在我看来,技术过硬只是优秀的攻城狮的一个方面,so,除了技术,应该了解一下优秀的攻城狮对非技术能力的要求,如沟通表达能力等。对于这方面,Nicholas有一篇具有参考意义的文章:What makes a good front end engineer?

我想,知乎上有更多关于这方面的答案,题主可以去搜索一下。另外,作为即将离校的、步入职场的你来说,也可以好好考虑一下你以后的职业方向。如@qianjiahao 所说:

你需要一个合理的充实的计划,去规划你后面即将要做的事和要学的东西。

要学习什么?

如果放在10年,可能前端的要求就是html+css+js+jq了,但是,现在对前端的要求可高了呢。来,我们看图说话:

哈哈 一图胜千言。当然,这些难免有夸大之嫌,但你可以参考图上列出的技能,看自己缺什么。

提供一些建议:

  1. 提高原生js的能力:面试肯定是用得到的,对自身能力的提高也是很有帮助的。
  2. 学习一种MV*前端框架:如AngularJS
  3. 了解一门后端语言:PHP/Java/Python等
  4. 了解一下Node.js

前端这种科班不教学校不往业界输送的,你让人连自学的都不招,前端业界还要怎么搞下去,这日子没法过了。

好前端出挑的方式太多了。

有从前端做到后端能跟你从头到脚扒HTTP 1.0到2.0到SPDY的协议的每个字段的;
有啃得动Chrome源码,从协议到渲染在纸上给你画涉及到的数据结构的;
有能够一丝不苟追着CSS标准和草案挨个读个遍,认真做笔记考虑如何应用到实现的;
有到今天依然能够去组织实验IE7的渲染机制问题及绕过方式,源源不断地出全浏览器兼容的最佳实践的;
有入行几个月,就针对布局及可能的模式做出全面的总结的;
有熟读HTML5标准,钻研HTML的parser实现做XSS及其预防的;
有设计天赋超高,能给设计提出并实现你想都想不到的动效的;
有自己写出业界前沿的MVVM库的。(注意,能做轮子不过是这个列表中很小的一部分。)

前端现在在工业化的前夕,还有很多想象空间,大有可为。
让兴趣带领你去钻研想钻研的事情。如果你没找到,那么打好基础,广度优先地过一遍你在这个帖子能看到的东西,确定哪个可能是你的方向,或者更好,你对其中一件事情产生了好奇心,不琢磨透不罢休。

前端怎么做,声音太多啦。我不准备做那个告诉你什么重要什么不重要的人。
但凡有脑子会自省的人,都会在业务中找到自己的方向。
等等,我们还是小学生啊(咦),哪里接触得到实际业务。
那就做啊,学软件工程的时候我们也意淫需求做各种管理系统,最后还不是摸爬滚打应用到工业界了。

本人也是自学,甚至不是计算机专业,现在工作到第六个年头了。如今做IOS之余,前端就做下管理,做一些基础建设。

首先也是最重要的,爱好才是你学好一门知识的最重要因素。至于学习路径,学习方法,每个人都不同。我在此只是建议而已。

首先,考虑到你刚入门不久,先把基础打扎实吧,什么nodejs,backbone,angular,react不是你现在要考虑的,学好原生JS,了解理论基础,看看html5新的API和功能,CSS布局,CSS3动画等等。期间可以结合jQuery使用。

然后你可以看看模块加载器requirejs,seajs等等,现在不管是哪种语言,都讲究模块化,将功能和作用明确划分。

接下来你可以去了解MVC,MVVM等变成模式了,如何整体构思一个中大型的项目,锻炼一下自己的架构能力。同时你可以去学习一下简单的nodejs,例如文件管理,打包压缩之类的小工具,可以使用nodejs来做。

不断的练习,反思,学习,这个时候你应该具备一定的管理能力和视野了,尝试优化一下开发流程,现在有很多简化开发流程的工具,yeoman,npm,bower,gulp,grunt等工具,你要知道,一个人做事很快效果有限,一群人做事很快那就不得了了。

之后你可能会涉及到移动端的混合开发,了解一下安卓和IOS的原理很有必要,两者和前端之间是如何通信的,你会对垃圾回收,引用计数等原理有更深刻的理解。

尝试封装一些常用的组件,减少重复劳动,提高团队效率。

最后,多了解前沿技术吧,人的精力有限,不可能每种前沿技术都去掌握,只要你基础够扎实,有些新东西看看就明白了,写一两个DEMO练练手,也就那么回事,语言这种东西嘛,万变不离其中。

再然后就没有了,恭喜你,这是你就算不是个大牛,也是个senior了。

前端在Web上一般是指网站的前台部分,可以简单的理解为直接面对客户(访问者)的部分。这在 百科 上有解释。

前端包含前端设计和前端开发两个部分,虽然一般都是说 HTML+CSS+JavaScript,但实际上还包括美工(工:工作)。一般情况下四者皆强的人非常稀少,所以大多分为两个部分,即程序员(H+C+J)和美工(工:工程师),相互协作。

在程序员和美配合默契的情况下,程序员可以完全不需要美感,只需要按照美工的设计完全实现即可。但多数情况下不会有这么理想的合作状态,所以程序培养点美感还是很有必要的;同理,美工也需要对HTML+CSS+JavaScript的技术略有了解,才能设计出来易于实现的界面。

如果你所说的全面,只是程序员部分,那建议你打到这三种技术的基础,并在此基础之上,了解一些主流界面框架(比如 BootStrap,JEasyUi,AmazeUI、React等)和JavaScript库(比如 jQuery, Zepto, Underscore, SeaJS 等)。选择自己喜欢的,用着顺手的,着重研究学习下,建立自己的应用技术组合,必要的情况下可能还需要改写或者补充一些组件。

首先,自学是你今后的出路,唯一出路。

我花了4个月自学前端,现在毕业了,找到一份不错的工作,你的时间很充裕。

你需要一个合理的充实的计划,去规划你后面即将要做的事和要学的东西。

你需要一个科学的学习方法,来提高学习和理解的效率。

你需要从现在就开始做起,now!

在你的前端技能并不是很精通的情况下还是不要去乱学东西,既然热爱前端就好好的学习前端,html(html5) css(css3) 单单这两项技能精通就可以获得很可观的收入,基础比较扎实了可以去用一些前端的框架了,楼上有说。
重视基础,你就不会觉得自己不懂前端了。

“有什么Nodejs,Bootstrap,Angularjs,Reactjs,Express/Coa,还要有Github 什么的,还要会后台PHP!天啊什么鬼!”,github,svn必用一个,公司不是你一个人写代码玩,nodejs,php属于后台语言了解就行(单纯写页面的话),Bootstrap,Angularjs这2个东西看需求,有些地方用他们确实舒服,比如处理数据;reactjs写webapp,现在比较流行而已,Express/Coa这个没了解,还有javascript是非常重要,非常重要,非常重要,毕竟框架什么的都是基于源生

可以接点私活,赚点钱,有点学习的动力,研究下js,jquery.

我也是大三的,也正在考试,也自学的前端。感觉还不错吧,重要的是知道自己自学的东西能干什么,也能做出来一点令自己欣慰的东西。除此之外你可以接一些私活,比如你在学校就可以帮着完学校里边的各个院系首页,改版之类的工作,我就是做了一些这个。不过老师领导跟自己的审美不同,很多地方还得听他们的。
关于nodejs,bootstrap这些东西会是必须的,bootstrap相对来说不是太难,读一读源代码还是很必须的。关于nodejs就必须耐心去学了。jquery这个源代码读不读不重要(读懂源代码的真的是大神级别了),重要的是会用用的熟练。
Github要经常逛逛,除此之外你学了nodejs之后npm这个地方也要经常去一下。国内的话,如果想用Git服务的话建议用coding.net或者gitcafe,速度不错。Github毕竟是在国外,push文件的时候有点慢。你可以看看我的coding个人首页。关于Git这个工具,我是在一个寒假在一个公司做实习的时候学会的,很容易的,经常用的没几个,不太常用但是还是得用的命令就更少了,学习难度不大。
Html5里边的新特性接触一下也是很有意思的。
如果可以咱们可以接触一下。tosone@qq.com。

正在校招的大四狗回答一波。
其实大厂面试的时候,还是看 1.基础 2.知识的广度。前者能让你厚积薄发道路越走越平,不至于曲线陡峭知难而退;后者能看看你对前端行业的热爱程度,关注程度。
在你这个时间点,我觉得整理前端的知识架构,积极动手实践,在此基础上深度广度不断延伸。
其实是水到渠成的事情。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏