从 2018 年下半年开始,互联网行业出现了一个高频的名词:“寒潮”,一时间蓬勃发展的互联网行业似乎遭遇了节节挫败。同年,《中国就业市场景气报告》中的数据显示,互联网行业招聘需求人数同比下降27%,在一些细分领域中,职位需求数更是同比下滑57%。多家知名互联网科技公司相继爆出裁员或降薪的消息。互联网“寒冬”似乎已悄然来袭。
在2021年底的一次腾讯内部会议上,首席执行官马化腾告诉员工,公司应该为“冬天”做好准备。2022年8月,华为创始人任正非喊话:“活下去”,并称“把寒气传递给每一个人”。
雪崩之时,没有一片雪花是无辜的。堤溃之时,没有一个人能作旁观者。
程序员作为互联网行业的生力军,处于行业变化的潮头浪尖。大浪滔滔、席卷前进。我们需要从一个新的角度来审视这种变化,从一个新的角度重新认识程序员这个岗位、这个角色、这份工作。
很多人想做程序员,首要原因是其高额的薪资。然而,在高薪的背后,也有许多鲜为人知的压力。程序员岗位是一个高竞争、高压力、高淘汰的岗位,有着鲜明的岗位特点。外界对程序员有不少刻板的印象,比如“不修边幅”“少言木讷”之类。而实际上,程序员的生活也是丰富多彩的。你是否真正走进过他们的日常生活?是否了解他们的关注点?
由资深程序员、51CTO社区专家博主、掘金社区签约作者、互联网技术社区热门博主涂阿然老师编著的这本《程序员成长手记》将带领大家打破固有认知,重新开始建立对程序员的印象,重新认识程序员这个职业。
作者写书的初衷及过程
2021年,当机械工业出版社编辑找到我,希望我写一本关于“程序员成长”的书的时候,我感到些许讶异。出书?我也能出书吗?因为在我固有的印象中,著书立说之人或是学之大者,或是在专业领域有卓绝贡献、对某类事物有独到见解的人,他们往往引领一个方向,指引一批人前行,是在某个领域开疆拓土的先锋、榜样。出书在我心目中是“神圣”的。
而彼时的我,首要身份是一名“单纯、朴素”的程序员,在互联网行业已沉浮数年。
本科毕业后,我投身互联网行业,从事程序员工作,先后在创业型电商公司、互联网百强企业、大型央企任职。坦率地说,我的工作经历和大部分普通程序员相似,经历过初入职场时的手忙脚乱,经历过试用期被筛选的忐忑,经历过升职、加薪后的喜悦,经历过互联网“寒潮”时大量裁员的无奈,经历过因技术精进而带来的兴奋,经历过和产品人员“互怼”的执着……
这些经历看似平常,但就在此刻,在互联网时代的当下,正在一些互联网公司上演着。有些经历值得我们思考、探究、总结,以形成经验。从“经历”到“经验”,为后来者铺平前路,让他们走得更远。
彼时的我,还有另外一个重要的身份 —— 一名技术博客博主。
程序员写技术博客就像厨师写菜谱,非常有必要。一名新手厨师一定要牢牢记住师傅教授的技艺,好记性不如烂笔头,这是写菜谱最初的动力;随着经验的积累,新手厨师成长为独当一面的厨师,此时应该有一个属于自己的独到的菜谱库;再往后,可能成长为一位远近闻名的大厨,真正的大厨不会放过任何一个细节,此时可以把毕生经验转化为一套可以传世的菜谱,造福后人,并推动行业的发展。
程序员人生中的相当一部分应当是博客人生,所以,我在毕业时有了写博客的意识,从此便开启了我的博客之旅。好的开始是成功的一半,剩下的另一半就要靠“持之以恒”来实现。
蓦然回望,不曾发觉,我的博客“粉丝”数已过万,博客上已输出上百篇文章,全网阅读量逾百万,我成为各大技术社区的优秀创作者、签约作者或专家博主。
诗人纪伯伦说过:“我们已经走得太远,以至于忘记了为什么而出发。”
现在再看出版社的这份邀约,我当时就应当鼓足勇气、迎难而上,接受这个挑战。
有人认为写书是一项浩大的工程,甚至不敢想象。其实,只要“敢去做”,就是好的开始,下一步只用去解决“如何去做”的问题。写书和写博客如出一辙,就像博客是由一篇篇文章组成的,图书也是由一个个章节组成的。写博客时的用心也同样可用于写书。保持勤于思考、整理,以及乐于分享、输出的心态,去做就可以了。
在我刚毕业的时候,如果有人能条理清晰地告诉我“如何制作简历”“如何投递简历”“如何准备面试”“如何对比多个offer并做出选择”“如何快速适应职场”……那么我会很感激他。
程序员成长手记作者序在我初入职场的时候,如果有人能耐心地告诉我“如何融入团队”“如何做好一个项目”“如何提升技术”“如何应对职场压力”“如何规划职业发展”……那么我会很感激他。
在我遇到成长“瓶颈”的时候,如果有人能循循善诱地告诉我“如何调整心态”“如何拓宽视野”“如何启发认知”“如何寻找榜样”“如何建立自己内心的秩序”……那么我会很感激他。
对于我这样一个“简单、朴素”的程序员,可能之前没有在合适的时候得到过合适的建议,便一路上摸爬滚打,灰头土脸地走过来了。现在,我希望本书可以作为一块垫脚石,帮助初入职场的程序员向上更进一步。我们知道,有时候得到一些帮助、听取一点建议,真的可以少走很多弯路。
程序员的成长之路是一条“无尽之路”,亦如“学海无涯”,学会欣赏旅途中的风景,远胜于抵达终点。
至此,正在阅读本书的你,相信也能感受到我的诚意。在写作本书时,我倾尽全力,就是希望给读者一些想要的关于程序员成长的建议。同时,诚邀各位读者和我一起倾力拨开程序员成长之路上的迷雾,向后回望,汲取经验,向前问道,上下求索,踏实走好职场每一步。
最后,致敬每一位正在奋斗的程序员!
本书的内容
这本书不仅讲透“代码那些事儿”,还能告诉程序员“职场进阶软技能”。
这本书共分为8章,分别介绍如下。
第1章先导:重新认识程序员这个职业
第1章是先导篇。很多人想做程序员,首要原因是其高额的薪资。然而,在高薪的背后,也有许多鲜为人知的压力。程序员岗位是一个高竞争、高压力、高淘汰的岗位,有着鲜明的岗位特点。外界对程序员有不少刻板的印象,比如“不修边幅”“少言木讷”之类。而实际上,程序员的生活也是丰富多彩的。你是否真正走进过他们的日常生活?是否了解他们的关注点?本章带领读者打破固有认知,重新开始建立对程序员的印象,重新认识程序员这个职业。
第2章入门:技术是成长的根基
第2章是技术入门篇。如果想在未来从事程序员职业,那么应该从基础技术入手,学习一门基础的编程语言和计算机通用技术。构建知识体系也非常重要,读者可以不用一次构建完成,但绝不能不做这项工作。
第3章经验:树立项目全局观
第3章是经验篇,旨在帮助程序员快速融入规范的软件开发项目中。在工作中,程序员时刻面对的就是软件开发项目。程序员是项目中非常重要的角色,一定要有全局意识,能推进流程、突破关键问题。本章将深入探讨程序员的代码开发工作,深入学习代码管理、文档管理、IDE等。本章最后将探讨敏捷开发,它是热门的、科学的软件开发方法。
第4章职业:本色做人、角色做事
第4章是职业篇。作为一个专业领域的职场角色,程序员有自己准确的定位和职责范围。专业程序员,应有专业的工作态度;在处理人际关系方面,应有高情商的表现;对于空闲时间的处理,也应充实和有意义。
第5章进阶:程序员的可持续发展
第5章是进阶篇,从软技能角度探讨程序员如何可持续发展,具体内容包括:如何实现代码规范、可以参考的优秀编程原则、如何通过自动化来实践规范、如何提高代码的可读性、怎样理解“源码即设计”、如何做代码的审查工作,以及如何落地代码的单元测试等。
第6章升职:程序员的职业发展
第6章是升职篇。在职场中,成长的一个重要标志是升职和加薪,这是客观上对个人能力的肯定。程序员的职业发展同样遵循这个规律。是在技术层面持续发力,成为技术专家,还是同时学习管理知识,向着技术管理岗位努力?程序员需要懂产品吗?本章将探讨这些问题。本章还会重点讨论如何提升程序员素养、开源、学习时间管理与授权等。对升职、加薪感兴趣的初、中级程序员,可重点阅读本章。
第7章思维:多听多想、打开格局
第7章是思维篇。作者有一句牢记在心的格言:“信念产生行动、行动养成习惯、习惯生成性格、性格决定命运。”可见思想、信念的重要性。首先改变思维,思维会引领行动,意志坚强的人,往往执行力也不会差;有了行动之后,需要持之以恒,坚持行动能形成习惯;习惯则会塑造大脑,培养独特的气质、性格;而性格往往决定命运,这是大家熟知的。究其根源,必须重视思维的提升,这是一个优秀程序员与普通程序员之间最关键的差异之一。
第8章自驱:路遥知马力
自驱力是个人成长中非常重要的能力,甚至可以称它为“第一能力”。拥有自驱力的人,不需要别人的督促,就会主动去做自己该做的事情。他们往往有着明确的目标和强劲的动力,懂得化被动为主动,通过努力获取自己追求的东西。“主动意味着一切”,这是本章想要强调的。在本章最后,还会介绍“熵增理论”,探讨如何通过成长来抵御生命的负熵。
很荣幸,本书在编写过程中得到了业内专家的支持和认可。
联合推荐
Eason|资深程序员、央企技术组长
作为一名资深程序员,我深知行业内的挑战和所需的技能。回想刚入行的时候,如果能有一位师傅在身边谆谆教导必定能少走很多弯路。从某种程度上说,《程序员成长手记》就充当了这样一个角色。这是一本非常实用的指南,它用简明的图表、温润的语气、丰富的角度,深入浅出的讲解和案例,探讨了程序员这个角色的方方面面,不仅为程序员小白提供了入门的明确路径、实际工作中的各种工作场景,还深入探讨了职场中常见的经典问题,绝对是每个程序员都希望遇至的良师益友。
优弧|掘金技术社区运营负责人
作为技术社区的运营负责人,我见过不少程序员在成长路上摸爬滚打。这本书就像是给这些朋友的成长秘籍。书里不仅是代码那些事儿,还有职场晋升、团队沟通这些软技能,做到了面面俱到。作者用自己的经验,把复杂的概念讲得通俗易懂,适合新手,也对资深程序员有所启发。看完这本书,你会发现,无论是写代码,还是团队协作,都能找到新的突破点。作者把干货知识和实战经验结合得很好,对于想要在编程路上走得更远的小伙伴,这本书值得推荐。
德育处主任|互联网热门技术博主
大多数程序员似乎只知道低头做事,却忘记抬头看天,这是传统工程学思维导致的。只有工程学一种思维的程序员往往会过于专注手头的任务,后果是直接影响其职业天花板的高度。《程序员成长手记》是我今年读过最好的程序员灯塔类书籍,它不仅将“如何正确做事”讲清楚,还指引我“如何做正确的事”。要“做正确的事”需要程序员具备系统论思维。本书将工程学和系统论思维结合起来,引导我建立一种全新的思维方式。可以说,本书全是重点!
▊《程序员成长手记》涂阿然 编著
这是一本资深程序员的职场告白,提供实用的编程技巧和职业发展指导,让你在程序员的道路上走得更远、更稳;其特色在于职场晋升与职业发展、团队协作与沟通、程序员灯塔助力学习与创新。
撰 稿 人:计旭,责任编辑:张淑谦,审 核 人:曹新宇