内外兼修:程序员的成长之路 - (EPUB全文下载)
文件大小:0.59 mb。
文件格式:epub 格式。
书籍内容:
内外兼修:程序员的成长之路
程序篇
技术的三个阶段
第一阶段:实现
第二阶段:借鉴
第三阶段:优化
人生篇
人生的三个阶段
第一阶段:认识困难
第二阶段:认识潜意识
第三阶段:认识本体
程序员人生职业规划
程序篇
本篇将给大家介绍技术要经历的三个阶段,以及每个阶段要做什么。我会给大家介绍自己的学习方法,解决程序问题的方法和管理技术团队的方法;伍星老师会告诉大家程序员要学什么,如何成为全栈工程师与架构师,如何利用卡宴程序快速开发。
技术的三个阶段
我认为程序员一般会经历三个阶段:实现→借鉴→优化,每一个阶段都会遇到瓶颈。
第一个阶段:实现
在这个阶段我们只在乎功能的实现,不会考虑性能优化。我们会觉得有些功能不会做,有些功能自己没做过,那么只要实现了这些功能,就会觉得很有成就感。类比我们人类在原始社会时的居住条件,那时候不在乎住得舒不舒服,只要能找个遮风避雨的山洞就行。
这个阶段一般会持续2~3年,期间经常会遇到程序问题,为了解决这些问题会经常熬夜,但如果过了2~3年还经常熬夜就不正常了。此阶段,我们要多去接触,没有做过什么就做什么,后端、前端、服务器等都要有所了解。这个阶段也会遇到很多困难,但遇到困难证明自己还有东西不会,学会以后就简单了,所以遇到困难不应该放弃而要继续学习。实现阶段要学习的东西很多,需要掌握科学的学习方法,本书后面会详细介绍一些学习方法。
第二个阶段:借鉴
当我们觉得基本上所有功能自己都能够实现的时候,不要自满,这时候会遇到自己的第一个瓶颈,要知道这只是第一个瓶颈,自己的提升空间还很大。这时候建议大家多借鉴一些别人的代码,多看一些开源程序的源码。读别人的程序能学到很多东西,能学到很多编程思想,能看到很多自己以前没有用过的类、函数等。或许有人认为别人能实现的自己也能实现,不屑于看别人的东西,美国大师Matt Zandstra说过这样一句话:“我们正在努力开发的功能,或许已经被其他程序员实现过无数次,我们怎么不借鉴他们的,把重心放在自己特有的业务逻辑上?”
这个阶段同样类比人类的居住条件,人类不满足于只住山洞,可能是借鉴了鸟搭鸟窝的方式,也学会搭建茅草屋了。
在这个阶段需要掌握分析开源程序的方法,要学会看别人的程序,本书后面会详细介绍一些分析程序的方法。
借鉴阶段一般会持续1~2年,也会遇到瓶颈,开源程序看多了之后,会发现再看任何开源程序已经看不出新的思想了,很多编程思想都是相通的,好像都是已经见过的。这时候我们就要把重心放到优化自己的代码上面。
第三个阶段:优化
当我们能将功能都实现了,也借鉴了许多别人的东西时,重心就应放在思考如何优化代码上,考虑代码的可读性、安全性、可扩展性以及服务器的优化。这时候建议大家看一些设计模式、编程思想、网站安全方面的书。
这个阶段再类比人类的居住条件,我们不断优化,通过盖建楼房让自己居住得更加舒适。
这三个阶段并不是顺序出现的,有时候我们可能既在实现阶段又在借鉴阶段,也同时在优化阶段。但由于工作年限不同偏重的阶段会不一样,如果是刚开始工作,肯定偏重实现阶段会多一些。
若从程序员的职业发展方向来分析,图1-1可以表示出一个程序员可能的发展路线。
我们刚开始还只是一个初级开发人员的时候,只能把自己先变成高级开发人员,然后才能有更多的选择:管理线、专家线或小老板线。
我们学习知识的路线是:技术→技术+管理→技术+管理+商业。
随着阶段不一样,我们学习的知识也有不同。刚开始我们只做开发,只需要学习技术知识就行了;后面我们做到了管理职位,不仅要懂技术还要学习管理知识;然后我们想要成为CTO、CEO或小老板,这必须要学习一些商业知识才行。
图1-1 程序员的发展路线
作为技术人员,拥有3年以上工作经验就可能开始带人了,肯定也要学一些管理知识,本书在后面章节会介绍“技术团队的管理”。
第一阶段:实现
在这一阶段我们要多接触、多学习,掌握良好的学习方法;期间会遇到很多程序问题,需要掌握解决程序问题的方法;伍星老师还会告诉大家编程要学什么,给大家规划出一条清晰的学习路线。
我的学习经历
我高中辍学,高三只读了20天,然后离开学校,开始自学编程。
我看的第一本书叫《PHP+MySQL网站开发》,那个时候什么都不懂,不知道数据库是什么,基本的HTML也不会,我买这本书只是因为书名有“网站开发”几个字。其实,这本书90%的内容我都看不懂,但我还是把书看完了。看完后根本没有学会PHP和MySQL,但我从书里得到了一个信息,开发网站最基础的是要学会HTML,所以应该先买HTML的书看。
很多人如果和我一样一开始就看《PHP+MySQL网站开发》应该是读不下去的。人们学习知识往往总想一下子把所有东西都弄懂,有一两处不懂就觉得难,然后想放弃。而我看书有个习惯,先看自己看得懂的,不懂的先不管它,等把整本书看完后再去看前面不懂的地方往往就能看懂了;如果还不懂,证明自己对这块知识还缺乏了解,需要阅读更多的相关书籍。建议你在阅读本书时如果遇到不懂的地方,不要放弃,继续往下读。
我学了HTML和CSS,能制作简单的静态页面了,当时我认为自己能做网站了,就在淘宝上面开店,接网站建设业务。我的第一个客户要求我做一个论坛,具有文章发布和评论功能,是一个动态网站,我一下子懵了,根本不知道怎么做。但那个客户很好,鼓励我,对我说:“事情对于会的人来说简单,对于不会的人来说难。你觉得难,那是因为你现在还不会,相信学会以后就简单了,遇到困难不应该放弃而是应该去学习。”这句话对我的影响很大,从此以后不管遇到任何困难我都没有放弃而是去学习。
我不知道制作动态网站要学什么,当时就找了一个空间商的客服,询问他要学什么,他告诉我做动态网站可以学ASP和Access数据库,然后我就买了这方面的书来学习。后来,我学会了ASP,用ASP做了半年的网站,之后PHP流行起来又学了PHP,虽然后面陆续学过各种编程语言,但最熟悉的还是PHP。本书针对编程的例子也大多用PHP代码演示,编程语言都是相通的,原理对其他语言也适用。
我在重庆做了两年 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 内外兼修:程序员的成长之路 - (EPUB全文下载)