龚鹏:我是怎么从程序员成为全栈GEEK的_全栈工程师

参与文末话题讨论,每日赠送异步图书。

——异步小编

龚鹏 全栈GEEK,高中时期开始自学Java,专注于互联网,具备软件开发、美术设计、产品策划等领域知识。匠工科技创始人,曾服务奥美互动、百度、中青旅,负责开发车联网设计、互联网彩票、电子商务等系统。《微服务分布式构架开发实战》作者。


全栈工程师,英文叫Full Stack Developer,是一个在IT行业圈子里越来越热门的话题,无论是像Facebook这样的大型公司,还是刚刚起步的初创公司,都开始招募全栈工程师。据说,Facebook声称:“我们只招全栈工程师!是指掌握多种技能,并能利用多种技能独立完成产品的人,而恭鹏就是这样的一个全栈GEEK。

基本上,当客户需要一个全栈工程师的时候,客户需要的是一个全能的“大神”。简单来说,全栈工程师就是可以独立完成一个产品的人。当客户让他去做一些舒适区之外的工作时,他敢于迎难而上,并成功完成任务。今天我们进入到恭鹏的内心世界,听听他的所思所想。

异步社区: 作为全栈GEEK是一种什么感受?

龚鹏:在面对一个问题时,能够从多个维度更加立体的思考。面对某一细节问题时则能够很轻松的推理联想到很多与之关联的其他点。

因为喜欢互联网,所以想多了解一些关于它的东西,探求那些未知。但随着时间推移,了解之后会发现又有更多的未知出现。正是因为有那些未知存在,在面对问题时也时刻提醒自己尽量站在客观角度去思考。

异步社区:你是怎么看待全栈工程师的?

龚鹏:全栈工程师应该从工作需要与个人兴趣两个角度出发。

在分工合作的团队中,或者说面对一个大型系统时,个人力量很难满足项目的实际需求。但中小型系统尤其是在项目之初,在很多方面全栈工程师的个人能力就会被充分释放。

由于全栈工程师清楚的指导一个项目中前端、后端、运维、交互设计、美术设计、产品等各个环节的工作内容,在协调团队、提高工作效率上有天生优势,所以未来向管理岗进发也是一个非常不错的选择。

对于个人而言全栈工程师所做的正是在追求自己所喜欢的,是真正快乐的人。


异步社区: 全栈工程师最重要的职业素养是什么?

龚鹏:保持好奇心、保持学习状态、时刻提醒自己要走出舒适区。

异步社区: 是什么初衷开始创办匠工科技?创业后有什么不同?

龚鹏:一直以来都想做一个属于自己的互联网产品。当自身能力积累到一定程度之后发现还有很多的不足,仔细思考过后有可能来自 “屁股决定脑袋”。所以我试着去以一个非职业人的角度去思考问题,于是注册了匠工科技。当走出第一步,就如同打开了一个新世界的大门,各种曾经根本不会思考的问题随之而来,压力也成倍增加。对于我个人而言,最大的收益是明确了自身所缺的以及为未来规划了明确学习方向。

异步社区: 什么时候开始创作《微服务分布式构架开发实战》的?创作过程中遇到过棘手的问题吗?如何解决的?

龚鹏:“分享”是一件很有意思的事情,在分享的同时也是对自身能力的一次审视。在写这本书时一直在思考如何能够让读者快速建立起对微服务的认知。为了解决这个问题,于是我将自己的学习方法融入其中。

每次学习一个新领域知识时,或者解决一个复杂问题时。我不会一开始就关注细节问题,而是尽量的探求这一领域的边界建立一个框架,同时产生大量疑问,然后由这些疑问指引自己不断的去探索、解惑以及完善这个框架。明确的框架与疑问会让整个学习计划与动力控制在自己手里。所以在设计这本书的目录时,我希望围绕着微服务这个核心尽量多的介绍与之有关的内容。

为了使每章的阅读难度与用时降到最低,所有示例都尽可能用最简单的写法。尽量让读者能够在短的时间内读完有所收获。如果觉得内容还不够或者产生了新的疑问那最好。跟着这些问题去探求细节。

这样编排目录与章节很大程度还与自己缺点有关。我的兴趣很广泛,但同样有着三分钟热度毛病,但我并不直接与之对抗,反而觉得在那三分钟的时间里,是最好的建立认知的时间。所以我买书时主要看目录以及厚度,因为我知道自己无法在三分钟时间内看完太厚的书。

异步社区:2018年微服务架构持续火热,你是怎么看待这个技术的?

龚鹏:微服务持续火热是意料之中的,因为它确确实实的解决了大家的需求。在之前因微服务实现成本略高,只有大公司才会采用,而现在随着微服务的生态越来越好,实现成本越来越低,所以火热程度会一直持续下去。

异步社区:你认同:“合适的架构是软件成功的最重要因素之一”这句话吗?为什么?

龚鹏:赞同。

“合适的架构是软件成功的最重要因素之一”是成功最重要的因素之一,设想一下一个非常糟糕的软件架构在随着业务的增长,系统变得越来越复杂,维护成本越来越高,同样也会伴随着各种各样的问题,是的整个系统极不稳定。最终导致不得不进行无价值的系统重构。而重构就意味着在一定时间内会产生毫无收益的支出。如果一些小型的公司没有处理好重构的困难,则很有可能导致整个软件失败。

异步社区:对于刚入行的小白有哪些建议?

龚鹏:给自己制定一个明确的目标,并时刻保持学习是最好的。在竞争激烈的环境中,唯有不断增强自身力量才能进步与不被淘汰。

在制定目标时,切勿好高骛远,寻找到一个有难度适中的点进行突破,毕竟学习应该是快乐的,因为它解决了你很多的疑惑。

学习一切自己感兴趣的东西,无论他是否在当下是否对你有用。当这些知识点积累到一定程度后,在未来必然是最有用的东西。

异步社区:是否有出版下一部作品的打算?可以“剧透”一下吗?

龚鹏:如果可以的话,下一部作品想围绕着产品研发,从最初的概念到最终项目上线,将完整的工作流程贯穿起来讲述,其中包含产品策划、交互设计、美术设计、前端开发、后端开发以及运维等。

重点同样是建立起对整个产品研发的认知,能够清晰的知道自己的岗位所处何处,上下游如何交接等。当然不单单获得模型与方法论,也能获得自己独立开发一套系统所需的技术。