php发展

首页 » 常识 » 诊断 » 从零基础开始逆袭内外兼修程序员的成长之
TUhjnbcbe - 2020/12/14 16:13:00
↑点击上方“优才伍星”免费订阅

转载按:在本篇中,提出技术要经历三个阶段,罗飞分享了如何从一个肄业高中生成长到今天在行业内小有名气的技术牛人的经历。

程序篇


  在程序篇,我将给大家介绍技术要经历的三个阶段,每个阶段要做什么。会给大家介绍我自己的学习方法,解决程序问题的方法,管理技术团队的方法,伍星老师会告诉大家程序员要学什么、如何成为全栈工程师与架构师、如何利用开源程序快速开发。

技术的三个阶段


  我认为程序员一般会经历三个阶段:实现—借鉴—优化,每一个阶段都会遇到瓶颈。

第一个阶段:实现

在这阶段我们只在乎功能的实现,不会考虑性能优化,我们会觉得一些功能不会做,有些功能自己没做过,只要实现了功能,就觉得很有成就感。

就好比我们人类在原始社会时的居住环境,这时候不在乎住得舒不舒服,只要能找个遮风避雨的山洞就行。


  这个阶段一般会持续2-3年,在这段时间经常遇到程序问题,为了解决这些问题经常熬夜,但如果过了2-3年还经常熬夜就不正常了。此阶段,我们要多去接触,什么没有做过就做什么,后端,前端,服务器等都要有所了解。这个阶段也会遇到很多困难,遇到困难证明自己还有东西不会,相信学会就简单了,所以遇到困难不应该是放弃而是学习。实现阶段要学习的东西也会很多,需要掌握科学的学习方法,本书后面会详细介绍一些学习方法。

第二个阶段:借鉴

当我们觉得基本所有功能自己都能实现的时候,我们会遇到自己的第一个瓶颈,这时候不要自满,要发现那只是自己的第一个瓶颈而已,自己的提升空间还很大,这时候建议大家多借鉴别人的代码,多看一些开源程序的源码,读别人的程序能学到很多东西,能学习到很多编程思想,能看见很多自己以前没有用过的类、函数等。或许有人认为别人能实现的自己也能实现,不屑于看别人的东西,美国一位大师MattZandstra说过这样一句话:

“我们正在努力开发的功能,或许已经被其他程序员实现过无数次,我们怎么不借鉴他们的。把重心放在自己特有的业务逻辑上。”


  这个阶段也好比我们人类的居住环境,人类不满足于只住山洞,后面可能是借鉴了鸟搭鸟窝的方式,人类自己也可以搭建茅草屋了。


  在这个阶段需要掌握分析开源程序的方法,要学会看别人的程序的,本书后面会详细介绍一些分析程序的方法。


  借鉴阶段一般会持续1-2年,这个阶段也会有瓶颈,开源程序看多了后,会发现再看任何开源程序已经看不出新的思想了,很多编程思想都是相通的,好像都是已经见过的。这时候我们要把重心放到优化自己的代码上面。

第三个阶段:优化

当我们功能都能实现了,也借鉴了许多别人的东西,这时候我们的重心会想着怎么优化我们的代码,我们会考虑代码的可读性、安全性、可扩展性以及服务器的优化。这时候建议大家可以看一些设计模式、编程思想、网站安全方面的书。


  这个阶段就好比我们人类居住环境,我们不断的优化我们的居住环境,然后可以盖建楼房了,让人类居住得更加舒适。

这三个阶段并不是顺序出现的,有时候我们可能即在实现阶段也在借鉴阶段也在优化阶段,但工作年限不同会偏重的阶段不一样,如果是刚开始工作,肯定偏重实现阶段会多一些。

如果再从程序员的职业发展方向来分析,图1-1几乎表示出了一个程序员可能走的所有路线

图1-1程序员的发展路线

我们刚开始还是一个初级开发的时候只能把自己先变成高级开发然后才能有更多选择。可以选择管理线、专家线或者小老板线(图有四个象限,x轴代表金钱,y轴代表时间。)


  我们学习知识的路线是:技术-技术+管理-技术+管理+商业。
  

随着阶段不一样,我们学习的知识也有不同,刚开始我们只做开发,只需要学习技术知识就行了,后面我们做到了管理职位,不仅要懂技术还要学习管理知识,然后我们想要成为CTO、CEO或小老板,必须得学习一些商业知识才行。


  作为技术人员,3年工作经验以上就可能开始带人了,肯定要也学一些管理知识,本身在后面章节也会介绍一下“技术团队的管理”

第一阶段:实现


  在这一阶段我们要多接触东西,要学很多东西,所以需要掌握良好的学习方法;此解决也会遇到很多程序问题,需要掌握解决程序问题的方法;伍星老师还会告诉大家,程序要学什么,给大家规划出一条清晰的学习路线。

我的学习经历


  我高中辍学,高三只读了20天,然后离开学习,开始自学编程。


  看的第一本书叫《PHP+MySQL网站开发》,那个时候什么都不懂,不知道数据库是什么,基本的HTML也不会,我买这本书只是因为书名有“网站开发”几个字。这本书基本90%的内容我其实都看不懂,但我还是把书翻完了,我看完后根本没有学会PHP和MySQL,但从书里得到了一个信息,开发网站最基础的要学HTML,所以知道了应该先买HTML的书看。


  很多人如果和我一样一开始就看《PHP+MySQL网站开发》应该是看不下去了,人们往往学习知识总想一下把所有东西弄懂,有一两处不懂就觉得难,然后想放弃。而我看书有个习惯,先看自己看得懂的,不懂的先不用管它,有时候把整本书看完后再去看前面不懂的知识往往这时就能看懂了,如果还不懂,证明自己这块知识还有很多不了解,需要看更多相关的书才行。建议你在阅读本书时如果遇到不懂的地方,也不要放弃,继续往下读。


  我学了HTML和CSS,能做简单的静态页面了,当时我认为我能做网站了,然后开始在淘宝上面开店,接网站建设业务。我的第一个客户要求我做一个论坛,要能发文章,能评论,是一个动态网站,我一下懵了,根本不知道怎么做。但那个客户很好,他鼓励了我,给我说“事情对于会的人来说简单,对于不会的人来说难。你觉得难,那是因为现在还不会,相信学会了就简单了,遇到困难不应该放弃而是去学习”。这句话对我的影响很大,从此以后不管遇到任何困难我都没有放弃而是去学习。


  我不知道做动态网站要学什么,当时找了一个空间商的客服,然后问了他要学什么,他告诉了我做动态网站可以学ASP和Access数据库,然后我就买这方面的书看,学会了ASP,用ASP做了半年的网站,后面PHP流行起来又学了PHP,虽然后面陆续都学过各种编程语言,但最熟悉的还是PHP,本书针对编程的例子也大多用PHP代码演示,编程语言都是相通的只是用PHP举例,原理在其他语言也适用。


  我在重庆做了2年的网站建设工作室,这2年我处于实现阶段,一个网站项目从谈业务,到做设计图,再到后端、前端的编程都是我一个人做。这两年是我学的最多的两年,什么不会就学什么。现在很多人见我玩PhotoShop还很惊讶,奇怪我会做设计。


  后来我去了上海,参与了ThinkPHP开发,这段时间我处于借鉴阶段,因为要开发框架,需要借鉴其他框架,期间看过很多开源程序。


  然后我来到了北京,一直待在北京,进了新浪,这期间应该处于优化阶段,接触了云计算、高并发、大数据,知道了如何进行代码的优化,服务器的优化,以及安全方面的问题。


  从新浪出来又踏上了创业之路,我一个高中生能走到现在和我的人生态度有很大关系,内心强大了才能走得更远,我会在“人生篇”分享一些对人生的思考。


  编程我都是自学的,自己总结了一套学习方法,后来我了解到大脑原理,发现我自己的学习方法是符合大脑原理的,后面一节将详细介绍。

转载者按:今天就这么多,明儿见!

↓点击下方“阅读原文”可京东预订哦!预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: 从零基础开始逆袭内外兼修程序员的成长之