全栈很屌?什么是全栈工程师

点击上方“java工会”,选择“置顶公众号”

关注我,查看更多全栈相关技术!

什么是全栈工程师

全栈工程师,英文叫Full Stack Developer,是指掌握多种技能,并能利用多种技能独立完成产品的人。

我认为全栈工程师的特质应该有以下几个:强大的解决问题能力;广博的知识面,快速学习能力,不给自己设限,主动学习新技术;熟悉多种编程语言,熟悉整个系统从上到下的技术实现。

否则都是二半吊子,啥都会,其实就是啥都不会

以下几种人,很典型并大有人在:

1.、会个 php + js+mysql就吵吵自己是全栈,前后通吃。

2、会做app、会做网站、会弄数据库、配置服务器环境,自己就是全栈了,有任何问题找我。

3、java、c++ 语言的转型前端 或者去做硬件然后掌握了不少框架 和工具之后,就说我是全栈了。

4、配置了服务器、了解了一门后台语言、听说和查阅过各种前端框架用法之后膨胀的,并立志我要做一个全栈。

我都不想说了,以上几种人在各位的实际生活中,公司中绝对都见过,而且吹牛逼的也很厉害,感觉公司离了他不能转,有任何难题就一句话: 简单,我会啊!结果 他留下的坑比要填的坑还要大。

具体原因

1、基础知识太渣,急于求成表现,盈利

2、坐井观天,会一项或者几项技能之后,自信心膨胀

3、技术浮于表面,经不起细节和解决具体问题方案的推敲

4、缺乏对解决问题的深度思考和负责人的能力

看我总结的公式:

普通人

全栈 = 全干 = 啥都会 = 啥都不会

真全栈

全栈 = 全都不干 = 全都有解决方案 = 各个行业都能干

全栈工程师是什么样子的

强大的解决问题能力

我觉得强大的解决问题能力是全栈工程师最重要的素质,也是全栈工程师的核心能力。 全栈工程师的解决问题能力,应该不局限于软件研发中碰到的技术问题,范围可以扩展到工程和科学相关的问题。这一点我们要向国外的极客大神们学习,国外很多极客具备硬件,软件,网络和人工智能等领域的全方位能力,例如无人机领域的大神拉菲罗·安德烈。亚马逊运营中心里酷炫的、数以万计的Kiva机器人,就出自他手。公司被亚马逊收购后,这位“疯狂”的科技极客把注意力投向了无人机领域,三年时间研制出全球首个全向无人机。2015年获得“电子工程领域的诺贝尔奖”的IEEE机器人和自动化国际会议大奖,被人称为成为无人机之父。

在软件开发过程中所遇到的问题,真正的技术问题只占一部分,很多问题可能是工程或管理方面的问题。全栈工程师善于用全领域的知识积累从更本质的层面上找到解决问题的办法,而不是局限于某一种技术上寻求解决方案。例如前段时间遇到的HTML5 Hybrid App在某些安卓手机上兼容问题,最终的解决方案就是修改js代码,而是直接把Cordova的webview内核换成了腾讯X5内核,这个如果没有全栈技术能力是不可能做到的。

快速学习能力,不给自己设限,主动学习新技术

全栈工程师应该时刻保持开放的心态,主动学习新技术,能够快速进入新技术领域。广博的知识面有助于通过类比和知识迁移的方式,提高学习掌握新技术的速度。 例如做Java Web后端可以去熟悉前端开发的技术。做安卓开发的可以去学习iOS开发。做iOS的可以去学习下HTML5移动开发,研究下js。 我们现在计算机体系其实都是相通的,不同的编程语言体系,不同的操作系统平台,同样的任务或技术架构的处理方式可能是类似的,因此全栈工程师 现在我们已经进入了移动互联网的下半场,未来的大趋势是人工智能,全栈工程师对于人工智能,机器学习,深度学习等领域也要尽早准备学习了。

熟悉多种编程语言,熟悉整个系统从上到下的技术实现

我个人认为全栈工程师至少要熟悉5种编程语言,工作中不能只用一种特定编程语言。 现在TIOBE排行榜上主流的编程语言Java, C/C++, C#, Python, Javascript, PHP,Ruby,OC等都应该熟悉,Groovy,Scala,Go,Swift,Kotlin等相对比较新的编程语言也应该熟悉或了解几种。这样就可以根据具体情况(项目特质和团队情况)选择合适的技术栈,而不是整个系统只能用一种语言完成。当然了,大的项目具体的代码肯定应该由团队分工合作完成,但全栈工程师还是应该对项目整个技术栈具备一定的掌控力。 做Java Web应用的全栈工程师,应该熟悉Java,Javascipt,CSS,HTML,SQL,XML等常用语言,并且熟悉常用的前后端技术框架,例如Spring,JPA,Mybatis,Jquery,AngularJs,React等。用PHP,Python,Ruby,微软.net等技术栈做Web应用的应该也类似。 做移动互联网应用的全栈工程师,应该熟悉Android,iOS开发或微信开发,以及服务器端接口的开发,这样才能做到沟通无障碍。

原文发布于微信公众号 - java工会(javagonghui)

原文发表时间:2018-06-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

10个用Java谋生非常有趣的方式

令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作。不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个。程序...

732
来自专栏顶级程序员

GitHub CEO:GitHub 十年,感谢有你

源 / 极光开发者 简评:不知为何,总感觉 GitHub 成立不止 10 年了,你们有这种错觉么? 本文是 GitHub 联合创始人兼 CEO:Chris W...

2834
来自专栏非著名程序员

GitHub 十年,感谢有你

本文是 GitHub 联合创始人兼 CEO:Chris Wanstrath 在计算机世界杂志写的文章。

1465
来自专栏ImportSource

机会主义重构-Martin Fowler

从我开始谈论和撰写关于重构专题的一开始,人们就问我如何将重构纳入更广泛的软件开发过程。 重构到底应不应该被当做软件开发生命周期的一个阶段,如果应该,那么要在一...

3918
来自专栏大数据钻研

Java程序员常用的10大构建工具

令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作。不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个。程序...

37215
来自专栏后端技术探索

漫谈大型网站架构

作者介绍:陈康贤(花名龙隆),淘宝技术部技术专家,著有《大型分布式网站架构设计与实践》一书,在分布式系统架构设计、高并发系统设计、系统稳定性保障等领域积累了较为...

802
来自专栏花叔的专栏

七天内提醒一次,玩转模板消息

话说在花叔大学年代,曾经跟一帮有意思的同学们组建过一个工作室,名字叫“艾维前端”(http://www.i-wui.com/)。 虽然到现在那个官网还在,但是其...

3076
来自专栏程序猿DD

Java程序员月薪达到三万,需要技术水平达到什么程度?(文末送书)

最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员如何能月薪达到三万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到。也许...

902
来自专栏云计算D1net

云计算:拼的是运维

云计算的IaaS、PaaS、SaaS最后那个S都是Service。就是说,无论你云计算长成什么样,都得要向用户提供“服务”而不仅仅是软硬件和各种资源。 【云计算...

6149
来自专栏即时通讯技术

阿里技术分享:深度揭秘阿里数据库技术方案的10年变迁史

本文原题“阿里数据库十年变迁,那些你不知道的二三事”,来自阿里巴巴官方技术公号的分享。

3115

扫码关注云+社区