程序员的能力模型

我之前说过,程序员如果想有未来,必须最少做到P7的水平,这样在未来找工作可以有很大的选择权。

同时P7具备的专业的开发技能和一定的架构知识,在程序员纬度上能力慢慢趋于全面。

而且我推荐技术团队的leader要到P7才开始带团队,从BAT来看,基础leader都是P7开始胜任的。

那么P7亦或是P8应该具备哪些技能呢?简单梳理了一下。


后台开发知识

关键词:理解原理,掌握后台架构设计方法论

标准:

  1. 深刻理解系统在实际运行过程中所经过的各个环节的相关知识,原理,如硬件(CPU,内存,存储架构等),内核(进程调度,内存管理模型),应用(设计模式,进程模式,同步异步设计),网络(协议栈,拓扑结构,收敛比等),清楚各个部分对实际系统服务的影响,对性能优化和系统扩展有清晰的思路。
  2. 深刻理解高并发,高可用系统设计理论,能够在实际场景中灵活运用。
  3. 熟练掌握IO,多线程,网络协议,数据存储,分布式相关框架中间件设计原理,并能够根据业务场景做定制开发。
  4. 熟练掌握柔性可用,过载保护,灰度升级等各类海量用户访问的架构设计方法和适用场景。
  5. 掌握业内在高并发高可用高性能方面的优秀做法和经验,能够根据业务实际特点采取积极措施,达到行业领先水平。

业务领域知识

关键词:理解产品核心体验,对业界多个业务有深入理解,行业趋势判断

标准:

  1. 对个人负责的业务的未来发展(包括产品,技术架构等)有一定了解,能指导平时工作。深入理解产品核心体验,在技术方案和产品体验上能和产品团队一起进步。
  2. 对业界相关多个行业方向有深入了解,在整体上可以和产品团队一起沟通并推动产品持续正向发展。
  3. 对业界发展趋势能够有正确判断,能够引领产品和技术团队,推动整个行业变革。

开发能力

关键词:能主导或核心参与大中型项目,能担任大型项目的技术负责人

标准:

  1. 精通1~2门主流开发语言。
  2. 熟悉1~2种常见软件工程开发模式,领会其中要领,并在具体项目中实践过。
  3. 主导或深入参与过一个中型项目研发工作,或在一个大型项目中研发其中核心子项目,担任其中研发负责人。
  4. 能够协同团队完成简单系统的研发工作,包括需求调研,设计,开发,文档,测试,上线等。
  5. 能够协调系统各模块等研发进度,推动系统按时交付。
  6. 具备良好的业界技术视野,精通软件工程方法论,能对现有工作方法,所用系统和工具在流程,使用方法等层面提出建设性意见。
  7. 担任过大型项目的技术负责人,有完整从立项到上线项目经验。
  8. 能够带领团队完成复杂系统研发工作,包括需求调研,设计,开发,文档,测试,上线。
  9. 能够主导项目推进和交付。

架构能力

关键词:子系统设计能力,完整系统设计能力,横向大系统设计能力&前瞻性

标准:

  1. 能够完成多方需求收集,形成技术需求文档。
  2. 能够选择合理的架构完成中型以上项目的架构设计(多进程,多模块,多服务器)。
  3. 能够预估项目所用的所有资源及项目的工作量,并预估项目的瓶颈和风险,选择合理方案。
  4. 能够把项目分解的层次分明,具有清晰的接口定义,可实现,同时能够给出测试方案。
  5. 考虑合理的地域或机房分布,系统灾备能力,运维发布及扩展性。
  6. 能够充分的估算出系统可达的性能,能够设计出高性能,高并发,海量数据处理系统。
  7. 能够对公司内部系统的架构有一定深度的认识和了解。
  8. 掌握海量服务的思想和理念,能够权衡技术方案,研发节奏,产品体验,作出合理取舍。
  9. 能够对业界架构有深入了解,技术视野宽。
  10. 能够跟踪业务对架构对需求,能够前瞻性对改进架构。
  11. 能够完成完整对架构设计,能够在业界处于领先地位。
  12. 设计的系统有足够的可扩展性。
  13. 在架构方向达到行业领先水平,能够在架构设计上引领行业变化。
  14. 完成横向大系统架构设计,该产品为公司创造重大影响力和价值。

业务运维

关键词:主导系统容灾容错设计实施,业务可用性保障,多业务可用性保障及创新建设

标准:

  1. 能够根据系统架构,资源状况进行系统容错容灾设计并主导实施。
  2. 能够设计系统的柔性,有损和灰度机制,推动系统监控准确度,覆盖度和完善。
  3. 能够对问题进行快速定位,分析解决。
  4. 针对某业务领域,主导建立完整对可用性保障机制和相应流程。
  5. 能够主导业务架构设计,根据业务发现,资源条件进行架构演进设计。
  6. 面向公司级多业务领域,能够主导建立完整对可用性保障机制和相应对流程,并在此基础上进行创新性建设,在行业有一定影响力。

执行力

关键词:目标拆解,资源协调,确定目标,用于担当

标准:

  1. 能够承担有挑战性项目或工作任务,并按要求高质量完成。
  2. 针对给定的问题目标,能够全面分析抓住任务关键因素。
  3. 灵活应变及保证任务的执行,并能不断改进积极寻找办法提高工作效果或工作效率。
  4. 能协调多方资源确保完成。
  5. 用于承担难度大,有挑战性的工作任务,并能够直面问题敢于承担风险和责任。
  6. 针对某一领域,能够迅速抓住关键目标。
  7. 针对工作上的困难,能够协调各方采取有效办法解决技术或设计问题,推动工作计划按要求前进直到最终目标。

原文发布于微信公众号 - 服务端技术杂谈(develop_king)

原文发表时间:2018-09-17

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏罗超频道

百度轻应用,看看开发者怎么说

百度世界大会推出了轻应用开放平台,业界对此已充分解读。有人认为这是百度框计算的衍伸,主要是为了汇聚移动端数据;也有人说这是百度对微信的表态,轻应用是与公...

3887
来自专栏程序你好

Why、When以及How:成功迁移到微服务

当一个业务应用程序(一个开发团队)变得更大,达到一定的规模时,公司就会遇到严重的管理和合作瓶颈。此外,如果一个软件产品基于一个巨大的整体架构,那么它们也面临着技...

1081
来自专栏PPV课数据科学社区

《游戏数据分析的艺术》之游戏数据分析的流程(下)

点击上方 “蓝色字” 可关注我们! 作者:TalkingData高级咨询总监 - 于洋力作《游戏数据分析的艺术》第一章第一节的前三点的重点阐述。 来源:Talk...

33710
来自专栏CDA数据分析师

【干货】小白学数据分析—留存率是什么?

在网站分析、电商分析、网游分析中,对于留存率的关注度极高,这一浪潮随着APP应用、社交游戏的火爆逐渐成为一个很重要的衡量准则,也甚至有了40-20-10准则。对...

2487
来自专栏IT大咖说

DevOps与传统的融合落地实践

内容来源:2017年5月6日,王津银在“DevOps&SRE 超越传统运维之道”进行《DevOps与传统的融合落地实践》演讲分享。IT大咖说作为独家视频合作方,...

39710
来自专栏SDNLAB

边缘计算的未来:不仅仅是物联网

什么是边缘计算,为什么我们有这样的结论?为此,我们首先需要了解云和SaaS的发展方向。

1273
来自专栏互联网数据官iCDO

数字营销从业者必读 --- 7种数字营销策略完全指南

引言:本文分享了7种数字营销策略的清单,营销人员可以通过这些策略来帮助他们的团队和业务发展,同时我们还制定了关于数字策略和营销活动的速成课程。 翻译 | 陈明艳...

1K4
来自专栏ThoughtWorks

企业实施DevOps的七大挑战|洞见

DevOps这个词在近年来可谓大火。从2014年底我开始给一些企业做持续交付/DevOps相关的评估和咨询,似乎每个企业都表示想要推行DevOps,或者说他们正...

2896
来自专栏腾讯移动品质中心TMQ的专栏

这样的测试过程管理让你事半功倍

在产品日益复杂化的今天,用户需求不断增多,我们的业务 KPI 压力骤增。在如此严峻的环境下,如何能够求得质量和收益的双赢呢?

3562
来自专栏WeTest质量开放平台团队的专栏

解决虚幻引擎4手游开发难题,腾讯WeTest携GAutomator、APM亮相UOD大会

1363

扫码关注云+社区

领取腾讯云代金券