我们都有一个共同的梦想——成为更棒的程序员,但是如何做?如何学习和精进自己的技术?如何做业务分析和架构设计?如何做技术管理?本书就广大程序员都很关注的问题提供一些思路和方法。
本书内容分为三大篇:第1篇介绍程序员的技能成长路径,介绍如何通过学习来加速成长,并讲解非常重要的业务分析和设计知识;第2篇详细介绍了架构修炼中的必备架构思维模式、架构设计过程,还通过真实案例剖析了架构设计的核心要素及关注点,以及如何通过架构设计来把控质量和风险;第3篇总结了做技术管理的诀窍,揭秘如何从准备做技术管理到实现自我管理再到实现团队管理。
本书适用于即将或者正在从事IT相关开发工作,却不知如何提升自己,希望通过适当的学习方法精进技术的初级程序员;也适用于具备一定架构设计经验,想进一步系统化提升架构设计能力的中级程序员;以及有一定技术积累,想从事技术管理却不知如何着手的高级程序员。
致力于让程序员:不迷茫、成长更快、成长路径更明晰,右军、Hollis等主笔,史海峰、小灰等力荐
于君泽
某互联网公司技术专家,在分布式系统架构设计、高并发系统设计、领域建模、研发管理、内建质量等方面有较多心得,乐于交流和分享,曾创立技术社群“中生代技术”。
维护技术公众号“技术琐话”。
李伟山
现任某人工智能公司技术总监,江湖人称“山哥”,在分布式系统架构设计、高并发系统设计、系统稳定性保障等方面积累了丰富的实践经验,擅于利用数据分析解决实际问题,对新技术有浓厚的兴趣,乐于分享。
个人技术公众号:技术方舟。
张洪亮
网名Hollis,知名技术博主,个人技术博客(http://www.hollischuang.com)阅读量达数百万。90后程序员,2015年毕业于哈尔滨理工大学,现任某互联网公司技术专家,专注于Java研发、技术架构及程序员的成长等方面。
个人技术公众号:Hollis。
彭首長
熊猫优福联合创始人,聚美优品前技术总监。在团队管理、领域设计、分布式架构、高并发设计、IoT架构等方面有丰富的实践经验,擅长行业分析,对新技术高度敏感,热衷于技术实践且乐于分享。
刘朋
高绩效团队教练,教练型领导,中生代技术社区联合创始人,北京大学理学学士、工学硕士。现就职于中国移动(成都)5G产业研究院,曾任诺基亚通信(成都)有限公司研发经理。在敏捷实践、高绩效团队教练技术、技术团队管理等方面积累了丰富的经验,并总结出一套特别适合程序员突破自身瓶颈、快速成长的领导力模式。
推荐序1
世界需要什么样的程序员
不想当工程师的程序员不是好民工。会编程不代表会工作,工程能力包含软硬技能,面向的是实际应用。从程序员变为工程师,得先“入门”,然后才是“上道”,从而成为“工型人才”。有人工作几年还没入门,只会简单开发;有人开发技能娴熟,却找不到进一步成长的路径,陷入迷茫之中;更有不少人自诩为IT精英,却不了解行业格局、发展趋势,很快就遇到职业发展瓶颈,蹉跎了岁月,虚度了青春。
在我看来,好的程序员应该是“工型人才”。所谓“工型”,是指从下到上的能力提升过程。具体来说,就是先要具备完成完整应用的能力,包括:线上运维,成为熟手,这是下面的一横;在某些领域足够深入,成为高手,这是中间的一竖;在达到更高的水平之后,兼通很多领域,比如业务、产品、项目管理、测试、运维、团队组织,成为驱动者和领导者,这是上面的一横。
每个人的成长都是不断打怪升级的过程,既要掌握技术和工具,又要学习方法和理论、积累实战经验,更要思考和沉淀。先进技术只是工具,最终目标是解决问题。经验丰富的工程师就像MMA(Mixed Martial Arts,综合格斗)高手,精通综合技巧,活学活用,不拘泥于流派。在勇猛、精进之外,踏实、靠谱更为重要。踏实,是有自己的方向,知道差距;靠谱,是能把活儿干好,值得大家信赖,大家都乐于和你合作,放心把有挑战的任务交给你。
从程序员到工程师,读这本书就够了!本书非常实用,可称作程序员入行手册。市场上的各类“21天学会XXX”和“XXX编程宝典”书已经太多了,能够传承工作中实践技巧的书依然太少。本书汇聚了多位资深技术老炮儿压箱底的傍身秘技,兼顾软硬技能,贯通了程序员从基础到进阶再到突破的各个阶段,道出了成长的真谛,更手把手地指引我们前行。
有道是“师傅领进门,修行在个人”,徘徊在门外或者迷茫在路口的新同学,从此不必再上下求索、苦苦寻觅。一书在手,夫复何求?希望你能通过本书,提升程序员的大局观,在成为“工型人才”的路上迈出坚实的一步,并穿越众妙之门,通达三千世界。
微信公众号“IT民工闲话”作者 史海峰
推荐序2
程序员的工作是将从现实或者虚拟世界中抽象出来的逻辑以代码的形式实现,需要凝神静气才能完成一段有质量的代码。但不得不承认的是,程序员这个职业在很大程度上是吃青春饭的,如何充分把握自己的青春年华做一名优秀程序员?如何为未来的职业发展打下良好基础?这是每个程序员都应该认真思考的问题。
非常遗憾的是,程序员这个职业所需要的知识、技能和经验,并不能完全从学校获得,更多地来自工作实践。本书系统且循序渐进地介绍了如何从菜鸟程序员成为高级研发人员或者架构师,以及如何积累知识和经验成为技术管理者,对于程序员在编码过程中需要用到的工具、模式、测试、沟通和架构知识,作者也给出了亲身实战经验总结。
本书应该成为程序员的案头手册,对程序员的快速成长意义重大。读了这本书,相当于同老一代程序员深入交谈,他们也把自己的酸甜苦辣、成功与挫折、心得与秘密悄悄地告诉了你。这不仅仅建立了你的大局观,也让你有机会有赢在起跑线上。
易宝支付 陈斌