左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家
180930 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 119 讲
左耳听风
15
15
1.0x
00:00/00:00
登录|注册

69 | 程序员练级攻略:介绍

C10K挑战
TCP/IP
Unix/Linux
计算机原理
网络模型
数据结构
算法
Java
C++
C
实践项目
学习要点
Visual Studio Code
Linux
JavaScript
Python
技术论文
前端方向
机器学习
容器化和自动化运维
微服务
分布式架构
数据库
系统
学习资料
软件设计原则
面向对象编程
函数式编程
泛型编程
软件设计的重要性
从业方向
系统知识
理论学科
编程语言
编程规范
软件工程和上线规范
安全防范意识
写代码的修养
提问的能力
英文能力
修养的学习资料
程序员修养的重要性
Web编程入门
学习操作系统和编程工具
推荐入门语言
回顾历史
不乱买书
学会思考
动手实践
坚持学习
高手成长篇
软件设计篇
专业基础篇
修养篇
入门篇
学习建议
前言导读
左耳朵耗子:程序员练级攻略(2018)

该思维导图由 AI 生成,仅供参考

你好,我是陈皓,网名左耳朵耗子。
2011 年,我在 CoolShell 上发表了 《程序员技术练级攻略》一文,收到了很多读读者的追捧,同时,这几年时间里,我还陆续收到了一些人的反馈,说跟着这篇文章找到了不错的工作,他们希望我把这篇文章更新一下,因为毕竟行业的变化很快。
是的,老实说,抛开这几年技术的更新迭代不说,那篇文章写得也不算特别系统,同时标准也有点低,当时是给一个想要入门的朋友写的。所以,非常有必要从头更新一下《程序员练级攻略》这一主题

前言导读

升级版的《程序员练级攻略》会比 Coolshell 上的内容更多,也更专业。这篇文章有【入门篇】、【修养篇】、【专业基础篇】、【软件设计篇】、【高手成长篇】五大篇章。它们会帮助你从零开始,一步步地,系统地,完成从陌生到熟悉,到理解掌握,从编码到设计再到架构,从码农到程序员再到工程师再到架构师的进阶,实现从普通到精通到卓越的完美转身……
入门篇中,我先推荐的是把 Python 和 JavaScript 作为入门语言,并给出了相应的学习资源和方法。Python 语法比较简单,有大量的库和语法糖,是零基础的人学习编程的不二之选。而 JavaScript 是前端语言,更容易让你获得编程的成就感。
随后,我们需要学习使用操作系统 Linux、编程工具 Visual Studio Code 等入门必学内容。Web 互联网作为第三次工业革命信息化浪潮中最大的发明,也是每个程序员都不能错过的。而学习编程还是要多多动手,因此我给出了 Web 编程入门的学习要点,并给出了一个实践项目,帮助你理解和巩固所学的内容。
如果你跟着我的这个教程走过来,并能自己去解决遇到的问题,那么,我相信你能够做一点东西了,而且你还可能会对编程非常感兴趣了。但是你千万不要以为自己已经入门了。我只是用这些内容给你一些成就感,并激发你持续学习的兴趣。
正式入门,我推荐的语言是 Java,因为我认为,它是所有语言里综合实力最强的。随后,推荐了更为专业实用的编程工具,如编程的 IDE、版本管理工具 Git、调试前端程序和数据库设计工具等,并且给出了一个实践项目。我同时设置了业务和技术两方面的需求,跟着做一遍,相信你对学习编程会有更多的理解和感悟。
接下来,我要带你进入更为专业更为复杂的编程世界中。进入之前,我们需要树立正确的三观和心态,这对于程序员来说至关重要。这就好像民工建筑队和专业的工程队的区别,就好像小作坊和工厂的差别,他们并不仅仅是差别在技能和技术上,更是差别在做事的心态和三观上。
因此,在学习专业的软件开发知识之前,我们来谈谈程序员修养它看似与程序员练级关系不大,实际上却能反映出程序员的工程师特质和价值观,决定了这条路你到底能走多远,是精髓所在。有修养的程序员才可能成长为真正的工程师和架构师,而没有修养的程序员只能沦为码农,这是码农和工程师的关键区分点。
在“修养篇”,我给出了一些相关的学习资料,并指出了我认为比较重要的几个方面:英文能力、提问的能力、写代码的修养、安全防范意识、软件工程和上线规范、编程规范等。这些能力的训练和培养将为后续的学习和发展夯实基础。
此时,相信你已经迫不及待地想进入专业基础篇了。这部分内容主要涵盖编程语言、理论学科和系统知识三方面知识。在编程语言方面,推荐学习 C、C++ 和 Java 这三个工业级的编程语言。理论学科方面,需要学习算法、数据结构、网络模型、计算机原理等内容。系统知识方面会讲述 Unix/Linux、TCP/IP、C10K 挑战等专业的系统知识。最后给出了你可以选择的几大从业方向。
如果你对操作系统、文件系统、数据库、网络等比较感兴趣,那么可以考虑从事底层方面的工作。
如果对分布式系统架构、微服务、DevOps、Cloud Native 等有热情,那么可以从事架构方面的工作。
如果是对大数据、机器学习、人工智能等比较关注,那么数据领域可以成为你一展身手的地方。
如果你对用户体验或者交互等更感兴趣,那么前端工程师也是个不错的选择。
此外,安全开发、运维开发、嵌入式开发等几大方向中,也为你提供了丰富多彩的发展空间。
以我之见,该如何选择应该完全遵从于你的本心,你更愿意在哪个领域里持续奋斗和学习。这个答案,在你的手中,在你的心中。这里我只想和你说两个观点:各种技术方向不是鱼和熊掌,是可以兼得的;很多技术是相通的,关键是你是学在表面还是深入本质。
软件设计能力是每个程序员都需要具备的基本素质。我结合各主流语言讲述了泛型编程、函数式编程、面向对象编程等多种编程范式,分享了 DRY- 避免重复原则、KISS- 简单原则、迪米特法则(又称“最少知识原则”)、 面向对象的 S.O.L.I.D 原则等等多个经典的软件设计原则。
同时,给出了软件设计领域的一些重要的学习资料。软件设计是工程师非常重要的能力,这里描述了软件工程自发展以来的各种设计方法,这是从工程师通往架构师的必备技能。
登峰造极,是每个武林高手都渴望达到的境界,对于每个有理想有追求的程序员也是如此。因此,我特意在《程序员练级攻略(2018)》这一系列内容的最后设置了高手成长篇
相较前面的内容,这部分内容相当全面和丰富,涵盖系统、数据库、分布式架构、微服务、容器化和自动化运维、机器学习、前端方向和技术论文等几方面内容,而且深度一下子拔高了好几个数量级。
同时,这也是我留给你的再一次做选择的机会,平凡还是卓越?自在悠闲,还是猛啃书本,不破楼兰终不还?还是遵循你内心的选择吧。偷偷地告诉你,我选择的是后者。
你应该不难看出这一系列文章比我在 CoolShell 上的那一篇更为专业,标准也会更高,当然,难度也会更大。但是,也会让你有更坚固的技术基础,并能有更高更广泛的提高。
通过这一系列文章,我主要想回答以下几个问题。
理论和现实的差距。你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把文中提到的这些课外练习走一遍。学校课程总是从理论出发,作业项目都看不出有什么实际作用,到了工作上发现自己什么也不会干。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

《程序员练级攻略(2018)》是一篇全面指南,涵盖了程序员成长路径的见解和建议。作者强调了技术行业的快速变化和对入门者的指导。文章内容包括入门、修养、专业基础、软件设计和高手成长五大篇章,涵盖了从入门到精通的完整路径。作者推荐了Python和JavaScript作为入门语言,并提供了相应的学习资源和方法。此外,还介绍了专业实用的编程工具和业务与技术两方面的需求。在专业基础篇中,作者建议学习C、C++和Java等工业级编程语言,以及算法、数据结构、网络模型等理论学科和系统知识。在软件设计篇中,作者分享了多种编程范式和经典的软件设计原则,并提供了相关的学习资料。最后,高手成长篇涵盖了系统、数据库、分布式架构、微服务、容器化和自动化运维、机器学习等内容,深度拔高了技术水平。整篇文章内容简洁明了,适合程序员和技术爱好者阅读,为他们提供了实用的建议和技术指导。文章强调了学习的持续性和深度思考的重要性,对于想要在技术领域取得成功的读者来说,是一份宝贵的指南。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(138)

  • 最新
  • 精选
  • 右耳朵猫咪
    为什么耗子叔的文笔这么好 我也想这样

    作者回复: 你的昵称是故意的么……

    2018-06-06
    8
    424
  • dancer
    买了10个专栏了,耗子叔的专栏真的是干货最多、诚意最多的!

    作者回复: 真能买

    2018-05-29
    6
    72
  • Roseboy
    耗子叔之前说的微信群还有吗

    作者回复: 有啊,快满了。参看专栏介绍

    2018-09-03
  • RZ_diversity
    终于等到耗哥更新练级攻略了,已经摩拳擦掌准备大干一场了!
    2018-05-29
    61
  • Hua
    懒惰找借口是一方面。第二方面是的确人老了记忆力下降头脑不灵光,而技术是在演变的。很多技术你学了但没有在实际工作中用到,哪怕你练了书上的example没多久就忘。现在时代不同,10年前你懂个60%就可以当senior,好公司呆呆几年后就可以当架构师,多数负责整体设计。而如今年代苦活累活都是senior在干,加班也多。人的时间有限,毕竟不是机器,需要休息从而保证第二天做事有效率。现在可惜发展这么快,按你说的把所有都自学掌握我觉得还是有很大难度。
    2018-06-05
    5
    33
  • Grace微雪
    我这辈子最幸运的事应该是遇到您这样一位大师指路了!!!作为转专业的Java初学者,感激之情溢于言表!!!要不是价格这么亲民我可能就错过了这么优秀的专栏了!倒不是说不愿意付钱买课,关键现在鱼龙混杂的文章书籍太多,我不可能每一个都花费尝试。我非常愿意为像您这么高质量的专栏指导买单!就算以后涨价都没问题,人一辈子遇到一个好老师真是八辈子烧高香了!!!
    2018-06-17
    2
    24
  • 一墨
    全文字字珠玑, 最有感觉的三句话: (1) “如果你觉得这些理论上的东西无用,那么只能说明,你只不过在从事工人的工作,而不是工程师的工作” 扎心了, 别问我为什么, 没有工作了3~5年的人体会不了这种扎心的痛, 但是还好有人与你有同感 (2) “这里没有学习技术的速成的方法,真正的牛人不是能够培训出来的,一切都是要靠你自己去努力和持续地付出”, 是的啊, 回想一下自己, 这条路本质上是自己的选择, 初始无奈, 渐入佳境, 中途想过放弃, 但是觉得还是应该努力的走下去, 短视频的后浪并不是给年青人看的, 是给我们啊 (3) “你先问问自己有没有花十年磨一剑的决心,如果没有,那这篇文章对你没有任何作用” 从第三个本命年开始, 随和皓哥相见恨晚, 但是我能知耻后勇, 做一只终生学习的耗子, 看十年之后, 我能不能望你的项背
    2020-06-12
    3
    18
  • 夏洛克的救赎
    编程背后的数学原理呢?
    2018-05-29
    1
    18
  • 小马
    最好的专栏,没有之一
    2018-05-30
    16
  • 归零
    我想为什么这么多人默默忍受996,企业又能堂而皇之的要求大家996。包括我在内。 可能主要原因还是我是一个工人,自己没有核心竞争力,所以不敢辞职。而企业知道你所从事的工作就是工人的工作,你走了,再招一个工人也是完全可以的。 血淋淋的现实,需要自己沉下心来,默默发力。成为一个工程师!
    2021-01-14
    15
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部