万门大学 WEB全栈工程师零基础特训班
交流 分享 有微we☺信chat:penn250
一、什么是全栈工程师?
对于全栈工程师 ,业界并没有严格的定义 ,并不是说一定要一种都不能少地具备哪几项知识才能叫做全栈工程师 。我倾向于认为 ,应该从能力和思维方式两方面 ,来判定一个人是否是一个合格的全栈工程师 。
国外是怎么样定义的呢?在著名的问答网站Quora上有一个高票的回答:
全栈工程师是指 ,一个能处理数据库 、服务器 、系统工程和客户端的所有工作的工程师 。根据项目的不同 ,客户需要的可能是移动栈 、 Web栈 ,或者原生应用程序栈 。
简单来说 ,全栈工程师就是可以独立完成一个产品的人 。当客户让他去做一些舒适区之外的工作时 ,他敢于迎难而上 ,并成功完成任务 。
“各司其职”的弊端
虽然流水线式的职业划分和工程管理有很多优点,但是它就像一把双刃剑,在带来高可控性、可用性和可管理性的同时,也给工程师带来了一些困境。
1. 工程师职责不清导致效率低下
2. 工程师缺乏主人感导致产品质量差
3. 工程师缺乏全局的视野影响个人成长 当工程师希望晋升到更高级的职位 ,如高级工程师或者管理岗位时 ,公司对他的大局观会有更高的要求 ,这就不仅仅是做好 “分内 ”的工作就行的 。高级工程师需要有对设计的理解 、对后台知识的了解 ,以及有跨团队推动项目的能力 。长期研究专精的专业知识会让一个人视野变窄 ,变成 “学术派 ” ,而不是 “实践派 ” 。
4. 更多角色导致项目效率低下
全栈工程师登上舞台
因为各司其职的工作流程有效率低下 、成本高的缺点 ,所以很多创业公司都不会配备齐全的流水线 ,而是希望采用更灵活的方式来组建团队 ,全栈工程师也因此成为了理想的选择 。但是全栈工程师的兴起还离不开这两个重要因素 :技术的发展 ,以及提供 PaaS服务的平台越来越多 。
全栈工程师基本要有的觉悟
而我推崇的全栈工程师则是与专精工程师不同的另一条道路 。全栈工程师除了在一个专精知识领域有深入研究之外 ,还以知识广博和解决问题能力强著称 。所以我认为有志成为全栈工程师的学习者 ,要有这样几个觉悟 。
1. 一专多长 一专多长的意思是 ,工程师首先有一个专精的方向 ,在这个方向上足够精通之后 (高级工程师级别 ) ,以此为突破点去学习更多的知识 ,增加自己的长处 。如果还没有获得某个方向上足够深入的理解 ,就不要囫囵吞枣地去学习其他领域的知识 。
2. 解决问题,而不是醉心技术
二、如何成为全栈工程师
先精后广,一专多长
“先精后广 ,一专多长 ”是指 ,建议初学者学习全栈技能的时候 ,先在一个特定的方向上有比较深入的钻研 ,然后再将学习目标渐渐推广开来 。比如先从前端方向入手 ,掌握了基本的 HTML
、CSS
、JavaScript
之后 ,不要转头向服务器端语言或者 App 方向发展 ,而是深入到性能优化 、 SEO 、多种框架 、响应式页面等前端细节中去 。经过一到两年的深入研究之后 ,再去学习其他方向 。
如果是毕业生或者初学者,我不建议在刚开始的一到两年接触太多技术,杂而不精,结果可能会对后面的职业道路产生副作用。
为什么要强调在开始的时候要专精方向的重要性呢?因为这样您才能在求职的时候有一个“亮点”。
无论是毕业生还是社会招聘,仅仅满足招聘要求是不够的。您需要在招聘要求的方向上以200%的能力来得到这个职位。一个求职者在整个流程中会受到多方考核:HR考核您的成本和价值,专业面试官(不是全栈工程师)考核您的专业能力,经理考核您的沟通能力。在所有这些考核中,其实每一环都是漏斗型筛选,会过滤掉一些人。
让我再次重复这一点 ,作为求职者 ,一定要在某个特定方向上有非常深入的理解 。仅仅会做还不够 ,还要理解背后的原因 ,还有背后的背后的原因 。