本节主要通过问答的形式,介绍一下这个系列课程的内容,以及一个小白码农常关注的问题,比如老师的绯闻、JS全栈工程师的钱途等等。
老师是谁?
我是一个非主流码农,本科就读于交大,毕业后去军校,军校毕业后在北京军区某部扫了几年地,扫地时捡到了一张写满代码的纸,从此找到了人生方向。
然后自学编程,14年把部队炒了,进入外企GEMALTO做4G卡、银行卡和公交卡的操作系统,从此一发不可收拾,在真实项目中,使用过C、C++、java、C#、PHP、ruby、VB、go、Python、JavaScript等主流编程语言。
虽然开发维护操作系统的Java虚拟机很高端,但是月薪不到一万,但是转行JS全栈开发后,3年多的时间,月薪超过五万,因为web全栈开发JS化是大趋势,JS方向的高端人才缺口巨大。
转眼老师已经一把年纪了,还没有结婚生娃,但是女同学千万不要迷恋老师,因为嫂子会揍你。为啥呢?因为老师已经订婚了,结婚已经一切都在我的掌控之中啦。
什么是web 全栈工程师?
全栈工程师,也可以叫全端工程师,英文是Full Stack developer,最初是2013年由 Facebook 带动的概念,无论是前端知识,还是后端技术你都需要了解。
有些调皮的程序员这样理解全栈工程师:全栈工程师=屌丝战斗机=系统+网络+研发+DBA+架构+安全=没女朋友。全栈的核心,是指这批开发者能够承担包括前端、后端在内的所有功能开发任务,他们拥有一个技能全家桶,并能利用多种技能独立完成产品的人。
具体来讲,一个Web开发过程有三个部分:表示层:表示层也被称为网站的前端部分。它处理网站的用户界面相关问题。业务逻辑层:业务逻辑层也被称为网站的后端层,负责数据验证和动态处理。数据库层:最后是数据访问层,利用API为网站提供数据。
以上三层共同称为全栈web开发。以前,每当需要开发一个网站时,前端开发人员和后端开发人员分别被聘用。现在,随着移动互联网的兴起,特别是融资类型企业需要的快速迭代,越来越多的企业喜欢一专多能的全栈工程师,减少沟通的时间,由各端的架构师解决疑难问题。
全栈开发是目前最受关注的开发模式及岗位需求模式,雇佣全栈开发人才对于中小企业来说可以大大节省成本与时间,比如我和我们公司的CTO,都是属于全栈型的工程师,一个需求或项目,我们一个人就可以独立完成,在自己不熟悉的领域,寻找一定的支持即可。
所以,我们不仅培训全栈人才,我们更需要全栈人才。
全栈工程师需要掌握哪些知识技能?
通过收集所有一线大厂的招聘需求,我归纳出了Web全栈开发需要掌握的技术方向:
- PC、H5、Nodejs、各种小程序、移动端,掌握大前端所有技术栈
- 熟悉并能够实现如Element-ui这样知名的组件库,设计Vue组件
- 掌握Vue/React源码,MVVM库原理
- 了解Koa2源码,定制MVC开发框架
- 前端监控、性能优化、安全
- 自动化测试、发布、运维
当然,最好还能掌握一些Java、PHP或go等主流的后端技术,甚至是人工智能技术,比如就经常在工作中协助后端团队排查疑难问题和调整架构,有时还协助人工智能团队进行工程化,视野广,上手越快。
为啥我们要培训JS全栈工程师?
一个现代化的项目,是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要是各种技术的资深专家,但他需要熟悉到各种技术。对于一个团队特别是互联网企业来说,有一个全局性思维的人非常非常重要。
项目越大,沟通成本越高,做过项目管理的都知道,项目中的人力是1+1<2的,人越多效率越低。因为沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。每个人都会为自己的利益而战,毫不为己的人是不存在的。
而全栈工程师的沟通成本几乎为零,因为各种技术都懂,胸有成竹,自己就全做了。即使是在团队协作中,与不同技术人员的沟通也会容易得多,让一个后端和一个前端去沟通,那完全是鸡同鸭讲,更不用说设计师与后端了。
但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的,彼此都能听得懂。
同时,作为一个初创公司,不可能像大公司一样,各方面的人才都有,所以需要一个多面手,各种活都能一肩挑,独挡多面的万金油。
对于创业公司,不可能说DBA前端后端客户端各种人才全都备齐了,很多工作请人又不饱和,不请人又没法做,外包又不放心质量,所以全栈工程师是省钱的一妙招。
虽然说全栈工程师工资会比一般的工程师会高一些,但综合下来,成本会低很多。至于我们为何培训JS全栈培训,因为我们的项目还比较小,使用JS全栈开发效率最高,所以我们的实际项目都是基于JS全栈开发的,虽然我们的CTO用Java也写了一套,但初创公司前期为了快速试错,我们还是统一开发语言比较好。
JS全栈工程师的前景如何?
随着移动互联网的兴起,才真正诞生了前端工程师,而JS全栈工程师则是2015年Facebook开源react-native 才逐渐出现的,因为此时JS不仅局限于浏览器和服务端,也能开发移动原生APP了,包括这两年的人工智能也有很多基于js的框架。
常用系统的主要开发语言排第一的就是JS,因为后端技术可以有很多选择,而前端技术,我们只能基于JS,特别是各种小程序兴起后,逐渐替代一些功能性APP的当下,JS不仅成为客户端的首要开发语言,而且随着使用人越来越多,nodejs的功能也越来越强大,生态也越来越好,进一步让JS开发者更多。
但由于长期以来,大家忽视JS,现在市场上合格的JS全栈工程师非常少,以至相同背景和知识技能的JS程序员会比Java或PHP程序员高50%,如下我们公司招一些毕业两三年的,Java工程师基本在1.5万至1.8万,而JS工程师则在2.2至2.5万之间。
为何如此,因为JS工程师能干的事情多,同时市场人才缺口又很大,所以企业只能通过高薪挖人,挖来挖去,就提升了整体JS工程师的薪资待遇啦。
本系列课的学习内容和安排?
通过导航栏,大家已经看到了,首先我们简单介绍一下课程内容,然后带着大家安装我们学习所需要的软件。
接着通过开发静态网站、提升开发效率、打牢技术基础和制作个人电子简历,来帮助同学们掌握一个JS全栈工程师必须掌握的基础知识技能。
网友评论