35岁+的大龄程序员:面对“中年危机”,这份书单或许能帮到你

摘要:对于多数程序员来说,40岁之前赚到别人60岁的钱是普遍目标,不过职业的进阶也印证着人生的进阶,所以何时开始思考未来的职业规划,都不算早。

知乎上有个话题叫做“程序员的悲哀是什么?”,有个高赞回复直戳大多数程序员的命门:“最大的悲哀就是以为自己挣到了很多钱,其实根本不懂怎么挣钱,随着年龄的增长,工作瓶颈越来越多,越来越容易受到歧视,却不知道怎么走下去!”

程序员老实、爱学习,也是最有危机感的群体之一,他们每天在GitHub、各大技术论坛上如饥似渴地汲取对自己最有帮助的技术知识,同时怕时间精力跟不上高强度的程序员工作。

为此,我们基于华为云各个产品线技术专家多年工作经验和心得体会,再经过层层筛选整理,推出了这份程序员进阶必读书单。

无论你是1年小白、5年资深还是10年技术专家,或者更高阶的CTO,都可以在书单中找到适合自己目前阶段的书,清晰化未来要走的方向,让你的路越走越宽,财富累积/技能累积/经验累积也会愈发顺利。

程序员的第一阶段:初级程序员(0-3年)

初级程序员工作经验在3年以下,处于打基础、定方向的阶段,这时候建议主要精力用于夯实基础,规范编程上,将会终身受益。

一、了解自己所在的领域,对吃饭的工具有清晰的认知

《编码:隐匿在计算机软硬件背后的语言》 豆瓣评分:9.2分

这本书常年排在程序员必读书单TOP5内,作者用丰富的想象将看似繁杂的计算机工作原理阐述得通俗易懂。

比如读的时候,你会惊讶地发现把电线、电灯泡、触发器这些常见的零件拼拼接接,最后居然可以建造一台电子计算机,在这个过程中,还顺便学了数理逻辑、布尔代数、组合数学、集合、物理、化学和电子学。

二、代码是一个程序员的灵魂,每个优秀的程序员都应该认真对待亲手写出的代码

《代码整洁之道》 豆瓣评分:8.6分

阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。

作者Bob大叔给出了一系列整洁代码操作实践,并用实际项目的正、反案例,说明只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

而干净的代码,既容易理解、质量可靠,而且让项目更容易启动和延续,也为后期维护、升级奠定了良好基础。

三:从实际问题出发,让自己的编程语言和思维更上一层楼

《编程珠玑》 豆瓣评分:9.1

作者Jon Bentley可以说是计算机科学大家培养专业户,Java之父James Gosling就是他的学生。

他选取了典型的复杂编程和算法问题,生动描绘大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。比如和Bob Martin讨论密西西比河一天流出多少水,用这样一个小问题引出粗略估算的技巧。

四、多学点算法和数据结构,提高编程水平

《数据结构和算法分析(套书)》 豆瓣均分:8.7分

 

国内外很多大学都拿它当作教材,这套书非常系统、全面、严谨,适合对数据结构和算法有些基本了解,并且掌握了至少一门编程语言的程序员。而且,作者用了C\C++\Java三种语言分别写了三个版本。

被众多程序员选为最好的算法入门书,看完了这本书再看其它算法书,会很有底气。

五、初级程序员必备的软技能,学习做好职业规划、自我营销

《软技能—代码之外的生存指南》 豆瓣评分:8.0分

概括了软件行业从业人员所需的“软技能”,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造个人IP,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康,堪称程序员的生活百科全书。

这个阶段的程序员童鞋,有的想深入学习某一门主流开发语言,例如Java,则可以进行由浅到深的学习、实训,熟练使用Java进行面向对象设计(查看JAVA学习路线)。

如果想对于自己所学做一个初步应用,可尝试从最初级的网站建设开始(查看学习路线),从0学起,从HTML、CSS基础课程开始,到页面脚本、页面框架等,可以轻松上手网站搭建。

程序员的第二阶段:中高级程序员(3-5年)

从部门新人变为老人后,需要对自己的职业规划有明确方向,如果选择专攻技术,必然要多学习,进一步提高业务能力和技术能力,积累优质的项目经验。

例如对底层基础建设感兴趣,可以进行数据库的系统学习(查看学习路线)数据库一站式学习平台 ,涵盖数据库理论基础、优质课程、案例实践。

如果对移动端的开发感兴趣,可以尝试移动开发学习路线(点击开始免费学习)。移动开发一站式学习平台 ,涵盖Android基础核心、优质课程、案例实践。从入门到精通,精准学习。

一、“代码有很多种坏味道,重复是最坏的一种”,先让你的代码更优雅

《重构:改善既有代码的设计》 豆瓣评分:9.0分

重构,就是在不改变外部行为的前提下,有条不紊地改善代码。本书凝聚了软件开发社区专家多年实践经验,解释重构的原理和最佳实践方式,并指出何时何地应该开始挖掘你代码以求改善。

整本书第三章“代码坏味”,写的很有用。什么是代码的坏味道,如何消除这些坏味道,这是一本关于代码美学的一本书,培养码农那高贵的code taste的不二选择。

二、总有不合理的软件项目存在,如何避免犯一些经典错误

《快速软件开发》 豆瓣评分:8.4分

软件开发处处都是陷阱,作者告诉你前人都踩了哪些坑。本书总结了以微软为代表的美国软件业的项目实践经验,并列出了可以提高项目开发速度的方法和技巧。

比如,过紧或不合理的进度计划可能是软件开发唯一最具破坏力的杀手,所以开发人员要提高谈判能力,合理规划项目进度。

三、技术能力之外,提高工作效率很重要

《高效程序员的45个习惯》 豆瓣评分:8.2分

总结高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等方面积极修炼。

养成这些好的习惯,可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。

四、程序员职业生涯到了一定阶段,系统地思考职业发展

《软技能2:软件开发者职业生涯指南》 豆瓣评分:9.0分

了解软件开发从业者需要具备的各种“软技能”,包括如何选择工作岗位、如何选择技术方向、如何拓展技术技能、如何与团队和领导融洽相处等等。

五、培养专业的软件开发素养,具备良好的编程实践

《程序员修炼之道:通向务实的最高境界(第2版)》 豆瓣评分:9.2分

理解身为一名程序员到底意味着什么,本书通过许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的最佳实践和重大陷阱。

书中有一章的标题是“我的源码被猫吃了”,其实说的是当你发现问题时,重要的是解决它,而不是把错误推给“猫”。

华为云资深架构师董老师在“云享读书会”领读过这本书,拆解书中精华知识,学练结合,拒绝纸上谈兵。

这一阶段的程序员可以拓宽边界,学习新的技术和知识,为下一步的职业进阶未雨绸缪,此时找准热门领域很重要。5G时代下,AI和物联网都极具发展潜力:AI一站式学习平台(点击查看AI学习路线),涵盖AI理论基础、编程技术、案例实践。物联网一站式学习平台(点击查看物联网学习路线)涵盖物联网理论基础、嵌入式开发、应用开发、大数据分析,从0开始,快速提升开发技能。

程序员的第三阶段:全栈工程师/软件设计师(5-10年)

这个时期的程序员,或多或少要开始思考职业拐点:是继续做一名底层码农,还是往前走两步,成为一个优秀的全栈工程师或者软件设计师。

无论是前后端技术一把手的全栈工程师,还是有程序设计能力的软件设计师,都得精通多门编程语言,有系统性的技术能力。前几年打好技术基础后,此时更要注重技术之外的软件开发细节,让自己的工作更胜一筹。

一、全栈工程师必备技能之协调客户、管理好项目

《人月神话》 豆瓣评分:8.4分

软件领域的圣经,内容源于作者在IBM公司System/360家族和OS/360中的项目管理经验。书名中的“人月”指的是一个人在一个月内完成的工作,“神话”指通过人手来缩短项目实践是神话。

虽然书里很多概念、例子、技术都属于上古时期的遗迹了,但是书里介绍的软件开发的困难、管理的思路,仍然可以在今天的软件开发中找到对应的场景。

二、全栈工程师培养可用性思维

《点石成金 : 访客至上的Web和移动可用性设计秘笈》 豆瓣评分:8.2分

一本关于Web设计原则而不是Web设计技术的书,作者用幽默的语言揭示Web设计中重要但却容易被忽视的问题,只需几个小时,便能对照书中讲授的设计原则找到网站设计的症结所在,常看常新。

三、软件设计模式领域的里程碑著作

《设计模式》 豆瓣评分:9.1分

设计模式不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性以及安全性的解决方案,一般的大型项目开发或者框架设计,都会用设计模式来组织代码。

本书从面向对象的设计中精选出23个设计模式,面向对象开发必读,虽然随着动态语言的发展,很多模式都已经融入到语言当中,但是作为一个好的开发者,这本书讲的不是模式本身,而是模式的轨迹。

四、转变一下程序员的思维,认识交互设计的重要性

《交互设计之路》 豆瓣评分:7.9分

虽然书中不乏“黑”程序员的桥段,但却是程序员很好的交互设计启蒙书。作者通过列举真实案例,讨论由于产品设计中存在“认知摩擦”引起的“难用”问题,讲述如何创建更好的、高客户忠诚度的软件产品和基于软件的高科技产品。

五、面对漫长的职业生涯,静下心来追求“良质”

《禅与摩托车维修艺术》 豆瓣评分:8.3分

一本非典型的适合程序员阅读的哲学书,霍金、乔布斯都曾推荐过。书中讲述作者和儿子 骑摩托车旅游路途所悟到的“禅”,其中最关键的就是“良质”。

举个例子,写程序跟维修摩托车一样,有时候会枯燥、机械且乏味,但如果用“良质”的境界用心去对待这件事,找到内心的平衡,最好能达到“物我两忘”的境界,最终的结果就是另一番局面了。

从初级程序员进阶为全能手,需要持之以恒的学习吸收各种技术知识。全栈工程师是个不错的选择,感兴趣的童鞋可以了解学习:JAVA开发全栈成长计划、WEB前端全栈成长计划、IOT物联网全栈成长计划、AI人工智能全栈成长计划,帮助你度过技术转型过渡期,成为一个优秀的全栈工程师。

程序员的第四阶段:架构师、CTO(10年以上)

恭喜你,已经进阶到程序员的金字塔顶端了!入行有10多年经验的你,有过项目开发经历,精通多门编程语言且熟悉数据库,对行业、技术、产品都有了深层次的认识,带好团队成为更关键的业务能力。

一、为解决架构设计模式中的“疑难杂症”打开思路

《企业应用架构模式》 豆瓣评分:8.3分

将40多种常见的解决方案转化成模式,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。

虽然书中有些内容放在现在有点过时,但如网友所言,在今天的开发思想环境下,也许再也不会出来这样一本重量级的企业架构模式的书,甚至其中的很多模式会被觉得太重,太Java/.NET,但这才是真正的大型软件项目应有的架构模式,值得每一个程序员细细品味。

二、跟着国外技术大佬学团队管理

《极客与团队》豆瓣评分:8.3分

程序员办公室政治指南,谷歌技术大佬以自身的经历为基础,阐明了团队合作的重要性,提出了加强合作的具体方法,并辅以实例进行了深入分析。全文主要从三个角度介绍了团队合作的方法:如何处理团队中有关人的方面;如何在良好或不佳的公司中工作;如何与用户合作创造更出众的产品。

三、带领团队完成敏捷转型

《敏捷转型:打造VUCA时代的高效能组织》 豆瓣评分:9.2分

为了帮助更多期待转型或者处于转型过程中的企业走出误区、突破阻碍,本书重点阐述了敏捷转型的步骤、方法和策略,用大量真实的案例,生动还原敏捷转型容易走入的误区,以及企业在转型过程中常见的疑惑。

本书作者王明兰老师在云享读书会举办了精读课程,欢迎感兴趣的童鞋去听听。

四、从技术人员转型为领导者,系统提高技术领导力

《成为技术领导者》 豆瓣评分:8.3分

很多技术人员固有思维会阻碍真正的交流,甚至忽略真正的问题,这本书能够清晰的指出这些事情。

作为一名成功领导者所必须掌握的领导方法与技巧——创新、激励和组织(MOI模型)。本书提出了一些方法,供技术人员分析自己在这三个方面的领导技巧,并提供了开发这些技巧所需的实践步骤。

五、架构师也好,CTO也罢,管理团队有时候比技术能力更重要

《人件》 豆瓣评分:8.2分

从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度,阐释了如何思考和管理软件开发的最大问题——人(而不是技术),以得到高效的项目和团队。

本书的一个基本出发点就是,管理者不应该把员工看作冷冰冰的机器或可随时替换的零件,而应尊重他们的生物、社会属性,当成有血有肉的“人件”来管理。

结语:

关于程序员是否吃青春饭,一直是火热讨论的话题,无论哪一行,多思考多总结,“拓宽舒适圈”就会比“跳出舒适圈”更容易达到。

对于多数程序员来说,40岁之前赚到别人60岁的钱是普遍目标,不过职业的进阶也印证着人生的进阶,所以何时开始思考未来的职业规划,都不算早。

以上列举的20本书,虽然不能做到面面俱到,但可以从“术”的层面,为想要摆脱焦虑、走上技术进阶之路的程序员指点迷津,钻研出职业进阶的“道”。

欢迎大家收藏本书单,阅读计划安排起来!

注:本文涉及的部分书籍介绍和点评内容源自豆瓣、京东等网络平台。

 

【开发者重磅福利】华为云开发者学习频道现已开通,由华为云专家讲解,免费带你学技术 ,畅游最新、最火的领域(人工智能,物联网,大数据……)。课程录制讲师团队由华为云专家、各大IT教育团队组成,全部课程免费学习,课程以录制形式展现,学习自由化。免费开放,名额有限,点击开启学习第一站吧!

 

点击关注,第一时间了解华为云新鲜技术~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/65519.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

冯唐:我给20、30岁IT职场年轻人的建议

说起冯唐,多数人的印象只停留在“春风十里不如你”、“如何避免成为油腻腻的中年人”上,以为他只是个当代作家。 其实,冯唐曾就职于麦肯锡公司,从事旧时被称为军师、幕僚或师爷的工作。也曾担任华润集团战略管理部总经理、中信资…

2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议

点击“技术领导力”关注∆ 每天早上8:30推送 作者| Mr.K 编辑| Emma 来源| 微信公众号 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其…

如何优化供应商采购系统,提升供应商管理和采购流程效能

随着企业采购向数字化转型的发展,供应商采购系统的使用也越来越广泛。如何优化供应商采购系统,提升供应商管理和采购流程效能,已成为企业面临的重要问题。本文将为大家介绍一些优化供应商采购系统的方法,以提升采购效率和管理水平…

采购工作内容是什么?如何成为一名优秀的采购?

最近在看采购,供应链管理相关的书,梳理下思考的内容,希望大家对采购工作有一些认识。 1、采购工作概述 根据公司销售计划,采买到物美价廉的产品,且在这个过程中搭建并管理供应链,满足日常运转。 02采购的…

如何确保采购过程中的产品质量

在企业采购过程中,确保采购的产品质量是至关重要的。采购的质量直接关系到企业的生产和销售质量,影响企业的形象和利润。为了确保采购过程中的质量,企业需要采取一些措施来保证采购物料和商品的质量,以下是一些有效的方法&#xf…

如何做好采购供应商管理工作?

图为简道云采购全流程管理 首先先简单的说一下供应商管理出现的问题: 供应商合作当单品数很多,很难被淘汰;一线品牌供应商很牛,无账期,必须现付,很难管理;总是缺货,有没有更好当供应…

在采购管理过程中使用技术有什么好处?

采购过程不总是简单直接的,人工采购过程非常耗费人力和时间,并且涉及大量文书工作。另一方面,当你在采购过程中使用技术时,比如使用SRM采购管理系统,会节省很多时间,使整个过程变得更加简单和轻松。 在讨…

Midjourney入门必看课程

课程介绍: 本课程适合零基础同学以及希望使用AI提升工作效率的设计师同学。这是一个可以让你从0到1,从小白到熟悉AI绘画工具,最后能够熟练应用生成自己绘画作品的课程。在我们的课程里,你将学会如何使用midjourney等各种AI绘画软件与chatgpt…

chatgpt赋能Python-python对话机器人代码

介绍 Python是一门流行的高级编程语言,可以用于开发各种类型的软件。其中,Python还被用于制作聊天机器人,也就是能够和人类用户进行交互,并回答用户提出的问题的机器人。 要开发一款Python对话机器人,需要使用一些Py…

chatgpt赋能Python-pythonpenup

结论 PythonPenUp是一个全新的Python技术社区,旨在为Python程序员和开发者提供一个交流、学习和分享的平台。在PythonPenUp上,您可以浏览最新的Python技术资讯,探索最新的Python工具和框架,分享您的Python编程经验,与…

chatgpt赋能Python-pythonplace

PythonPlace——一个Python编程者的天堂 PythonPlace是一个全球领先的Python编程者社区,它为Python爱好者们提供了一个交流和学习的平台,实现了从初学者到专业程序员的全方位发展。本文将为您全面介绍PythonPlace的特点,帮助您深入了解这个P…

chatgpt赋能Python-pythonorge

Pythonorge - 推广 Python 的全球组织 Pythonorge 是一个非营利组织,致力于推广世界各地的 Python 技术和社区。Pythonorge 的目标是帮助 Python 开发者们轻松地与其他开发者、企业和社区成员联系和互动,使他们能够更好地学习、分享、创造和推广 Python…

chatgpt赋能Python-pythonbus

PythonBus: 为Python 开发者量身打造的社区 对于所有Python 开发者而言,PythonBus 是一个非常值得加入的社区平台。该平台汇聚了全球最顶尖的Python 开发者,同时也是一站式排除各种问题并交流经验的平台。在PythonBus,无论你是初学者还是专家…

chatgpt赋能Python-python_faas

Python Faas - 函数即服务的未来 在云计算时代,函数式编程成为了热门话题,以AWS Lambda、Azure Functions和Google Cloud Functions为代表的函数即服务(Function as a Service,FaaS)平台已经成为了许多企业的首选。Py…

chatgpt赋能Python-pythoninterpreter报错

Python Interpreter报错:初学者的困惑与解决方法 介绍 Python是一种广泛应用于科学计算、数据分析和人工智能等领域的编程语言,因其简单易学、强大灵活、开源免费等特点而备受开发者欢迎。然而,学习Python也会遇到各种各样的问题&#xff0…

chatgpt赋能Python-python_debian

Python在Debian环境中的应用 介绍 Python是一种高级编程语言,是一种广泛应用于各种领域的开源编程语言。在Debian环境中,Python已经成为了一种重要的编程工具。本文将介绍Python在Debian环境中的应用,并提供一些有用的信息。 Python在Debi…

chatgpt赋能Python-python_poi

Python Poi:优秀的数据处理和可视化工具 Python在数据科学和机器学习领域中的应用越来越广泛,但Python的excel文件操作并不是非常方便。此时,Python Poi作为一个可视化和数据处理工具,为Python程序员提供了更加便捷的Excel读写操…

chatgpt赋能python:Python的跨平台特性简介

Python的跨平台特性简介 什么是跨平台? “跨平台”是指某个软件或者编程语言的程序可以在不同的操作系统上运行,而不需要额外的修改或适配。这种特性对于开发者来说是非常重要的,因为不同的用户使用不同的操作系统和硬件,开发者…

chatgpt赋能python:Python可以跨平台吗?

Python 可以跨平台吗? Python 是一种高级编程语言,具有易读,易学,易于编写的特点。Python 是一种可移植性很强的语言,可以在大多数平台上运行。这意味着,无论你使用的是哪种操作系统,Python 可…

chatgpt赋能Python-python_mock平台

Python Mock平台:加速开发和测试过程的关键工具 什么是Python Mock平台? Python Mock平台是一个功能强大的开发和测试工具,可以模拟和替换Python应用程序中的各种外部依赖关系,如API调用、数据库交互、文件系统访问等等。使用Py…