程序员进阶攻略 / 每个程序员都应该知道的成长法则
胡峰
京东成都研究院技术专家
 
  • 课程目录
  • 课程介绍
  • 开篇词 | 程序行知:走在同样的路上,遇见自己的风景

    程序员的成长道路没那么平坦和舒适,会面临各种问题与困惑,一路上充满了崎岖、障碍和迷雾。所以,这个专栏会围绕程序这个行业、程序员这个职业,画出一条清晰的成长路径。

  • 01 | 初心:为什么成为一名程序员?

    初接触程序,大学选专业和换专业,工作换城市和换行业……这几个重要的人生选择点,连起来就是我自己的成长线。从初心未明,到心已明、行将远。

  • 02 | 初惑:技术方向的选择

    回顾过去,为什么当初你选择了这个技术方向?你在未来面临类似选择时,还能做得更好吗?

  • 03 | 初程:带上一份技能地图

    初入程序世界难免迷茫,要在这个世界立足、生存,并得到很好的发展,应首要具备怎样的技能呢?未来的程序之路,先给自己准备一份基本的技能地图,先有图,再上路。

  • 04 | 初感:别了校园,入了江湖

    初入江湖,一些故事,一些感悟,一份清醒。

  • 05 | 架构与实现:它们的连接与分界?

    从编写代码“实现”到系统“架构”设计的这条路上,程序员们应先来看清楚和想明白实现与架构之间的交叉、连接与分界,可不能稀里糊涂“闷头”往前走。

  • 06 | 模式与框架:它们的关系与误区?

    在程序设计的路上你一定会碰到 “设计模式”,而在代码开发的路上你还一定会碰到 “开发框架”,它们都是好工具,但也可能被用错了。

  • 07 | 多维与视图:系统设计的思考维度与展现视图

    采用框架式的思考维度与多层次的展现视图,得到更成体系的软件系统设计。

  • 08 | 代码与分类:工业级编程的代码分类与特征

    你需要写哪些代码?写出优雅代码的前提是什么?

  • 09 | 粗放与精益:编程的两种思路与方式

    编程方式和习惯的阶段转变:从写得多、写得粗放,到写得好、写得精益。

  • 10 | 炫技与克制:代码的两种味道与态度

    如何避免写出给自己挖坑的代码?

  • 11 | 三阶段进化:调试,编写与运行代码

    编程这三个阶段的进化转变,就是一个从模糊磕碰到精确流畅的过程。

  • 12 | Bug的空间属性:环境依赖与过敏反应

    空间类 Bug,需要你考虑程序对运行环境的依赖、反应及应对。

  • 13 | Bug的时间属性:周期特点与非规律性

    时间类 Bug,需要你考虑程序对执行时序的依赖、出现的周期及应对。

  • 14 | Bug的反复出现:重蹈覆辙与吸取教训

    为什么 Bug 总是反复出现?其中有哪些原因和教训呢?

  • 15 | 根源:计划的愿景——仰望星空

    为什么要做计划?因为有愿望。愿望源自人固有的需求层次,愿望产生目标,引发计划,驱动我们去规划生涯,将来回首无悔。

  • 16 | 方式:计划的方法——脚踏实地

    如何做计划?制定 HARD 目标,开始有计划且 SMART 的每一天。

  • 17 | 检视:计划的可行——时间与承诺

    计划可行吗?可行的计划应该是:有限的时间,适合的周期,兴趣的选择,郑重的承诺。

  • 18 | 评估:计划的收获——成本与收益

    计划付出什么?又收获什么?你该如何评估代价与收益?

  • 19 | 障碍:从计划到坚持,再到坚持不下去的时候

    为什么那么多计划都半途而废了?在执行计划时,你会碰到怎样的障碍?本文从计划生命周期的各个阶段来为你分析下。

  • 20 | 执行:从坚持到持续,再到形成自己的节奏

    计划执行的有效方法是什么?找到自己的节奏持续“奔跑”下去吧!

  • 21 | 信息:过载与有效

    本文为你讲述信息时代应对知识过载的心智模型与方法策略。

  • 22 | 领域:知识与体系

    个人的成长有很多方面,但对于程序员的成长最重要的就是知识体系的构建。那么该如何建立体系,形成自己的领域呢?

  • 23 | 转化:能力与输出

    建立了个人知识体系和团队协作体系,那么该如何运转体系,转化能力,并高效输出?

  • 24 | 并行:工作与学习

    程序员在工作中容易陷入不断完成的循环怪圈,要打破它,就需要有选择性地持续学习。而学习的路在时间上是永远持续的,在空间上也是有路径的。

  • 25 | 时间:塑造基石习惯(上)——感知与测量

    在塑造关于时间习惯之前,先要能很好地感知和测量你的时间。

  • 26 | 时间:塑造基石习惯(下)——切割与构建

    时间习惯,是构建一切好习惯的基石,你该如何切割属于你的 “时间原石”?并用它们来构建什么?

  • 27 | 试试:一种“坏”习惯

    多尝试本该是好事,但它也有一些“坏”的地方。那到底“坏”在哪里呢?

  • 28 | 提问:从技术到人生的习惯

    成长,“成” 于解决问题,但 “长” 于提出问题。

  • 29 | 偏好:个人习惯的局限与反思

    本文讲述了从解决问题的个人习惯路径到真正的普适有效方法。

  • 30 | 写作:写字如编码

    不会写作?可以尝试用编码的过程方法,实现清晰持续地写作。

  • 31 | 画图:一图胜千言

    不会画图?你差的不是一个画图工具,而是思维与技法。

  • 32 | 演讲:表达的技术

    不会演讲?其实演讲的方法有道可循。

  • 33 | 定义:阶梯与级别

    程序员的职场阶梯有几级?每级阶梯的特征是什么呢?

  • 34 | 晋升:评定与博弈

    如何看待你在阶梯的位置及晋升评定过程的相对博弈?

  • 35 | 关系:学徒与导师

    成长的阶梯上,有这样一种学徒与导师的关系,你可曾认真看待?

  • 36 | 核心:安全与效率——工程技术的两个核心维度

    抓住了“安全与效率”这两个核心维度,也就理解了各种工程技术形态的本质。

  • 37 | 过程:规模与协作——规模化的过程方法

    在程序系统的开发过程中,当系统的大小和复杂度到了一定的规模临界点,就会发生从量到质的转变。量级变了,逻辑就不一样了。

  • 38 | 思维:科学与系统——两类问题的两种思维解法

    系统思维洞察问题本质,科学思维发现最优解法。

  • 39 | 职业倦怠:如何面对?

    避免倦怠的方法:找到自己的 “工作区”,进入 “工作态”。

  • 40 | 局部最优:如何逃离?

    站在局部最优点的徘徊,而要走出的第一步,总是向下的。

  • 41 | 沟通之痛:如何改变?

    认识沟通的本质,建立讨论的原则,选择适合的形式。

  • 42 | 技术停滞:如何更新?

    面对技术停滞,技能过时,又该如何保持更新,与时俱进?

  • 43 | 无法实现:困扰与反思

    “技术上无法实现” 的口头禅仅仅是我们阻挡需求的快捷方式,但这样的思维也阻碍了我们进一步去找到真正的实现路径和优化方案。

  • 44 | 完成作品:理想与现实

    从反复写代码实现需求的重复困境中,到打磨作品实现价值的理想,再回归产品化的现实之路。

  • 45 | 代码评审:寄望与哀伤

    关于代码评审,有时我们过于寄望,却又不免哀伤。

  • 46 | 人到中年:失业与恐惧

    程序员,青春饭?适当的恐惧感,可能更安全。

  • 47 | 该不该去创业公司?

    当你面临加入创业公司的选择时,问问你的期望,评估现实的条件,再做出满意的选择;决策过后,可能有遗憾,但没不甘。

  • 48 | 该不该接外包?

    关于是否要接外包,可以问问你的初衷,评估付出的代价,做出理性的选择。

  • 49 | 技术干货那么多,如何选?

    面对技术干货,循证参考决策路径,切磋比对思考方式,连结形成知识体系。

  • 50 | 技术分歧,如何决策?

    技术分歧时,决策标准的相对与绝对,决策原则的因素与考量。

  • 51 | 技术债务,有意或无意的选择?

    关于技术债务,为何会负债?又该如何还债?

  • 52 | 选择从众,还是唯一?

    选择从众、随大流,还是选择一条只属于自己的路?

  • 53 | 选择工作,还是生活?

    工作与生活,是非此即彼?还是可以平衡兼得?

  • 54 | 侠客行:一技压身,天下行走

    关于技能模型,其选择的路径与深度什么?

  • 55 | 江湖路:刀剑相接,战场升级

    升维之道,从具体实践到理论抽象,再回归实战。

  • 56 | 御剑流:一击必杀,万剑归心

    进入了升级后的战场,也需要升维后的技能模型,那我们该如何从旧有的技能模型进行升维演化呢?

  • 57 | 三维度:专业、展现与连接

    创造价值,展现成果,连接可能。

  • 58 | 三人行:前辈、平辈与后辈

    前辈探路开拓,同辈携手并行,后辈参考借鉴。

  • 59 | 三角色:程序员、技术主管与架构师

    从程序员,到技术主管,再到架构师,名称变化了,工作内容也发生了变化,而角色的转换可能会带来不少的困惑。

  • 60 | 三视角:定位、自省与多维

    定位未来,自省当下,多维扩展。

  • 61 | 工作之余,专业之外

    成长与发展的路线,不应自我局限于当下的工作和专业。

  • 62 | 跨越断层,突破边界

    边界,有时就是画地为牢;断层,有时就是主动停止。

  • 63 | 成长蓝图,进化跃迁

    建立战略蓝图,进入非连续性的跃迁式成长。

  • 尾声 | 始于知,终于行

    “知” 的部分结束了,该你 “行” 了。

如何才能持续成长,是每一个程序员都绕不开的话题。

入行之初,你可能会困惑于技能选择的方向和掌握的方法;编程前期,你可能会苦恼于Bug的调试与修复;技术水平达到瓶颈期,你可能又急于寻求突破和上升。除此之外,职业倦怠了,如何去面对?技术停滞了,如何去解决?人到中年,是选择工作还是选择生活?换工作?换城市?换方向?如是种种,磨蚀着曾经的乐观和现在的不甘,是放任自流还是逆流而上?

但,还好“永远有走在你前面的人”,别人留下的 “脚印” 和路径可以给予正在成长阶段的你很多启发与指引。

在这个专栏里,胡峰将结合十余年从业经验,设身处地去思索、去剖析、去拆解程序员不同阶段可能面临的实际困惑和问题,并给出可供参考的答案。本专栏是胡峰长时间的资源积累,字字珠玑,有着清晰的路径和完整的体系,去启发、去指引,由“知” 改变 “行”,让你的程序之路走得更稳、更远。不仅传授知识,而且授人以渔——提供为程序员量身定做的进阶路径。

作者简介

胡峰,京东成都研究院技术专家,TGO会员。目前承担京东咚咚产品线技术架构工作,专注于 Java 后端分布式系统技术架构相关领域。

工作至今十多年,毕业后先后进入金融、电信行业写程序,成为了一名程序员。七年前加入京东,跟随互联网电商行业的高速发展,快速成长,也一路从程序员成长为了架构师。除了技术工作,近年他也开始领导研究院技术委员会,负责人才识别,晋升选拔,关注人才梯队层次建设和个人成长发展。

专栏模块

本专栏共63期,分为六大模块。

  1. 征途:启程之初。入行之初,需要具备哪些最基础的技能?会面临怎样的困惑?最初的感受如何?找到走上程序之路的初心,成就更好的自己。
  2. 修炼:程序之术。程序之路前期,多会是以编程(炼术)为主:程序系统的架构与设计,功能模块的开发与编码,缺陷 Bug 的调试与修复。
  3. 修行:由术入道。除了编程写代码之外,还有一些其他维度的修行道路:计划的体系,精进的思维,习惯的养成,展现的形式,上升的阶梯,工程的方法。
  4. 徘徊:道中彷徨。行道中途,会面临成长平台期的困惑,该如何选择?
  5. 寻路:路在何方。前路多分岔,关于方向、角色、自省与定位,该如何决断?
  6. 蜕变:破茧成蝶。成长之路不连续,有阻挡你蜕变的边界与断层,该如何跨越?

专栏目录

限时福利

适宜人群

也许你正处于下面的某个阶段:

  • 入行之初,困惑于技能选择的方向和掌握的方法?
  • 编程前期,苦恼于只能写出Bug不断的挖坑代码?
  • 快速成长期,纠结于无法建立出自己的精进体系?
  • 进阶瓶颈期,迫切于做出改变、寻求突破和上升?
  • 面对成长断层,迷茫于停滞不前、无法跃迁成长?

不管你处于何种阶段,也不管你是学生、初级开发人员、技术主管,或者是架构师,甚至是对程序相关领域感兴趣的人士,都可以利用专栏中所提及的框架体系和思维方法去践行,有所得、有所获。

你觉得怎么样?期待您评价: