目前前端全栈开发发的就业前景怎么样?

前端是最贴近用户的程序员比後端、数据库、产品经理、运营、安全都近。

3. 有了Node.js前端可以实现服务端的一些事情

1. 前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分甚至更好

2. 参与项目,快速高质量完成实现效果图精确到1px;

3. 与团队成员,UI设计产品经理的沟通;

4. 做好的页面结构,页媔重构和用户体验;

5. 处理hack兼容、写出优美的代码格式;

6. 针对服务器的优化、拥抱最新前端技术。

大家应该已经感觉到了17年下半姩开始,前端领域的行情发生了很大变化用我的话叫做,进入了“前端后培训”时代

所谓“后培训”时代的具体表现为:

    一二线企业社招门槛明显增高,经过按部就班的知识学习、toy项目练习、github装修已经完全不足以找到一份体面的前端工作了。培训班毕业生供应量持续增加就业机会却没有相应增加,导致出现了大量尚未找到工作的培训毕业生而这些尚未找到工作的培训毕业生,大部分并没有搞清楚發生了什么也并没有找到真正提高自己竞争力的捷径。
所以今天我想谈谈如果在这样一个局面下,你仍然想成为一名前端工程师或鍺再前端路上想走的更远,你应该怎么做

本文适合前端初学者,以及参加过培训在就业上遇到瓶颈的求职者以及对自己技术水平有提高诉求的初中级前端工程师。 首先我们谈一个基本问题:

一个刚刚结束自学/培训,就陷入技术瓶颈的初级前端和那些在大厂游刃里有餘的“名门正派”前端,差距到底在哪里

不讲什么大道理,直接说一下个人体会最近几个月,我跟大量初级前端人员在打交道对这個问题思考了很多次。

首先我想说的是大部分情况下,其实并不存在我们想象中那么巨大的个人能力(至少是智力)差距比如今天我洳果要求一个初级前端去研究某个技术细节,或者做一个复杂功能的实现他并不一定真的就理不清楚那里面的逻辑。但是有诸多因素可能会制约他在力所能及的前提下完满的解决问题。

具体来说我观察到如下几个制约因素。

首先什么是技术,什么是工具很多前端其实没搞清楚。往往当我问他们“你有什么技术亮点”时对方就开始罗列自己会用什么工具,使得我不得不打断他们

什么叫技术?技術是你解决问题的能力会使用工具不叫技术,会使用工具解决问题才叫技术

要做到会使用工具解决问题,必须做到两点第一是,你偠懂工具第二是,你要懂问题有个人曾经跟我说“我对React非常熟悉”,然后就开始跟我说React各种知识点但是当我问他,React到底用来解决什麼问题对方没有能给我任何有效的答案。

我不怀疑这个人确实熟悉React甚至看过一部分实现代码。但是他的问题在于懂工具却不懂问题為什么React会出现,出现之前前端应用是如何开发的低效点在哪里,React又做了哪些针对设计这些他并没有清楚的理解。

第二很多长期混迹外包项目的程序员,其个人能力和代码质量是严重不成正比的。如果你翻看他们的履历会发现他们参与过规模不小的项目,有相当代碼量的积累然而看代码,相当潦草各种边界情况处理不完备,逻辑漏洞缺乏设计。

你如果问原因多半会得到“项目紧没时间”的答案。然而这并不是真实的答案真实的答案是——给他们时间,他们也不知道该如何编写更好的代码因为没有人告诉过他们,什么样嘚代码是合理的

第三,野路子太多我发现观察一个程序员阅读文档的习惯,可能很大程度上推测出其工作质量很多人满足于“work”,茬网上复制粘贴代码不加审视遇到问题就动用搜索引擎,找到答案也不求甚解甚至不验证多种情况下是否能解决问题。长此以往你會发现这些人的知识结构完全不成体系,堆积了大量来历可疑没有来龙去脉,不懂前因后果仅仅是勉强work的二手野路子方法。

这种残缺零碎知识结构会带来许多问题。首先举一反三的能力不强,永远依赖搜索引擎缺乏独立解决问题的能力。第二缺乏预见性,永远莋不到在出现问题之前只看技术方案就推测会出哪些问题。

而这两点恰恰是一个资深工程师重要的技能。

那么如果你是一个准备入門前端的新人,在“后培训”时代想做到脱颖而出,就要从一开始就着重解决这三个问题不要等到意识到差距的时候才想到来解决,所谓旁观者清等你自己意识到,可能要很久

而对于初级前端同学,我可以说个大话——如果你目前求职不顺利或者处于初级阶段无法进步,你八成正在受以上三个问题的困扰如果得以解决,不仅仅可以在短期之内让你更容易找到工作或者工作业绩提升,更重要的昰可以让你从一个人群跃迁到了另一个人群——将你和大厂专业工程师的差距,从行为模式、思维模式的差距转变为纯技术差距,而純技术差距是可以通过学习和项目经验弥补的。

到这里我们可以谈谈前端学习路径的问题了。

如何学习前端开发长期以来大家的方式,要么是脱产培训要么是看书/视频自学。我曾经是看书自学的推崇者因为在我看来,自学技能的过程要比你最终学会了什么技术哽为重要。但是目前看来这两种方式都走极端了。

    是不是自学就一定不要任何辅助完全看书看视频其实并非如此。完全独立的学习拉高了入门曲线,造成很多人中途放弃或者block在某个阶段无法前进。是不是要在辅助下学习就一定要去参加脱产培训班也并非如此。培訓班机械的教学模式实际上是非常不适合前端这种灵活性巨大,变更飞快的领域的另外脱产培训往往价格不菲,再加上时间成本成夲是非常昂贵的。
所以我现在更加推荐一种“轻培训半自学”的模式——线上互动课程,也就是目前Udacity的产品模式

申明一下利益相关:峩接受Udacity的邀请,体验了Udacity的若干培训课程所以本文以Udacity举例子。但这篇文章并非完全为Udacity而起确切的说,我推荐的是线上互动课程这种学习模式

那么下面就谈谈为什么我认为Udacity的课程能帮助你解决上面提到的三个制约新人的问题。

首先关于技术和工具。 其实以我的观察和体驗来讲Udacity的入门课程,比如这里:

至少入门阶段的深度并不算深但是Udacity的课程有一个特色,就是始终紧扣应用每学一个知识点,都在强調这个知识点可以解决什么问题做出什么东西。其课后作业也遵循了这一模式

第二,关于代码质量和变成习惯 这也是我很推崇Udacity的一點,就是你可以获得一对一的code review和编程指导而提供这些服务的师资力量和服务质量,往往是现阶段国内培训产品难以达到的:

在这样的指導下你从一开始就有机会学习“正确”的编程之道,规避了走弯路的风险

当然,Udacity类的课程内容会帮助你建立前端知识体系但是我认為更加重要的一点是,Udacity的“社群学习”模式但凡入门编程的人,很苦恼的一点就是没有人讨论遇到问题只能自己尝试解决,动辄block很久就算解决了也难以确定是不是最优方案。但是在Udacity这样的互动课程中你是有同学的,若干同学和导师在一起讨论问题你们可以互相参栲,对于一个问题更容易全面了解从而找到最优的解决方案。

以上是我在Udacity课程体验中看到的优势同时也是高质量在线互动课程普遍具備的优势。那么回到老问题——在“后培训时代”如何让自己脱颖而出?

线上互动课程可能是当下最适合的选择。

 在大多数互联网初创公司中洇为一个项目设计到的环节很多,需要各种技术人才考虑到人工成本的投入,所以需要一个能够独当一面的人能解决各个环节的问题,各种活都能一肩挑所以全栈工程师应运而生,因为会的技能多大前端前端全栈开发发秋秋交流圈:3456暗号48技术424 突破技术瓶颈,提升思維能力所以相较单一的技术人员来说,薪资待遇要更高一些这也是现在越来越多的人选择成为全栈工程师的原因。

  全栈工程师除叻拥有超高的技能以外还要具备全局思想,因为一个项目的构成是很复杂的需要全栈工程师来主控全局,并熟悉项目的各个环节而苴对于比较大的项目来说,一个人单打独斗会影响效率所以说,虽然全栈工程师看似万能但并不是钢铁巨人,有时候也需要团队人员嘚配合一起完成项目。

我要回帖

更多关于 全栈开发 的文章

 

随机推荐