{"componentChunkName":"component---src-templates-blog-detail-tsx","path":"/blog/2020-3-18-engineer-development-guide","result":{"data":{"currentBlog":{"id":"e1f62876-7147-577c-8c06-c2e44874c382","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/202041/1585714719322-IMG_0345.JPG","authors":["冉叶兰"],"categories":["user-stories","engineering-culture"],"date":"2020-03-18T00:00:00.000Z","title":"工程师快速成长指北","description":"随着互联网技术的发展，前端领域的从业人员越来越多，随之而来的还有工程师的成长问题。","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","访谈"],"keywords":"工程师的成长,前端领域的从业人员,互联网技术的发展","outdated":null},"wordCount":{"words":399,"sentences":39,"paragraphs":39},"fileAbsolutePath":"/opt/build/repo/content/blog/2020-3-18-engineer-development-guide.md","fields":{"slug":"/blog/2020-3-18-engineer-development-guide/","keywords":["serverless","Serverless","工程师","腾讯","中间件","InfoQ","Netflix","Node","团队"]},"html":"<p>随着互联网技术的发展，前端领域的从业人员越来越多，随之而来的还有工程师的成长问题。Yunong Xiao，在互联网领域深耕 12 年，他曾在腾讯、AWS、Netflix 等知名互联网公司，从最开始的工程师到现在的腾讯云中间件总经理。为此我们请到了 Yunong 来聊下，国内外顶尖互联网公司的氛围区别，以及自身快速成长的经验。</p>\n<p><code class=\"language-text\">采访嘉宾丨Yunong Xiao</code></p>\n<p><strong>▎ InfoQ：首先请向读者介绍一下你自己。</strong></p>\n<p>Yunong：大家好，很高兴接受 InfoQ 采访。我是腾讯云中间件总经理 Yunong Xiao，目前主要负责 Serverless、微服务、Middleware 和 DevOps 等多条业务线，同时也兼任中间件团队的首席架构师。在此之前，我是 Netflix 公司 Netflix API Serverless 平台负责人，负责一些架构、微服务、容器技术等相关工作，使之更易于开发人员使用。再早的话，我曾在 AWS 和 Joyent 任职，主要从事分布式系统相关研究和工作，在此期间构建了 AWS IAM 和 Triton Object Storage 等云产品。以上是我的一些职业经历。</p>\n<p><strong>▎ InfoQ：你在腾讯云的主要工作是什么？</strong></p>\n<p>Yunong：我的团队叫腾讯云中间件团队，中间件（Middleware）是一个比较传统的概念。对于中间件如何理解呢？</p>\n<p>云应用的架构主要有三层：最顶层是各种应用业务的应用和服务；最底层是由云提供的各种的底层资源和基础设施；而中间件就是中间的一层。</p>\n<p>之所以叫中间件，它的意义就是为了让顶层的应用和服务能够更好的管理、配置和使用底层的云资源和基础设施。</p>\n<p>所以，我和我的团队的工作目标就是，为了让云资源更易于开发人员使用，让开发者能够基于 Serverless、微服务、DevOps 等能力，更快、更好、更简单地开发自己的应用程序。</p>\n<p><strong>▎InfoQ：你在中国和美国的知名互联网公司都有工作经验，可以从你的角度介绍一下在中美互联网公司工作的不同经验吗？</strong></p>\n<p>Yunong：在公司文化方面，无论是美国硅谷还是中国的公司，都有很好的程序员文化和极客思维。现在国内外的工程师还是有很多交流机会的，比如，各种技术会议也会邀请中外工程师同台演讲。在 Github 上的一些项目中，你可以看到中外程序员都在贡献和讨论。中外文化的差异，并不会对工程师的工作产生较大影响。但是也有一些不同的体验，感觉中国互联网公司，工程师会更加勤奋，在公司的时间也相对比较长。</p>\n<p>我发现大家之所以工作时间长，其中一个重要原因，是开发者很大程度上是因为效率问题，或是说工程师需要去关注一些与写代码无关的工作，比如处理服务器的稳定性，或是优化架构。说到这里，我想这也是我带领的团队正在做的事情的价值所在。包括我之前做过的 API 平台，以及目前专注的 Serverless 领域，共同点就是能让开发者更高效、更快速、更低成本的去做开发工作。我也希望 Serverless 能够赋能开发者，从技术角度去解决或者缓解这个问题。</p>\n<p><strong>▎InfoQ：价值观对工程师成长影响很大。比如，腾讯的“正直、进取、合作、创新”，Netflix 的“自由与责任” 的，这些对工程师有何影响吗？</strong></p>\n<p>Yunong：这是一个很好的问题。评价一个优秀的工程师，价值观是很重要的因素。自由和责任也是完全不冲突的，我带领团队时也对价值观有很高的要求。</p>\n<p>整体来说，我对团队的管理方式是很自由灵活的。举个例子：在我的团队中，工程师可以灵活地安排工作地点和时间，如果工程师觉得咖啡馆更有效率，产出更好，那也是允许的。这是自由的方面，价值观方面我们同样需要达成一个共识，除了公司要求的价值观之外，我对大家也有三点要求：客户第一、平等、协作。这也是我们团队的价值观，大家必须做到。</p>\n<ul>\n<li>客户第一，就是把客户的需求摆在第一位，一切从客户的角度出发去思考问题。如果一个方案或者产品对客户没有价值，不是从客户的视角考虑的，就不会得到支持和资源。</li>\n<li>平等，在团队里每个成员都是平等的。在沟通的时候每个成员都拥有相同的话语权，需要靠自己的知识、专业性来说服大家，不会因为职位高，或者工作年限长而获得更多的话语权。</li>\n<li>协作，个人的力量是极其有限的，每个团队成员都应以开放的心态，去沟通、去协作，只有彼此协作起来，才是真正的 teamwork。</li>\n</ul>\n<p><strong>▎InfoQ：能否根据您的教育和成长经验，和工程师读者朋友们分享一下快速成长的经验？</strong></p>\n<p>Yunong：关于工程师的成长经验，这是一个见仁见智的问题。不同背景不同领域的人，可能给出的答案也不同。就我个人观点，工程师快速成长要做好三个方面：</p>\n<ul>\n<li>认真做好当前自己手里的事情。这是成长之本，工程师最忌惮的就是浮躁。在当前的领域内，长期积累起丰富的知识和足够的经验，是支撑成长的底子。</li>\n<li>在做好手里本职工作之后，保持对技术的追求和敏感性。并不是说要去盲目地追求新技术，而是要真正思考某个新的技术和方向，到底解决了业务和行业中的什么问题，什么痛点，为什么是值得投入的？只有深入思考，才能准确把握好当前的技术和行业风向，在准确的位置对自己进行技术投资。</li>\n<li>工程师需要拥有产品思维。工程师不仅需要理解技术，还需要站在用户、产品、市场的角度去思考问题。技术的价值是解决实际问题，只有站在了这个角度，才能更好地理解技术的价值，提升段位。</li>\n</ul>\n<p><strong>▎ InfoQ：您以前在 Netflix 负责过大规模的 Node.js 应用，腾讯也有类似的应用吗？</strong></p>\n<p>Yunong：我之前负责过 Netflix Serverless API 平台，这是一个规模非常大 Node 应用程序，支撑了 Netflix 很多核心业务。这说明 Node 的能力完全能够支撑起公司的核心业务模块，大家要对 Node 有信心，这一点无论在 Netflix 还是腾讯都得到了证明。比如腾讯公司内部也有一个叫 NGW（Node GateWay）的 Serverless 中台应用，撑起了很多腾讯业务的 BFF 和 SSR，量级也很大，类似案例在其他公司也有。</p>\n<p>这些大多都是公司内部的应用案例，我现在专注于云计算 Serverless 方向，是一个 80% 的应用都是基于 Node 的平台。我希望能将我的一些经验和积累，赋能给整个互联网行业，使 Node 能在互联网行业得到更大的应用。</p>\n<p><strong>▎ InfoQ：Serverless 是腾讯云的主要发展重点。去年，腾讯云还提出了 Serverless 2.0 的概念。去年以来这方面有什么新变化吗？它们将如何发展？</strong></p>\n<p>Yunong：Serverless 2.0 发布之后，我们持续做了如下几个方面的建设，也取得了一些不错的成果：</p>\n<ul>\n<li>首先，我们在 2019 年 Q3 和 Serverless.com 公司达成战略合作，共同建设中国的 Serverless 生态。Serverless.com 公司的产品 Serverless Framework 是全球最受欢迎的 Serverless 开发平台，Github 上拥有近 3.5 万的 star。</li>\n</ul>\n<p>此外，众所周知在 Serverless 开发领域存在几大痛点，分别是计费体验、开发体验和上下游生态方面。Tencent Serverless 也通过构建 “铁三角” 能力，将开发者在 Serverless 中的痛点逐个击破，让 Serverless 变得更加可用、易用、好用。</p>\n<ul>\n<li>计费方面：支持毫秒计费能力，和业界的 100ms 粒度计费相比，腾讯 Serverless 独家支持 1ms 级别计费，像水和电一样按需付费。</li>\n<li>开发体验：Serverless 云端一站式的开发解决方案，提供实时日志、云端调试以及丰富的开发工具支持，极大降低开发者学习门槛。</li>\n<li>开源生态：建设 Serverless 中文站 /Serverless 中文社区。开源社区共建，也和 Authing 等第三方合作伙伴共建 Serverless 开源生态。</li>\n</ul>\n<p>这些新进展也得到了行业的肯定，非常值得一提的是，近期我们在 Forrester New Wave 的 FaaS 领域全球评测中，取得了全球 Top 3 的好成绩，在产品体验、战略视野和安全性方面肯定了腾讯 FaaS 平台的优势。我对腾讯云 Serverless 的未来发展充满信心。</p>\n<hr>\n<div id='scf-deploy-iframe-or-md'></div>\n<hr>\n<blockquote>\n<p><strong>传送门：</strong></p>\n<ul>\n<li>GitHub: <a href=\"https://github.com/serverless/serverless/blob/master/README_CN.md\">github.com/serverless</a></li>\n<li>官网：<a href=\"https://serverless.com/\">serverless.com</a></li>\n</ul>\n</blockquote>\n<p>欢迎访问：<a href=\"https://serverlesscloud.cn/\">Serverless 中文网</a>，您可以在 <a href=\"https://serverlesscloud.cn/best-practice\">最佳实践</a> 里体验更多关于 Serverless 应用的开发！</p>","tableOfContents":""},"previousBlog":{"id":"a53da5f1-6904-5125-b2e8-1f87cc645bd6","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/202025/1580916042404-1.png","authors":["Anycodes"],"categories":["user-stories"],"date":"2020-03-22T00:00:00.000Z","title":"基于 Serverless 的人工智能相册小程序","description":"App store 上各类人工智能相册程序，其实都可以通过 Serverless 来实现！","authorslink":["https://www.zhihu.com/people/liuyu-43-97"],"translators":null,"translatorslink":null,"tags":["Serverless","AI"],"keywords":"Serverless 全局变量组件,Serverless 单独部署组件,Serverless Component","outdated":true},"wordCount":{"words":256,"sentences":54,"paragraphs":54},"fileAbsolutePath":"/opt/build/repo/content/blog/2020-03-22-ai-album.md","fields":{"slug":"/blog/2020-03-22-ai-album/","keywords":["go","python","serverless","website","photo","album","相册","功能","tags"]}},"nextBlog":{"id":"0529eafa-9029-59ad-875f-0b20e3a0c315","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020326/1585231022072-%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_15852308195522.png","authors":["Adrian S."],"categories":["guides-and-tutorials"],"date":"2020-03-17T00:00:00.000Z","title":"看懂 Serverless SSR，这一篇就够了！","description":"了解我们如何为每个 Webiny 网站获得出色的 SEO 支持，以及如何在无服务器环境中使用 SSR 使其超快运行","authorslink":["https://blog.webiny.com/serverless-side-rendering-e1c0924b8da1"],"translators":null,"translatorslink":null,"tags":["Serverless SSR","AWS Lambda"],"keywords":"腾讯云 Serverless,Serverless,Serverless framework","outdated":null},"wordCount":{"words":2153,"sentences":218,"paragraphs":215},"fileAbsolutePath":"/opt/build/repo/content/blog/2020-03-17-serverless-ssr.md","fields":{"slug":"/blog/2020-03-17-serverless-ssr/","keywords":["go","nodejs","react","serverless","ssr","单页应用","服务端渲染","服务器端渲染","客户端渲染","同构渲染","无服务器","页面","缓存","渲染","Lambda","应用程序","方法","服务器"]}},"recommendBlogs":{"edges":[{"node":{"id":"4300b21c-7209-5256-86ff-0d38e3daec9b","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/14f1c8eed372e76c1b139703b2f6d0fa.jpg","authors":["KieranMcCarthy"],"categories":["user-stories","engineering-culture"],"date":"2018-01-09T00:00:00.000Z","title":"我是如何在四年时间里，从厨师转行为 Serverless 应用开发者","description":"我是厨师出身，现在成为了一名 Serverless 应用开发者。","authorslink":["https://serverless.com/author/kieranmccarthy/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["应用开发","Serverless"],"keywords":"Serverless 应用开发,Serverless 管理,厨师转行为 Serverless 应用开发者","outdated":null},"wordCount":{"words":285,"sentences":38,"paragraphs":36},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years.md","fields":{"slug":"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years/","keywords":["无服务器","无服务器开发","云函数","学习","Serverless","构建","Framework","开发者","服务器","应用","学位","简历"]}}},{"node":{"id":"36ad18b2-1694-5b48-bb23-d6a5575343cd","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/4c101fcf0be63a70e0aa992da17dd955.png","authors":["BrianNeisler"],"categories":["engineering-culture"],"date":"2018-01-24T00:00:00.000Z","title":"如何将设计思维应用到精益初创公司的软件开发中","description":"关于将设计思维与敏捷开发相结合的尝试 —— 成功与失败剖析","authorslink":["https://serverless.com/author/brianneisler/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["敏捷开发","Serverless"],"keywords":"Serverless 设计思维,Serverless 敏捷开发","outdated":null},"wordCount":{"words":213,"sentences":41,"paragraphs":41},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-23-appy-design-thinking-lean-startup-software-development.md","fields":{"slug":"/blog/2018-01-23-appy-design-thinking-lean-startup-software-development/","keywords":["思维","设计","用户","团队","产品","想法","验证","优先级","敏捷","公司"]}}},{"node":{"id":"e7fe6284-d107-5e80-8e6e-cae075aff38c","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/67b0bff4886896e1ee5d4f5917cf6096.jpg","authors":["FelixDesroches"],"categories":["engineering-culture"],"date":"2018-02-09T00:00:00.000Z","title":"Serverless 公司的远程团队沟通策略","description":"Serverless 团队分散在全球各地，本文介绍我们如何管理沟通策略和远程协作。","authorslink":["https://serverless.com/author/felixdesroches/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["远程协同","Serverless"],"keywords":"Serverless 远程团队,Serverless 沟通策略,Serverless 远程协作","outdated":null},"wordCount":{"words":137,"sentences":22,"paragraphs":22},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-02-09-communication-strategies-remote-teams.md","fields":{"slug":"/blog/2018-02-09-communication-strategies-remote-teams/","keywords":["沟通","团队","工具","Radical","Candor","团建","Slack","方式"]}}},{"node":{"id":"548b1bba-ea90-5753-a0eb-040193083655","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/20191212/1576149285117-charmmie-square.jpg","authors":["CharmmieHendon"],"categories":["engineering-culture"],"date":"2018-02-01T00:00:00.000Z","title":"一名时尚艺术家转行到科技行业的历程","description":"Serverless 团队新成员 Charmmie 是从高级时装行业转行到技术领域的，本文是她的故事，太酷了。","authorslink":["https://serverless.com/author/charmmiehendon/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["Serverless"],"keywords":"Serverless 团队成员,Charmmie","outdated":null},"wordCount":{"words":242,"sentences":39,"paragraphs":37},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-30-serverless-style-from-fashion-to-tech.md","fields":{"slug":"/blog/2018-01-30-serverless-style-from-fashion-to-tech/","keywords":["go","serverless","Serverless","技术","科技","Sam","行业","时尚","工作","时装","旧金山","适合"]}}},{"node":{"id":"dc9c5f49-4ee1-56bb-b5ec-6780d9fd69e1","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/c2598ce0fad913a7d1fe2bfcdd3324e3.jpeg","authors":["NickGottlieb"],"categories":["engineering-culture"],"date":"2018-02-23T00:00:00.000Z","title":"通过 Serverless 架构构建更好的软件","description":"Nick Gottlieb 分享了他在 ServerlessConf Tokyo 上关于 Serverless、软件状态以及提高生产效率方法的演讲。","authorslink":["https://serverless.com/author/nickgottlieb/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["Serverless"],"keywords":"Serverless 架构构建,ServerlessConf Tokyo,Serverless 效率方法","outdated":null},"wordCount":{"words":200,"sentences":42,"paragraphs":42},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-02-23-serverless-path-building-better-software.md","fields":{"slug":"/blog/2018-02-23-serverless-path-building-better-software/","keywords":["无服务器","云函数","Serverless","服务","构建","工具","软件","开发人员","函数","架构"]}}},{"node":{"id":"73576d26-e0ce-5f26-9330-64b4f3889157","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/3cb7b20955d78ced738e0279bb3f6f41.jpg","authors":["AndreaPasswater"],"categories":["news","engineering-culture"],"date":"2018-03-09T00:00:00.000Z","title":"Serverless 数据解读：2018 报告","description":"Serverless Framework 使用统计数据：事件源、服务结构、运行时长等等。","authorslink":["https://serverless.com/author/andreapasswater/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["事件源","服务结构"],"keywords":"Serverless 统计数据,Serverless 事件源,Serverless 服务结构","outdated":null},"wordCount":{"words":212,"sentences":45,"paragraphs":45},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-09-serverless-by-the-numbers-2018-data-report.md","fields":{"slug":"/blog/2018-03-09-serverless-by-the-numbers-2018-data-report/","keywords":["go","serverless","无服务器","云函数","服务","使用率","Go","部署"]}}},{"node":{"id":"665f9ce2-4451-59fd-bf98-1861789d3b3b","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/Serverless_logo.png","authors":["AndreaPasswater"],"categories":["guides-and-tutorials","engineering-culture"],"date":"2018-03-19T00:00:00.000Z","title":"如何为无服务器开放源代码项目做贡献","description":"想要为无服务器开放源代码项目做贡献？您可以遵循下面的指南。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":96,"sentences":36,"paragraphs":36},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-19-how-contribute-to-serverless-open-source.md","fields":{"slug":"/blog/2018-03-19-how-contribute-to-serverless-open-source/","keywords":["serverless","无服务器","serverless","github","插件","服务器","贡献","示例","blog","contribute"]}}},{"node":{"id":"a3e92579-65c3-5159-937c-32d18c5df7d7","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/why-not/why-not-header.png","authors":["AndreaPasswater"],"categories":["guides-and-tutorials","operations-and-observability","engineering-culture"],"date":"2018-03-21T00:00:00.000Z","title":"不适合选择无服务器的情境及原因","description":"无服务器既有优点也有缺点。那么，哪些情境下不适合选择无服务器？原因又是什么呢？","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":163,"sentences":43,"paragraphs":43},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-21-when-why-not-use-serverless.md","fields":{"slug":"/blog/2018-03-21-when-why-not-use-serverless/","keywords":["faas","react","serverless","spa","无服务器","无服务器函数","无服务器架构","无服务器开发","服务器","twitter","serverless","blockquote","lang","script","en"]}}}],"totalCount":87}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"e1f62876-7147-577c-8c06-c2e44874c382","previousBlogId":"a53da5f1-6904-5125-b2e8-1f87cc645bd6","nextBlogId":"0529eafa-9029-59ad-875f-0b20e3a0c315","categories":["user-stories","engineering-culture"]}}}