全栈工程师,一直以来都是软件行业热议的话题,只要提到全栈工程师大家就觉得很高大上,当然也有人直接说万金油而已,往好听说是全栈工程师,综合能力全,但是实际上就是什么都会哪都不精通。有人唾之以鼻,也有人称赞不已。
对于许多创业公司来讲,全栈工程师也是不错的选择,花一个人钱做一个团队的事何乐而不为呢。所以全栈工程师也就成了仅次于架构师的一个职位。
全栈工程师
那么什么是全栈工程师呢?大家都各有说辞,有的人说精通前后端,有的人说初级架构师,那么不妨看看百度词条:
百度词条-全栈工程师
其中百度词条也说到全局思维这一点,还有根据这些年我的工作经历,个人认为全局思维才是全栈工程师最核心的一点。
最近不少人说到互联网寒冬的说法,还有不少人说程序员是吃年轻饭的,最多不会超过35岁这业界黄昏点,对此引起不少人的焦虑。其实在我看来这些人云亦云引起的焦虑,其实最主要的原因就是现在企业对程序员的要求越来越高,需要的不仅仅是只会单一技能,企业不再需要只会敲代码的一个工程师。
在IT程序开发这个大环境下,大家都是程序员,如果你拥有全局思维,那么你就是下一个管理者人选,所以你到35岁还是只会代码,或则工作了5年,你依旧只会单一技能,这能怪公司吗?能说寒冬吗?这问题本身在于自己,是你自己给自己画出了寒冬这个怪圈。
之前有群友讨论说,后端开发才是最好晋升管理的首选,目前所有项目经理及管理层,多数都是由管理层转的,当时我就在想,为什么这样,当时我心中答案就是——全局思维。是的,这也就是全栈工程师的核心思维,这一点算是我这三年来的领悟吧。
后台人员相对于前端,移动端,测试,还是有产品而言的,后端人员考虑项目就是项目数据本身,数据就是这个项目的主干。如今的社会是以数据为导向的世界,对于整个软件系统,数据穿插在整个项目中,无论是前端,还是移动端,还是产品或则测试,所以无形中为后端人员培养了全局思维能力,这也是后端人员更容易转管理层的原因。简单讲,全栈工程师就是项目经理进入管理层的首选对象。
学习路线
那么怎么成为全栈工程呢?这也是许多人非常迷茫的问题,大家总认为全栈工程师很神秘,高深莫测的样子,其实并不是那样的神秘,这都是一个知识的积累过程,一步一步积累而来的,下面我们看看下面这张图吧
软件系统组成
从上图就可以清楚地看到,全栈工程师需要具备的能力大体分为三类,移动端开发,web前端开发,以及后端开发。也许对于很多人来说,也许就会不由自主地感叹:这些知识太多了吧。我曾经看到过这么一句话:“一名优秀的程序员,一年至少需要学习一门新的程序语言,以应对未来多变的软件行业。”
移动端开发
移动端开发就目前而言,需要学习模块主要为Android或者IOS。其中在国内,Android的应用越来越为广泛,智能穿戴,门禁系统,车载电视,家庭网路电视等。以Android移动开发为例需要学习的大纲为:
学习语言
详细知识大纲,如下图所示:
Android学习大纲
目前Android,大家都说android开发越来越不景气。其实不是,只是企业不再需要初级android人员,如今android也开始倾向于硬件开发,TV电视端开发比较多。android开发选择androidstudio,ios开发xcode,同时也要学会一些混合开发知识,比如weex,reactnative,cordova等。
web前端开发
一般前端开发,多指web前端开发,主要为网页开发,现在同是包含