徐州网站建站,网站建设需求计划,wordpress 禁用admin,做钓鱼网站判刑摘要#xff1a;上段时间CSDN博客上流传了一篇比较励志的博文#xff0c;讲述了一个程序员从基础薄弱到入职心仪公司的5年成长经历#xff0c;为了给那些待毕业或已毕业但对未来仍很迷茫的朋友指引前行的方向#xff0c;CSDN专访了这篇博文的作者。
导语:今年三月份#…摘要上段时间CSDN博客上流传了一篇比较励志的博文讲述了一个程序员从基础薄弱到入职心仪公司的5年成长经历为了给那些待毕业或已毕业但对未来仍很迷茫的朋友指引前行的方向CSDN专访了这篇博文的作者。
导语:今年三月份在CSDN博客和新浪微博上有一篇《从1.5K到18K一个程序员的5年成长之路》被众人分享和传阅这篇博文首先介绍了作者自学之初薄弱的基础然后通过流水账形式分享了那个从当初“一窍不通”各种倒数且对前途迷茫的“我”转变成如今好学上进月薪达18K的升华过程。虽然和众多大牛相比他的事业并非最成功但他的事迹却是最典型、经历最励志通过这篇贯穿他整个学习过程以及心态、技术和认识上的分享希望能给那些待毕业或已毕业但仍迷茫的朋友予以勉励、新的思考和指明前行的方向。 雷果国认为乐于分享是促进程序员进步非常重要的一个关键点
雷果国goosman.lei2009年毕业于兰州商学院计算机科学专业目前在百度任职PHP高级研发工程师。翻译有《extending and embedding php》一书以及JQuery-UI-1.7.2官方文档、Pcntl、Pcre、Memcache和Memcached等PHP扩展的官方文档。录有《let’s python》视频教程。热衷分享希望可以通过自己的努力让国内的程序员入门及提升成本变低。
写在采访之前 在开始专访前先和大家回顾下雷果国的《从1.5k到18k, 一个程序员的5年成长之路》博文内容原文点此进入
背景
2008年3月开始学习编程, 目前2013年3月。2009年6月计算机专业本科毕业。大学期间, 基本稳拿班级倒数第一, 高考英语49分, 大学英语除了补考没及格过。
总结
5年间60%以上的时间, 每天凌晨2-4点睡觉。为学习编程花费的总时间超过6000小时。手写了超过50万行代码。记录了超过100万字学习笔记。录制了两份视频教程。翻译了小型技术文档5份以上, 5个php扩展的官方文档, jqueryui官方文档一份, 书籍《PHP扩展和嵌入式》。获得两次优秀员工。
雷果国先从2008年开始讲述了自己在学校的生活状态和当时学习观念他指出不要怕英文、出错信息和文档它们都是学习英文的机会同时也不要怕出错, 出错就是学习的机会。在随后做项目和找工作的小插曲中雷果国认识到刚开始不要期望什么放低身段去做自己的积累就好。
毕业之后雷果国的面试并非一帆风顺在他人生的第一家公司中雷果国的工资也只有1千五他和在学校学习时一样依旧吃着泡面每天加班到9点回家后继续学习到2点。而在这个屋里冬天虽然有小电暖但屋里水龙头却已结冰不过这并不妨碍他的学习和生活因为他始终坚信只要依然坚持学习未来有一天他将不再这样。
2010年3月雷果国到了北京工作他这一年始终为公司付出从JavaScript进入到后来页面制作、PHP和服务器等等他没有觉得有多辛苦相反认为这是种锻炼是他最大的收获。在2011年到现在的时间里他学会了团队协作、同事关系处理等等并且仍然在继续学习着继续每天学到凌晨2-3点才睡觉完成了Unix环境高级编程、Unix网络编程和PHP内核等重要积累。
通过这五年的努力雷果国如今已进入自己心仪的公司。此外还值得一提的是他此前网名是selfimpr含义是自强不息是从self-improvement简写而来而如今他的新网名是goosman是从Swan Goose演化而来他期待自己五年的积累能够在新环境中一展自己的鸿鹄之志。
以下为本次专访内容
从开始到现在我的学习历程
CSDN为什么会写《从1.5k到18k一个程序员的5年成长之路》博文分享这段成长经历另外博文开头介绍了自己成绩倒数和英语不及格的背景想给读者传递什么
雷果国我其实一直想写这样一篇文章因为我看到身边多数人都不是很努力我觉得如果写这样一篇文章做分享哪怕能有一个人能够有跟我一样的变化那也是非常值得的。
正好最近得到了百度的工作机会我觉得这算是自己这几年一个比较大的收获所以借此机会写了这篇文章。
至于我介绍的成绩倒数英语不及格有两方面的原因
我希望那些看到这篇文章并且想要改变的人不要因为自己没有基础而打退堂鼓。如果我的背景不是这么差现在取得的成绩就不值一提了。
CSDN当初为什么会选择计算机专业在大学起初几年你都在干什么为什么突然意识到要努力学习有什么事情影响或起到决定作用吗
雷果国我当时第一志愿是物理学对物理课本上关于爱因斯坦相对论的介绍很感兴趣可是自己学习成绩不行不能如愿。当时自己很爱玩游戏调配志愿就写了计算机结果就被这个专业录取了。
大学前2.5年就是整天玩游戏通宵玩玩到差不多被劝退的程度。
能够有所转变努力学习是我老婆的功劳有一次和老婆约会聊我们的未来我发现自己能给她的未来就是回家一起种地。所以我就开始学习刚开始的半年也没有方向去学习老师以前讲过的课本知识没有效果后来是当时尚学堂的免费视频教程让我找到了方向大概一周时间我就进入了状态。
CSDN开始学习后对自己有信心吗身边的人又是如何看你的你又是如何调整心态无视这一切这中间有没有发生什么特别的故事
雷果国刚开始学习的时候信心是十足的问题出现在大概半年后那些以前整天一起玩一起疯的同学就换了一种眼光看你貌似在说“就你这样的还学编程”。这段时间是很纠结的。
当时我只是花更多的时间去学习可能有一种要证明自己的心态。直到第二年学校Java课我基本没上但考试得了90多分的时候同学们的看法才逐渐转变。
CSDN确定目标后你是怎么开始学习的比如确定学什么从哪方面入手都用哪些书或教程按照什么步骤进行等等……
雷果国如前面所说我前半年学课本知识没有效果。这并不是说课本知识没用而是作为我当时的状态我没有对整体知识脉络的了解无从找到突破口入不了门建立不了兴趣。
后来是尚学堂的视频教程给出了详细的学习路线从Java的基本语法、到I/O、GUI、多线程、网络编程、网页编程和框架到临毕业自己又看书学习了基本的数据结构与算法。至此建立了在程序设计方面一个基本的知识体系为以后独立自学打下了基础。
CSDN在学习过程中你还翻译了不少技术文档为什么去翻译官方文档这对你有什么作用另外大约是什么时候开始找到感觉和自信的
雷果国我自己是靠别人的免费分享找到方向的包括刚开始的时候在CSDN论坛里提各种问题得到很多无私的帮助所以我愿意把自己知道的东西分享出去。
翻译官方文档其实只是我在学习过程中的副产品并且这个副产品对我的学习本身也有促进作用翻译时看不懂英文的就得去看源代码帮助理解所以只要时间不紧张我就愿意做这种事情。
感觉是在接触到视频教程大概一周找到的自信是在学完数据结构和算法后才找到。
CSDN你录制了多套视频教程有人觉得这是比较浪费时间的事情为什么要录制视频它有没有影响到你学习进度同时对你有没有起到什么帮助另外你称乐于分享是促进程序员进步非常重要的一个关键点为什么会这么认为
雷果国最初录制视频教程是因为我当时要学python但没找到python的视频教程只能看书而在之前我一直是看视频教程学习所以只看书没视频很不习惯这样学了3个月后我突发奇想觉得自己也可以尝试录制一份教程。
想了后我就录了我是边学边录制大概是自己学第10章的时候开始录制第一章内容这份视频教程不仅没有浪费时间反而对我的学习有促进作用因为你一旦要把自己学到的东西讲给别人的时候你会发现很多自己学的时候根本没有发现的问题就出现了所以这份视频的录制让我对python的学习更加深入和全面。
我们知道完成功能的软件和可交付的软件是有差距的分享也是这个道理你学习完一个知识只是完成了功能当你要把这些知识打包分享出去的时候就是交付。从完成功能到可交付你会发现有很多不足需要改进。此外如果这个分享是被分享者和分享者可以互动的那就更有意思了被分享者就是分享者的QA分享过程中会暴露更多的问题。因此我说“乐于分享是促进程序员进步非常重要的一个关键点”。
CSDN从你霸王面试开始到进入心仪公司能不能从你求职经历中分享一些面试经验另外在面试中你都有过什么挫折如何面对的
雷果国关于面试我主要是放低自己的心态这有好处也有坏处坏处是薪资通常比实际能力要低一些好处是放低心态可以让自己在技术这条路上走的更远。
面试过程中的挫折就是第一次到北京的时候去用友面试一败涂地会的不会的都说不出来。所幸还有一家创业游戏公司收了我我就沉下心来继续修炼后来基本就没有在面试上被PK的太惨。 这一切都来自于心态 CSDN从开始学习到学有所成和找工作再到工作中遇到各种困难然后获得突破在整个过程中能总结下你心态都有哪些变化是用运用什么方法或方式进行调整
雷果国
学习之前我是破罐子破摔爱怎样就怎样。开始学习后是因为找到了兴趣开始有了目标有了追求。学习了一段时间之后我开始认为自己不是破罐子所以不再破摔而是修补缺口。能够给别人分享知识后我觉得人的价值不在于自己挣多少钱而是为这个社会创造多少价值。
目前我觉得团队的价值大于个人的价值。
关于心态调整方法我觉得是就是塞翁失马焉知非福好的时候想想未来的不好不好的时候想想未来的好总之及时做好自己的心理平衡就好。
CSDN你提到只有会管理自己情绪才利于朝着目标达成的方向发展你都是如何管理和培养自己的情绪另外如何才能激发自己潜能让自己对学习很兴奋
雷果国情绪这方面我们知道做技术的需要一颗平静的心所以我会在平时就给自己心理暗示告诉自己遇事要心平气和然后当我急躁了之后比如给人发火了或者论坛里和人对骂了在自己气消了之后检讨自己有可能的话还要拉下脸来给对方道歉这样时间久了就能慢慢做到遇事不惊。还有一点就是劳动报酬方面薪资等我会尽可能的不去关心这一点因为我觉得欲望是造成浮躁一个很重要的原因。
激发潜能方面举一个例子高中的时候我经常去网吧通宵达旦的打游戏那个时候我喜欢听《2002年的第一场雪》后来学编程之后我已经基本不玩游戏了但是到现在为止每次带起耳机听这首歌的时候我都仿佛置身当时网吧的环境非常向往当时游戏的状态。
所以我在家写代码的时候会喝点小酒哼个小曲儿让自己写代码的时候非常兴奋长此以往对这种环境形成一些心理上的依赖这样就培养了对编程的兴趣。
CSDN你的成长经历让很多人佩服从当初的那个“我”到如今的“我”很多人都很好奇你是如何寻找到发展方向一步一步走到今天
雷果国在我发表了那篇博文后从评论中看到很多人说这篇博文能够激励到自己但能不能坚持不一定。我觉得问题的关键在于兴趣很多人是不得已才从事这行。
如果有正在上大学的同学能够看到这份采访应该趁还没有走出校门赶快寻找自己的兴趣和工作的结合点不要等到临出校门被现实逼着去做一份工作。做工作很简单但把工作要做成事业没有兴趣的支撑真的很难做到工作4年我目前没有见到过一个没有兴趣却能写好代码的人哪怕是曾经在百度、阿里巴巴和腾讯这样公司工作的员工也不例外。
CSDN很多人都知道坚持就是成功但很多人都坚持不了这五年你是如何坚持下来的都是如何激烈自己有哪些方式或手段
雷果国坚持就是成功但不坚持不代表失败。有的人坚韧有的人果断有的人善言每一种性格特点的人都有适合从事的工作我觉得我能坚持下来是所做的工作和兴趣、性格契合。条条大路通罗马每个人要找到自己的路。
激励自己的手段除了培养兴趣外产出是很重要的一点在工作学习的过程中对自己的产出做评估比如我的博文列出的数据我每隔一段时间都会去统计这些数据当你看到自己一直在进步的时候就会更加有信心向前走。
CSDN博客下面不少人都很关心一个问题刻苦学习长期熬夜你身体状态是否一直都很好这样健康的身体你是如何保持的
雷果国我一般晚上回家吃完饭会先陪家人1-2小时然后学习到2-3点睡觉8-9点起床多数时候是能保证6个小时睡眠时间。此外就是周末睡个懒觉陪家人出去郊游调整一下总体算下来比别人没少睡多少觉。所以健康不会是太大的问题。
我的认识和感悟
CSDN错过基础课让你面临技术上很多瓶劲在这里能谈谈基础课的重要性吗在众多基础课中您认为哪些基础课比较重要
雷果国虽然我是从应用开始学习但是基础理论知识真的非常重要。我觉得应用是腿决定你能不能走路理论是干粮决定你能走多远。
我做linux-web方向所以就说说我认为对于linux-web方向研发比较重要的基础理论知识不见得是大学的课程计算机网络、网络编程套接字TCP/IP、Unix环境编程进程线程内存管理I/O系统、数据结构与算法、HTTP协议、字符串处理编译正则模板引擎和C语言学习C对理解底层环境有帮助。
CSDN自学成功你最大的收获和感悟是什么对于那些在编程学习道路上仍在努力的初学者有什么建议送给他们
雷果国最大的收获写程序时我很开心我很开心我全家都很开心我全家开心我就更开心……无限循环。最大的感悟无私必能成其私。
对于初学者我想说如果你不是发自内心的喜欢写程序趁着还没陷入泥潭赶紧找到自己的兴趣所在吧如果你是发自内心的喜欢写程序跟随你的内心惬意的发挥吧。
CSDN你的成功可以复制吗如果别人也这么去做作为过来人你觉得应该注意哪些问题另外有人在钦佩之余还指出这样学习会失去生活的意义你是如何看待这个观点
雷果国我倒也算不上成功但这份经历如果要复制也是有前提的。我觉得在走这条路之前一定要在开始之前想清楚两个问题这个职业是否真的有兴趣这个职业特点是否真的符合自己性格特点。如果想清楚这两个问题我觉得过程是多彩的每个人都有自己的精彩。
起初看到有人评论说这样学习会失去生活的意义我困惑过几天。不过我想开了每个人对生活的定义是不一样的现在如果不让我这样学习那生活的意义是什么 PHP是最易学的语言但难点也是这——简单易学难精通 CSDN一开始学Java为什么会转到前端后来又为什么从前端跑去做PHP另外在Java和PHP间为何最终选择了PHP你在这个转变过程中有没有遇到什么坎
雷果国Java到前端以及前端到PHP的转型都是工作的需要。
在我刚开始学习编程的时候有一个长期目标是做程序员有一个短期目标是做好Java编程当我第一次换工作时请假来北京找工作3天时间并没有找到愿意接纳我的公司所以我退而求其次以前端开发工程师的身份进入到了一家创业游戏公司。在这里我修正了短期目标做好前端开发。后来我接触到了PHP而此时已经做了一段时间前端我觉得做前端没有一些艺术细胞很难做到很好而我是理性思维更多的人所以我开始学习PHP。这次我又修正了短期目标做好php编程。
在PHP和Java之间的选择是因为PHP的完全开源有任何问题我都能以比较透明的技术手段追踪到根源。
其实这也是一个职业规划的问题我们无法预估十年乃至二十年后自己的兴趣和能力只能按照自己当前的兴趣和喜好程度定出长期规划和短期规划并根据发展的情况做出调整应该说只要你把职业规划当做一件事情来做那目标肯定会越来越稳定。
转到前端时困难比较明显我是计算机专业程序写的再好做前端没有艺术感还是比较困难。而到PHP的转型比较困难的就是java语法比较严格到了一个松散的语法环境中略有不适不过这一点相对比较好克服严格要求自己就好。
CSDN在百度做PHP方面的开发新公司在技术或文化上哪里让你感触最深另外工作这么长时间你现在如何看待实践和理论这两者关系
雷果国到百度之后同事平均素质明显高于以前的公司而且百度的文化执行的很好在一个这么大的公司却明显能感觉到身边的人都在执行“简单可依赖具有狼性”的文化。
技术方面的感触我就说说敏捷开发吧我是在进入百度后才接触到敏捷开发的满打满算才40天时间但这种开发模式真的对我冲击很大它改变了我一个固有的看法——大公司专人做专事、流程化安全而缓慢。
在敏捷的团队中大家更多的是强调团队的产出弱化个人能力对团队的影响力让团队成为一个原子性的整体。对工作量进度的估算都不再按照个人进行而是按照团队为单位估算同时强调弱化角色分工减小团队对个人的依赖性。
我觉得站在项目的角度这一切简直太美妙了
进度预估的风险过去以成员为单位预估问题是难于估算并且准确度低现在以团队为单位估算成员间的误差是有互补性的提高了准确度。人力风险角色的弱化大家都可以根据兴趣或团队需要做一些其他方面的工作这使得每个团队成员都能放宽眼界提升综合能力另一方面单个成员请假等特殊状况的风险也可有其他成员互补降低产生团队人力瓶颈的风险。质量风险持续集成持续测试这使得每一次发布都是经过集成后测试的降低了产品质量方面的风险。需求变更风险敏捷要求快速迭代这就使得我们在迭代计划的时候只安排少量高优先级的开发任务因此对低优先级的开发任务我们不会花过多时间关注当需求变更时多数情况都只是从需求池中将尚未细化的需求拿走而很少会影响我们已经详细规划并进入迭代计划的需求。
当然站在个人的角度这其实提出了更大的挑战每个团队成员需要对项目整体负责需要掌握更多的技能。虽然只接触了40天但敏捷开发带给我的感想是很深刻的我觉得互联网公司特别需要敏捷开发因为它的目标是快速发布、拥抱变化和降低风险这非常切合互联网产品的特点。
如果没有实践就不会有产出专门搞理论的科学家也是要经过实验验证理论的但是如果没有理论就只能重复性的实践很难提升产出价值。所以我认为实践和理论并没有孰轻孰重的关系两者相辅相成缺一不可。
CSDN你比较擅长PHP能不能就你学习和工作经验与大家分享下PHP学习如何开始和深入有没有什么窍门另外PHP学习有什么难点如何解决这些难点
雷果国关于语言的学习每个人有不同的方法我就说说自己的学习过程
在学习PHP之前我有3种语言的经验所以就随便找了本入门书籍花一周时间看看语法和函数库就上手做事情了。对PHP了解的第一次进阶是阅读PHP手册PHP的手册非常棒组织结构清晰讲解详细内容涵盖面非常广认真读一遍收获非常大。
接下来是两个方向工程设计和底层实现。工程设计方面主要是找一些设计模式、持续集成和开发方法方面的书籍广泛的阅读并尝试在实际应用中去领悟书中所讲的内容。底层实现方面主要就是先去了解操作系统和网络等一些底层的知识掌握C语言然后去阅读PHP的源代码看看PHP怎么运转。
众所周知PHP是最易学的语言。但我觉得这就是PHP最大的难点——简单易学难精通。这方面我认为要克服的主要还是心理因素千万不能有“已经学会PHP”的想法。另外PHP语法灵活很难把握到底该怎样去写这方面需要量的积累以及不断的思考。还有一点PHP从内核的设计上比较强调自由的扩展所以对PHP内核的了解也很重要这一点难度也很大需要大量的基础知识积累要克服也只有玩命的学了。
CSDN你是什么时候开始接触CSDN的它对你学习和工作都带来哪些影响另外你对CSDN有什么建议和期待吗
雷果国我大概是2008年接触CSDN的到现在也5年多时间了起初它是我求知的主要平台后来它是我分享的主要平台。一直以来CSDN上的大牛们都是我奋斗的目标当我低迷的时候我就会想或许有一天我也能成为那样的大牛。
也许是我最近两年逐渐转向博客BBS这边光顾的少目前对CSDN的感觉是在媒体方面的力度比社区方面大。从技术人员的角度来看当然是希望CSDN这样的大平台更多一些社区特性能够刺激国内技术人员的交流和成长。
写在最后
在与雷果国的交流中他还和我分享了一些总结记者觉得这些分享蛮有价值虽然有的点或许会与专访内容重复但丝毫不影响其中传递出来的另外一种心态和观念有心的朋友可以看下。
内容摘录如下
心态上我开始学习编程的时候已经大三第二学期了当时有自己的质疑有周围人的质疑现在学还能来得及吗?对于跟我一样在大学的最初几年已经荒废的同学来说这个心态的调整很重要就是坚信自己能行。
期望值不少同学(包括那时的我)在刚毕业的时候觉得自己给老师做过项目就感觉自己找工作会很容易导致对自己期望过高。其实就我自己的发展而言如果不是这几年恶补基础理论肯定不会走进自己梦想的企业。目标定位的问题。我觉得很多大学生甚至毕业一两年都找不到自己的人生定位。我自己在刚开始学习编程的时候已经有了一个目标定位就是做程序员这个目标定位非常符合我的兴趣所以我可以5年间丝毫不改变这个目标定位。态度上分三个方面来讲一方面是要付出很多努力;另一方面是不能认为自己已经付出了很多努力就要求短期回报而是向着长远目标看齐宁肯放弃一些短期回报;还有一个方面就是持之以恒的坚持前两点。方法上坚持读英文坚持读源代码碰到问题就死磕我在刚学了半年的时候在没有网络的条件下碰到一个问题靠跟踪源代码花了78个小时才找到一个异常的根源。情绪培养上要学会管理自己的情绪。可以刻意找一些让自己兴奋的事情在写程序时激发自己的潜能。同时生活中有不顺心事情的时候尽量减少编码防止这种心情潜在的影响自己对编码的看法。熬夜的问题有不少人表示自己做不到或身体不行。其实都是对自己要求不够当然不可避免有些人确实会受身体因素限制。码品如人品我以前是一个邋遢的人但是自从我刻意的去规范自己的编码风格后我自己也变得不那么邋遢了同时改变他的代码风格也会潜移默化的改变他处世风格。分享会迎来进步和尊重乐于分享是非常重要的。因为一次分享过程收益最大的通常不是听的人而是讲的人。我翻译了很多文档录制过视频教程这背后最大的受益者其实是我自己。并且除了自己知识上的收获分享者还能得到更多人的尊重。实践与理论孰轻孰重实践决定你能不能走路理论决定你能走多远。