随着技术的发展、用户量的增加、客户端种类变多,每一个小小的细节都需要优化和考虑。在海量的访问量面前,也许改变一个按钮的位置和颜色就能影响上千万次的用户体验。如今的互联网产品已不是以一己之力就可以完成的乐高积木了,Web开发需要以某种可控的方式来管理。于是,所有认真对待互联网产品的大公司都引入了流水线开发流程,在这条流水线上诞生了多个非常专业的职位。
要求你不仅“一样精”更要在“一样精”的基础上“百样通”做WEB全栈工程师的乐趣要比一般工程师来得多,因为你知道一个产品的形态,你可以去设计一个产品,你是从全局的视野来做事情,不仅做得了图,敲得了码,还熟知前端、后端、数据库、第三方开发等的全面知识。于是有人疑惑,这样的人才会不会看似全能,实则都是略通皮毛,根本什么都不精通啊?学习这样的全栈开发,有前途吗?
越来越多的人想做【全栈工程师】,他们的目标就是全栈,他们才入行短短1-2年:我的目标是做全栈,我啥都要学会,啥都会写,这样我就是大牛了,可以挣大钱,就算创业,我也不用招那么多人,一个人搞定一个产品,融资上市 ,CEO白富美,balabala。。。
一般理解:全栈工程师,就是啥都会,啥都能搞,上能入天、下能入地。各种技能各种语言眼花缭乱,各种5杀 6杀 偷塔组合技能,pio pio pio,一人挑起全世界,各个技术栈技术点,前后通吃 疑难杂症统统不在话下,在世达芬奇,全能奇才多么牛x。
然而,真正的全栈是:我也不知道,我从来都做不了全栈而且也不想做啊,只知道,我在web前端行业挖的够深,够猛够快乐就好了,T 字形人才,下面一竖要足够高足够粗了,才能撑起来上边的一横。
我只知道,我从网上看到的全栈大牛都是:基础知识无比扎实,蹲马步十个小时不带喘气的,从 二进制到基础电路电位,到计算机运行原理,内存控制原理、数学计算基础、外语适应能力、逻辑思维能力、解决实际问题能力、出疑难杂症解决方案能力等等等等都是一把好手。各种编程语言和工具应用只是他们解决某个特定问题的工具而已,仅仅是工具。基础知识扎实,基础素养和习惯良好,才是成为全才的关键。
否则都是二半吊子,啥都会,其实就是啥都不会!
以下几种人,很典型并大有人在:
1.、会个php+ js+MySQL就吵吵自己是全栈,前后通吃。
2、会做app、会做网站、会弄数据库、配置服务器环境,自己就是全栈了,有任何问题找我。
3、java、c++ 语言的转型前端或者去做硬件然后掌握了不少框架和工具之后,就说我是全栈了,结果 他留下的坑比要填的坑还要大。。
具体原因
1、基础知识太渣,急于求成表现,盈利
2、坐井观天,会一项或者几项技能之后,自信心膨胀
3、技术浮于表面,经不起细节和解决具体问题方案的推敲
4、缺乏对解决问题的深度思考和负责人的能力
总结的公式:
普通人
全栈 = 全干 = 啥都会 = 啥都不会
真全栈
全栈 = 全都不干 = 全都有解决方案 = 各个行业都能干
所以,一开始就要喊做全栈,你看看自己到底行不行,再来改变下你的定位。
全栈开发工程师需要掌握的知识包括:后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul api设计和OAuth等等,比较前卫的项目,还需要掌握Single Page Application、Web Socket、html5/css3这些技术以及像第三方开发应用等等。
全栈开发师经手的项目不但会注意到网页优化,而且会考虑到API来兼容各种客户端,更会考虑到三屏兼容的问题。不会说项目中完全使用AJAX而不顾seo,也不会为了功能性而忽略访问速度,他会很好的把握其中平衡,因为他知道各个板块的权重和实现成本。
现代项目的开发,很少说只用到一两种技术的,项目越大,沟通成本越高,做过项目管理的人都知道,项目中沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。而全栈工程师的成本几乎为零,因为各种技术都懂,胸有成竹。即使是在团队协作中,与不同技术人员的沟通也会容易得多,你让一个后端和一个前端去沟通,那完全是鸡同鸭讲,更不用说设计师与后端了。但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的彼此都能听得懂。
所以企业越来越需要一个懂得精通Java、Python、HTML5、CSS3前端开发等多种开发技术的人物来把控大局,这是趋势,更是必然。物以稀为贵,趁着全栈人才还不是蜂拥而至,赶快学习才是正确道路。
关键词: 时间积累,坚持不懈,学习提升、最优解
那么如何才能逐步积累以上所说的技能和知识,从而成为一个全栈工程师呢?
对于一个刚毕业的学生来说,学校所学习的知识远远不够,无法提供快速有效地实现目标的充分必要条件;其次,紧张而焦急的找工作心态反而会适得其反。对于正在工作的人来说,在现有工作的压力环境下,完成这个目标则需要大量的时间积累与坚持不懈的学习提升。在短时间内达到目标并且实现能力提升才是最优解。
前端程序员看到“全栈”这个概念,大概会有两种反应:1. 卧槽,这个好,碉堡了,2. 你懂毛,全栈就是样样稀松。即使只学一门技术,水平很菜的人也多的是,而全栈工程师当中样样都做,而样样都做得不错的也不少。
很多人为了成为全栈工程师或者已经是全栈工程师面对着巨大的困境。1.一个工作两年的切图都比一个全栈工程师切图好,一个8k的java都比3W的全栈写的代码快,他们经历着博而不精的煎熬。2.成为全栈很多人需要花费大量的学习时间,到最后依然是无功而返。
最近,在我参加的一个Web技术会议上,一位开发同事问了我这个问题。这位开发同事遇到的很多新人都自称是全栈开发人员,有点像Bob自称是Tony的意味,名不副实。本文以这位开发同事提的问题作为标题
故事要从我 14 岁那会说起。当时的我学过 PHP、HTML/CSS 和 JavaScript,而且对自己的朋友充满嫉妒。作为在网上发布的第一篇“严肃”文章,我想从自己的成长经历谈起——当然,之后我还会更新更多文章,毕竟学无止境嘛
现代的全栈应用程序通常由六层组成:数据访问、后端模型、API 服务端、API 客户端、前端模型和用户界面。我们需要大量的胶水代码才能将它们全部连接起来,并且领域模型在整个栈中存在重复。因此,开发的敏捷性受到了极大的影响
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!