-->

左耳听风_070_69_程序员练级攻略开篇词

你好,我是陈浩网名做耳朵house.在二零一一年,我在cel上发表了程序员练习攻略一文,受到了很多读者的追捧。

那同时这几年时间里啊,我还陆续收到了一些人的反馈,说跟着这篇文章找到了不错的工作。

那他们呢希望我把这篇文章更新一下,毕竟行业的变化很快。

是的,说实话呢,抛开这几年技术的更新迭代不说,那篇文章写的也不算特别系统,那同时呢标准也有点低。

那当时呢就是想给一个想要入门的朋友写的,所以呢就非常有必要从头更新一下程序员练接攻略这一主题。

那升级版的程序员链级攻略呢,会比cshl上的内容更多,也更专业。

那这篇文章呢会有入门篇修养篇、专业基础篇、软件设计篇,还有高手成长篇五个篇章。

他们会帮助你从零开始,一步步的系统的完成,从陌生到熟悉,到理解掌握,从编码到设计,再到架构,从码农到程序员,再到工程师,再到架构师的进阶,实现从普通到精通,再到卓越的完美转身。

在入门篇中呢,我会推荐把python和javascript作为入门语言,并给出了相应的学习资源和方法。

那python的语法比较简单,有大量的库和语法堂,是零基础的人学习编程的不二之选。

而javascript是前端语言,它更容易能让你获得编程的成就感。

那随后呢我们需要学习使用操作系统linux编程工具,visual studio code之类的入门必学内容。

Web互联网作为第三次工业革命信息化浪潮中最大的发明啊,也是每个程序员都不能错过的,而学习编程呢还是要多多动手。

所以我也给出了web编程入门的学习要点,并给出了一个实践项目,帮助你理解和巩固所学的内容。

那如果你跟着我的这个教程走过来,并能自己去解决遇到的问题。

那么我相信啊你就能够做一点东西了。

而且你还可能会对编程非常感兴趣了,但是你千万不要自己已经入门了啊,我只是用这些内容给你一些成就感,并激发你持续学习的兴趣。

在正式入门篇里呢,我推荐的语言是java,因为我认为它是所有语言里综合实力最强的。

随后呢我推荐了更为专业实用的编程工具,比如编程的IDE啊、版本管理工具、gate,还有前端程序的调试和数据库设计工具等等。

并且呢也给出了一个实践项目,我同时设置了业务和技术两方面的需求。

那跟着做一遍呢,相信你会对学习编程会有更多的理解和感悟。

那接下来呢我要带你进入更为专业、更为复杂的编程世界当中。

但是在进入之前呢,我们需要树立正确的三观和心态,这一点对于程序员来说至关重要。

那这个就好像民工建筑队和专业的工程队的区别,就好像小作坊和工厂的差别。

那他们并不仅仅是差别,在技能和技术上更是差别在做事的心态和三观上。

因此啊在学习专业的软件开发知识之前呢,我们先来谈一谈程序员的修养。

他看似与程序员练级关系不大,实际上呢却能反映出程序员的工程师特质和价值观,决定了这条路。

你到底能走多远?是精髓所在。

有修养的程序员才可能成长为真正的工程师和架构师,而没有修养的程序员呢只能沦为码农。

那这个就是码农和工程师的关键区分点。

在修养篇里呢,我给出了一些相关的学习资料,并指出了我认为比较重要的几个方面啊,包括英文能力提问的能力,写代码的修养、安全防范意识、软件工程和上线规范,还有编程规范等等。

那这些能力的训练和培养将为后续的学习和发展夯实基础。

此时啊相信你已经迫不及待的想进入专业纪录片了。

那这一部分内容呢主要涵盖编程语言、理论、学科和系统知识三个方面的知识。

那在编程语言方面呢,我推荐学习CC加加和java这三个工业级的编程语言。

在理论学科方面呢,需要学习算法、数据结构、网络模型,还有计算机原理等内容。

而系统知识方面啊,我会讲述unix linux TCPIPC十k挑战等等专业的系统知识。

那最后呢我给出了你可以选择的几大从业方向。

如果你对操作系统文件、底层数据库还有网络等比较感兴趣呢,那么就可以考虑从事底层方面的工作。

那如果对分布式系统架构、微服务、divorce,还有clo native之类的有热情,那么就可以从事架构方面的工作。

如果是对大数据、机器学习,还有人工智能等比较关注呢,那么数据领域可以成为你一展身手的地方。

而如果你对用户的体验或者交互等更感兴趣呢,那么前端工程师啊也是个不错的选择。

此外呢,在安全开发、运维开发,还有嵌入式开发等等几大方向中啊,也为你提供了丰富多彩的发展空间。

在我看来呢,该如何选择,应该完全遵从于你的本心,你更愿意在哪个领域里持续奋斗和学习。

那这个答案在你的手中,在你的心中。

那在这里呢我只想和你说两个观点。

那一呢就是各种技术方向,不是鱼和熊掌啊,是可以兼得的那二呢就是很多技术是相通的那关键呢要看你是学在表面还是深入本质,软件设计能力是每个程序员都需要具备的基本素质。

我结合各主流语言呢,讲述了泛性编程、函数式编程、面向对象编程啊等等多种编程范式,分享了DRY避免重复原则、KISS简单原则,还有迪米特法则、面向对象的的原则等等多个经典的软件设计原则。

同时呢我也给出了软件设计领域中一些比较重要的学习资料,软件设计是工程师非常重要的能力。

那这里描述了软件工程自发展以来的各种设计方法啊,这是从工程师通往架构师的必备技能,登峰造极是每个武林高手都渴望达到的境界。

那对于每个有理想有追求的程序员呢也是如此。

因此呢我特意在二零一八版的程序员链接攻略,这一系列的内容的最后啊设置了高手成长篇。

那相较于前面的内容啊,这部分内容相当的全面和丰富,涵盖了系统数据库、分布式架构、微服务、容器化和自动化运维、机器学习、前端方向,还有技术论文等几方面的内容。

而且深度呢一下子拔高了好几个数量级。

那同时呢这也是我留给你的再次做选择的机会。

是平凡还是卓越呢?是自在悠闲,还是蒙肯书本,不破楼兰终不还呢?还是遵循你内心的选择吧。

那偷偷的告诉你啊,我选择的是后者,你应该不难看出这一系列的文章啊,比我在哭笑上的那一篇更为专业标准呢也会更高啊,当然啊难度也会更大,但是呢也会让你有更坚固的技术基础啊,并且能有更高更广泛的提高。

那通过这一系列文章,我主要想回答这么几个问题。

那第一个呢就是理论和现实的差距。

你是否觉得自己从学校毕业的时候,只做过小玩具一样的程序呢?那走入职场之后啊,哪怕没有什么经验,也可以把文中提到的这些课外练习走一遍。

那学校课程总是从理论出发,作业项目啊都看不出来有什么实际作用,到了工作上发现自己什么也不会干。

那第二个呢是技术能力的瓶颈。

你又是否觉得在工作当中需要的技术,只不过是不断的对业务功能,而完全没有什么技术含量。

而你工作一段时间之后呢,自己都感觉非常的迷茫和彷徨,感觉到达了提高的瓶颈,完全不知道该怎么提升了。

那第三个问题呢是技术太多,学不过来。

你是否又觉得要学的技术多的都不行了,完全不知道该怎么学啊,感觉完全跟不上,有没有什么速成的方法呢?那对此呢我有这么一些解释啊,来端正一下你的态度。

那第一点呢并不是理论和现实的差距大,而是你还能找到相关的场景,来感受到那些学院派知识的强大威力。

算法与数据结构、操作系统原理、编译原理、数据库原理,还有计算机原理啊等等。

这些原理上的东西是你想要成为一个专家必须要学的东西。

那这个就是工人和工程师的差别,是建筑工人和建筑架构师的差别。

那如果你觉得这些理论上的东西没有用,那么只能说明啊你只不过是在从事工人的工作,而并不是工程师的工作。

那第二点,技术能力的瓶颈,还有技术太多,学不过来,只不过是你为自己的能力不足或者懒惰,找个借口罢了,技术的东西都是死的了。

那这些死的知识是只要努力就可以学会的,只不过聪明的人花的时间少,笨点的人,花的时间多点罢了。

那这其中的时间差距呢主要是由学习方法的不同,还有基础知识储备的不同决定的那只要你的方法得当,多花点时间,在基础知识上会让你在未来学习应用知识的时间呢大大缩短,以绝大多数人努力的程度,还有给自己不努力找借口的程度为参考,只要你坚持正常的学习,就可以超过绝大多数人了。

那第三呢,这里没有学习技术的速成的方法。

那真正的牛人呢不是能够培训出来的,一切都是要靠你自己的努力和持续的付出。

那如果你觉得自己不是一个能坚持的人,也不是一个想努力的人,而是一个想找捷径的人。

那么可能这篇文章并不适合你那这篇文章中的成长路径呢,是需要思考经历和相关的经验的那这些啊都需要时间,而且是不短的时间。

那你先问一问自己有没有花十年磨一剑的决心。

如果没有呢,那这篇文章对你就没有任何作用。

那这里呢我推荐一篇传世之文,其实yourself programming in ten years,还有我在酷笑l上的这篇程序员的荒谬之言,还是至理名言。

我在文中呢都附上了链接,我希望你在学习编程之前呢,先读一读这两篇文章。

那如果你觉得可以坚持的话,那么我这一系列的文章呢会对你很有帮助。

否则呢我相信你只要大致的浏览一下目录和其中的某些章节,就会选择放弃走这条路的。

是的,这个系列的内容呢也会让一些想入行,但又不愿意付出努力的同学早也放弃。

那最后呢我给出我的几点学习建议。

那第一呢就是一定要坚持要保持长时间学习,甚至终生学习的态度。

那第二呢就是一定要动手,不管例子多么简单啊,建议你至少自己动手敲一遍,看看是否理解了里头的细致末节。

那第三呢就是一定要学会思考啊,思考为什么要这样,而不是那样啊,还要举一反三的思考。

那第四呢就是不要乱买书,不要乱追新技术,新名词基础的东西。

经过很长时间积累呢,会在未来至少十年通用。

那第五呢就是回顾一下历史,看看历史时间上技术的发展,你才会明白明天会是什么样的。

另外呢这篇文章的标准会非常高,希望不会把你吓坏了。

意境有缘啊,取法其上,得乎其中,取法其中,得乎其下,取法其下法不得也。

所以我在这里呢会给你立一个比较高的标准,你要努力达到,相信我,就算是达不到啊,也会比你开始期望的要高很多。