极客时间课程总结:那些编程之外的能力

前言

主要总结一下下面这些课程的主要知识点:

  • 《左耳听风》
  • 《程序员进阶攻略》
  • 《10x 程序员工作法》
  • 《大厂晋升指南》

可以看到,上面这些课程不是主讲某个编程语言,或者某个技术栈,而是针对程序员整体的一个能力,整体的一个方向进行说明。很多程序员可能常常会有误区,认为程序员应该只专注于编码相关技术,从而忽略掉其他很重要的能力,导致专业和职业发展受限。


《大厂晋升指南》

极客时间课程总结:那些编程之外的能力_第1张图片

  • 了解晋升体系

  • 什么样的人容易晋升

    • 第一条原则是主动原则,主动做事的人,比等着别人安排的人更容易晋升。所以你应该定期或者不定期地主动找主管沟通,交流关于工作任务的想法和意愿,寻求机会;同时,你也要主动找同事沟通,了解更多工作相关信息。

    • 第二条原则是成长原则,一边做事一边挖掘成长点、提升自己能力的人,比光顾着做事的人更容易晋升。所以如果你已经能得心应手地完成现在的任务,就应该主动跳出舒适区,尝试更高难度和更高复杂度的事情;同时,不管事情做好了还是没做好,你都应该多做复盘总结,找到可以提升优化的点。

    • 第三条原则是价值原则,让能力为公司产出价值的人,比空有一身能力的人更容易晋升。所以,如果你的时间很宝贵,就应该优先学能为公司产出价值的技能。

  • 通用晋升步骤

    • 第 1 步,按照晋升原则的指导,在当前级别拿到好的结果,为公司创造价值,同时把当前级别要求的能力提升到精通程度(比如从 P6- 到 P6+),这样你才有机会成为晋升备选人员。

    • 第 2 步,到了精通程度之后,对照下一级别的要求来提升自己的各种能力(比如到了 P6+ 之后,按照 P7- 的要求来提升自己),为可能的晋升机会做好准备。

    • 第 3 步,主动寻找工作机会,尝试做下一个级别事情(比如提升了 P7 的能力之后,找 P7 级别做的事情来做,争取成为负责人,主导事情的推进和落地),继续拿到好的结果,向主管证明你具备下一级的能力。

    • 第 4 步,拿到工作结果之后申请晋升,向评委介绍你做过的事情,展示相关的能力和结果,证明自己具备了下一级别要求的能力。

  • 把抽象的能力具体化

    • 规模复杂度

    • 时间复杂度

    • 环境复杂度

    • 创新复杂度

  • 核心能力

    • P5/P6 相当于专业工匠,核心能力是执行任务,P5 和 P6 的差别在于能否独立完成任务。

    • P7/P8 相当于乐团指挥,核心能力是指挥团队,P7 和 P8 的差别在于指挥的是单个团队还是多个团队。

    • P9/P10 相当于电影导演,核心能力是导演作品,P9 和 P10 的差别在于导演出来的是成熟的作品还是成名的作品。

  • P5:从学生到“打工人”

    • P5 的核心能力要求是在别人的指导下完成任务,主要提升目标是从学生转变为“打工人”。

    • 技术方面,P5 需要打好基础,学习岗位要求的基础技术。采用“碎片化时间,系统化学习”的方法提高你的技术学习效率。

    • 业务方面,P5 需要熟悉各项业务功能的实现逻辑。对于 2C 业务,你要成为产品的深度用户;对于 2B 业务,你就要多跟客户交流。

    • 管理方面,P5 的重点是熟悉项目流程,避免踩坑。你需要注意学习公司的管理制度。

  • P6提升攻略:怎么成为独立自主的“项目能手”?

    • P6 的核心能力要求是独立负责端到端的项目任务,主要提升目标是成为独立自主的“项目能手”。

    • 技术方面,P6 需要掌握团队用到的各种技术的“套路”,重点提升技术深度,学习时要避免贪多求全的心态,优先深入学习跟工作内容强相关的技术。

    • 业务方面,P6 需要掌握某类业务相关的所有功能,并深度理解处理逻辑,主要的提升方法是“5W1H8C1D”分析法和竞品分析。

    • 管理方面,P6 需要负责项目子任务推进,包括工作量评估、计划制定和沟通协调等。评估工作量的时候,建议使用 WBS 分解法,先拆解成容易评估的小任务,然后独立评估每项任务,最后汇总。

  • P7提升攻略:怎么成为让人信服的“团队专家”?

    • P7 的核心能力要求是指挥单个团队达成目标,主要提升目标是成为让人信服的团队专家。

    • 技术维度上,P7 需要精通团队相关的技术,重点提升技术宽度,主要提升方法是“比较学习法”。在这个阶段,你既要避免因为管理而丢掉技术,也要避免“生搬硬套”新技术。

    • 业务维度上,P7 需要掌握业务整体情况,从用户特征、用户价值、获客方式和获利方式 4 个方面理解业务 6~12 个月的规划。对于 2C 业务,AARRR 漏斗模型是必须掌握的;对于 2B 业务,还应该了解行业强相关的手段和措施。

    • 管理维度上,P7 需要负责指挥单个团队。对于担任 Team Leader 的 P7 来说,需要系统化地掌握管理的基本技能,避免事必躬亲或者做甩手掌柜;对于不是 Team Leader 的 P7 来说,要学会做一个靠谱的项目负责人。

  • P8提升攻略:怎么成为有影响力的“领域专家”?

    • P8 的核心能力要求是指挥多个团队达成目标,主要提升目标是成为有影响力的领域专家。

    • 技术维度上,P8 需要精通领域相关的技术,重点提升领域技术宽度,可以通过研究开源项目和参加技术大会来拓宽自己的技术宽度,也可以在技术大会上做主题演讲来提升自己的影响力。

    • 业务维度上,P8 需要熟悉多个业务,并且开始需要掌握战略规划相关的技能,以帮助自己理解业务整体规划,可以采取“宝洁战略模型”的方法快速提升自己的业务理解力。

    • 管理维度上,P8 需要负责指挥多个团队,提升自己管理技能的核心是学会抓住三个管理重点:搭建团队梯队,参与目标制定,关注技术演进。

  • P9提升攻略:怎么成为跨域整合的“业务导演”?

    • P9 的核心能力要求是导演成熟作品,主要提升目标是成为跨领域整合的业务导演。

    • 技术维度上,P9 需要具备跨领域整合的能力,重点提升领域技术广度,可以通过环式学习法来提升自己的技术广度,通过关注和跟进新技术来提升自己的创新能力。

    • 业务维度上,P9 需要规划业务目标,并且需要掌握战略规划相关的技能,指导自己做出好的业务规划,可以采取“宝洁战略模型”的方法快速提升自己的业务规划能力。

    • 管理维度上,P9 需要负责指挥多个不同领域的团队,除了抓住三个管理重点(搭建团队梯队、参与目标制定、关注技术演进)外,还可以采用授权的方式管理团队,但必须注意,不要把授权变成放羊。

  • 面试技巧

  • PPT框架:标准的晋升PPT长什么样子?

  • PPT写作:怎么写才能展现自己真正的实力?

  • PPT讲解:怎么讲才能让评委印象深刻?

  • 答辩技巧:回答评委提问有哪些技巧?

  • 学习方法

  • 海绵学习法:怎么找到你的10000小时?

  • 你应该掌握哪些学习方法?

  • 三段分解法:怎么利用10000小时成为大牛?

  • 链式 & 比较 & 环式学习法:怎么多维度提升技术能力?

  • Play & Teach:怎么摆脱“从入门到忘记”的学习困境?

  • 做事方法

  • 导学:你应该掌握哪些做事方法?

  • 为什么业务和管理是晋升高级别的基石?

  • 5W1H8C1D分析法:P5/P6怎么理解业务功能?

  • AARRR漏斗模型:P7/P8怎么掌握业务领域?

  • 宝洁战略模型:P8+/P9怎么看懂业务战略?

  • 管理四象限:小白要怎么快速入门带团队?

  • 管理五模式:高手常用的管理模式有哪些?

基础、熟练和精通的区别刚才我介绍的这两条晋升逻辑,都涉及一个关键的问题:怎么区分基础、熟练和精通呢?这其实是一个世界难题,到目前为止,还没有明确客观的标准可以直接套用。不过呢,我根据自己的经验和理解,总结出了一套相对比较容易操作的标准。我来简单描述下这套标准,你可以看看是不是很好用。基础意味着“会做”。如果你会做某个级别要求的事情,就说明已经具备了基础能力。当然,这里的“会”是指能够独立自主地完成,而不是别人想好之后告诉你,你再按照别人的话去做。熟练意味着“做好”。跟基础不同,熟练是指能够把当前级别的事情做好。做好体现在做事熟练,掌握了做事的最佳实践,能够保证效率和质量,能够拿到好的结果。精通意味着“优化”。精通是指能够优化当前级别的事情,比如采取不同的方式、思维和工具来做同样的事情,并取得突破。

两个误区:错误理解“基础”与碎片化学习在 P5 阶段提升技术时,很容易陷入 2 个误区。第 1 个常见的误区是错误地理解了“基础”的意思。我在第 3 讲介绍价值原则的时候提到过,很多人为了提升自己的基础能力,跑去学编译原理和 Linux 内核源码分析,或者去背一些算法源码。结果他们到头来发现,投入了大量的时间和精力,却没什么收获。所以你一定要记住,基础是和工作任务相关的基础,而不是整个计算机行业的基础。关于怎么学习基础技术,我会专门用一期加餐来系统地介绍。第 2 个常见的误区是只通过搜索来进行碎片化学习。工作中遇到一个问题或者一个技术点,就上网搜索几篇文章学习一下,很多人都是这么做的。碎片化学习虽然投入时间少,但是效果难以保证。首先,你不可能在工作中遇到某个技术相关的所有问题;其次,通过这种方式,你只知道一个个零散的技术点,而不知道这些技术点之间的关系。以 HTTP 缓存为例,如果只是单纯去搜索“HTTP Cache-Control”,你确实可以知道 no-cache 和 no-store 等名词的含义。但是整个 HTTP Cache 协议、浏览器的处理逻辑和服务器的处理机制这些技术点你就学不到了,而它们在分析 HTTP 性能相关的问题或者优化 Web 页面的时候都是必须掌握的。可能你会觉得碎片化学习是没有办法的事情,因为工作以后就不像在学校那样,有整段的学习时间。虽然客观条件是这样,但碎片化时间并不意味着只能碎片化学习,正确的做法是“碎片化时间,系统化学习”。也就是说,每天都抽出一小段时间有计划地学习某项技术,哪怕每天 10 分钟都可以,但总体的学习内容是系统化的。想让学习系统化,最简单的办法就是对照一本经典的书籍循序渐进地学习。虽然你不能把所有的内容都一次性学懂,但至少在学完一遍后,可以对一项技术的完整体系建立整体印象。这样,你后续再深入学习这项技术的时候,效率也会更高。除了书籍之外,学习技术类线上课程也是一种很不错的方式。线上课程的作者都是在某个领域积累了丰富经验的专家,而且讲解的内容跟实际工作关系紧密,再加上这些作者往往会有自己独到的理解,你学习起来会更有趣,也更有效率。同时,线上课程往往还配有音频,比书籍更适合上下班通勤的时候学习,让你更高效地利用碎片时间。


《10x 程序员工作法》

  • 以始为终
  • 1以终为始:如何让你的努力不白费?
  • 2DoD的价值:你完成了工作,为什么他们还不满意?
  • 3接到需求任务,你要先做哪件事?
  • 4持续集成:集成本身就是写代码的一个环节
  • 5精益创业:产品经理不靠谱,你该怎么办?
  • 6解决了很多技术问题,为什么你依然在“坑”里?
  • 7为什么说做事之前要先进行推演?
  • 8你的工作可以用数字衡量吗?
  • 9迭代0: 启动开发之前,你应该准备什么?
  • 任务分解
  • 1向埃隆·马斯克学习任务分解
  • 2测试也是程序员的事吗?
  • 3先写测试,就是测试驱动开发吗?
  • 4大师级程序员的工作秘笈
  • 5一起练习:手把手带你分解任务
  • 6为什么你的测试不够好?
  • 7程序员也可以“砍”需求吗?
  • 8需求管理:太多人给你安排任务,怎么办?
  • 9如何用最小的代价做产品?
  • 沟通反馈
  • 1为什么世界和你的理解不一样?
  • 2你的代码为谁而写?
  • 3轻量级沟通:你总是在开会吗?
  • 4可视化:一种更为直观的沟通方式
  • 5快速反馈:为什么你们公司总是做不好持续集成?
  • 6开发中的问题一再出现,应该怎么办?
  • 7作为程序员,你也应该聆听用户声音
  • 8尽早暴露问题: 为什么被指责的总是你?
  • 9结构化:写文档也是一种学习方式
  • 综合运用
  • 1新入职一家公司,怎么快速进入工作状态?
  • 2面对遗留系统,你应该这样做
  • 3我们应该如何保持竞争力?

《程序员进阶攻略》

  • 征途:启程之初
  • 1初心:为什么成为一名程序员?
  • 2初惑:技术方向的选择
  • 3初程:带上一份技能地图
  • 4初感:别了校园,入了江湖
  • 修炼:程序之术
  • 1架构与实现:它们的连接与分界?
  • 2模式与框架:它们的关系与误区?
  • 3多维与视图:系统设计的思考维度与展现视图
  • 4代码与分类:工业级编程的代码分类与特征
  • 5粗放与精益:编程的两种思路与方式
  • 6炫技与克制:代码的两种味道与态度
  • 7三阶段进化:调试,编写与运行代码
  • 8Bug的空间属性:环境依赖与过敏反应
  • 9Bug的反复出现:重蹈覆辙与吸取教训
  • 修行:由术入道
  • 1根源:计划的愿景——仰望星空
  • 2方式:计划的方法——脚踏实地
  • 3检视:计划的可行——时间与承诺
  • 4评估:计划的收获——成本与收益
  • 5障碍:从计划到坚持,再到坚持不下去的时候
  • 6执行:从坚持到持续,再到形成自己的节奏
  • 7信息:过载与有效
  • 8领域:知识与体系
  • 9转化:能力与输出
  • 10并行:工作与学习
  • 11时间:塑造基石习惯(上)——感知与测量
  • 12时间:塑造基石习惯(下)——切割与构建
  • 13试试:一种“坏”习惯
  • 14提问:从技术到人生的习惯
  • 15偏好:个人习惯的局限与反思
  • 16写作:写字如编码
  • 17画图:一图胜千言
  • 18演讲:表达的技术
  • 19定义:阶梯与级别
  • 20晋升:评定与博弈
  • 21关系:学徒与导师
  • 22核心:安全与效率——工程技术的两个核心维度
  • 徘徊
  • 1职业倦怠:如何面对?
  • 2局部最优:如何逃离?
  • 3沟通之痛:如何改变?
  • 4技术停滞:如何更新?
  • 5无法实现:困扰与反思
  • 6完成作品:理想与现实
  • 7代码评审:寄望与哀伤
  • 8人到中年:失业与恐惧
  • 9该不该去创业公司?
  • 10该不该接外包?
  • 11技术干货那么多,如何选?
  • 12技术分歧,如何决策?
  • 13技术债务,有意或无意的选择?
  • 14选择工作,还是生活?
  • 蜕变:破茧成蝶
  • 1工作之余,专业之外
  • 2跨越断层,突破边界
  • 3成长蓝图,进化跃迁
  • 知行——始于知,终于行

《左耳听风》

  • 程序员面试攻略
  • 1程序员面试攻略:面试前的准备
  • 2程序员面试攻略:面试中的技巧
  • 3程序员面试攻略:面试风格
  • 4程序员面试攻略:实力才是王中王
  • 高效学习
  • 1高效学习:端正学习态度
  • 2高效学习:源头、原理和知识地图
  • 3高效学习:深度,归纳和坚持实践
  • 4高效学习:如何学习和阅读代码
  • 5高效学习:面对枯燥和量大的知识
  • 高效沟通
  • 1高效沟通:Talk和Code同等重要
  • 2高效沟通:沟通阻碍和应对方法
  • 3高效沟通:沟通方式及技巧
  • 4高效沟通:沟通技术
  • 5高效沟通:好老板要善于提问
  • 6高效沟通:好好说话的艺术

你可能感兴趣的:(程序人生,程序人生,面试,经验分享)