程序人生 -- 我的成长之路和进阶经验分享

Posted 陈言必行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序人生 -- 我的成长之路和进阶经验分享相关的知识,希望对你有一定的参考价值。

我正在参与CSDN《新程序员》有奖征文,活动地址

前言

这是一篇我的程序人生路上的小结。内容介绍了我如何成为一个程序员,技术路上的起起伏伏,和如何走好程序员的进阶之路。这虽然是一篇已活动征文的方式发出的文章,可里面包含了我最真实的情感和最诚恳的建议,希望点进文章的你,可以花几分钟看看。如若文章让你有所收获,那么请你点赞支持一下吧~


一,怎样的契机成为的程序员

   说到成为程序员的契机,其实也许是在高考的志愿填报表上进行选择的那一刻就已经注定自己将成为一个程序员了。只是自己当时没有意识到罢了。当时填报志愿 – 【计算机应用技术 – 软件设计】是我的第二志愿,第一志愿填写的是教育专业(也许当时有个成为人民教师的梦想);由于分数不够,被录取到了第二志愿。

  我一直信奉这样一句话:你选择的,都是你要经历的;你经历的,都是最好的安排。 大学期间把所有的课程都当做是学习任务,并没有想过以后会成为一个程序员。所以课下没有泡在机房也没常驻图书馆。而是和大部分的同学一样上课下课,游戏娱乐。
1.1
   这样也导致了我在临近毕业期的迷茫。不知道自己此将何往。学校招聘会的时候,也没有找到一个合适的实习岗位,或者说自己也没有一个准确的实习方向,并不知道以后要干什么。于是我几个同学选择了实习培训 … …

  自培训正式开始的那天我才意识到,以后要成为一个程序员了。这将是我以后的工作,也是我以后赖以生存的技能。也是在当天,我注册了CSDN的这个账号,我和CSDN的故事也是自此开始。从那天开始我才算是在真正意义走上了程序的道路!


二,回忆技术之路的起起伏伏

2.1 初识程序

  我想这个我和绝大部分初学者都一样,输出“Hello World”。我想大部分同学入门应该都是从C语言或者Java开始的吧,一起看看这两种编程语言的“Hello World”吧:

  • C 语言c
  • Java
    Java

2.2 参加比赛

  蓝桥杯 – 全国性IT学科赛事。这个比赛是我在程序路上的助力者。为什么这么说呢?是因为为了准备这个比赛,我做了很多联系题。正是这些练习题,让我感受到了编程的魅力;也是它们是我学会了由逻辑到代码的转换。整个备赛过程:从不知所措到茅塞顿开,虽然过程很煎熬,但是运行成功那一刻的成就感。真的是只有体会过得人才能理解。

2.2
  初始CSDN,也正是在做练习题没有思路上网查找解决方案的时候。那时我就想:写着个博客的是个什么样的人?也太厉害了吧… … 没想到的是,一年后的我也会成为一个网络环境下提供解决方案的博主。

2.3 正式工作

  经历了培训的洗礼,踌躇满志的开始找工作。由于没有工作经验,并没有顺利的找到工作。最终经历了长达两个月的空白期,找到了属于我的第一份工作。在这两个月中,面试了很多家公司。总结下来就是基础知识不扎实,无实战经验;最终导致面试失败。

2.3
  因此,我很感谢我的第一家公司。虽然工资不高,但是是这段工作经历带我走上了编程的职业道路。初期工作做起来确实有些费劲,所以就免不了要付出额外的学习来尽快进入工作状态。通过我的两个月努力,最终提前结束实习期,成为正式员工。


三,如何走好程序员进阶之路

3.1 初级工程师

  刚开始接触变成的时候,觉得它是个很神奇的东西。在记事本上输入几行英文字母,就可以黑黑的命令行就可以运行出预想的效果。当时就感受到了编程的魅力~

3.1
  开始学习编程的时候,因为什么都不懂,所以很多时候都是按照老师课上教的,一句一句对照这书本或者视频教程敲代码。与其说是学不如说是记,因为入门的所有练习题书本上有答案或者老师带领写过的程序。考试的话也就是将其默写出来罢了。

  当你可以利用语法自主写出一道简单练习题(比如:输出乘法表)的时候,就可以算是入门了。入门到初级工程师的区别,就是在于能不能将自己脑子中所想的思路转化为代码实现出来。这个时候最大的特点就是,给你任务都能做,不太会的也可以通过百度解决。可以修改在网上CV下来的代码来完成自己的任务。

  能做到这样基本上就可以找一份初级工程师的工作了。


3.2 中级工程师

  参加工作后,你会发现有些知识点和当时学习理解的不太一样,这时候你需要再次系统的回顾之前学习的知识点了。当你再次学习的时候,你会有些悟道的感觉。这时你就会不自觉的去想,这个东西为什么这样?原理是什么?

  当你有了了解原理的想法的时候,你就在向中级工程师迈步了。随着工作时间的加长,经验的累计。你会发现需要了解帧率优化,内存优化,包体大小优化等待各种需要进行优化的地方。这时你需要购买些比较深入的书籍,比如讲解原理的,开发精粹的等等。然后你需要逐步的深入学习,这个过程是很枯燥的,但是一定要坚持住。

  跨过去,你就成功的升级为中级工程师,并且已经成功的向高级工程师迈出了第一步。

努力向前冲吧~

3.3 高级工程师

  这个时候你不光会用,还知道原理,你可能已经工作3年以上甚至更久了。这时候你开始独立负责一些项目,设计框架都是你来做。这时候你除了需要考虑整体框架搭建和细节实现,更多的时候你还要考虑如何让你的项目具备拓展性,如何提高新能,如何和数据库服务器连接配合等等。

  开始时你可能会找些现有的成熟的框架来对你的程序进行支持。慢慢的你需要深入的这个框架,以便更好的支持你的程序和避免一些框架上使用错误或者甚至是框架本身的Bug。这个时候你可能需要开始看设计模式,也会研究数据库,网络连接等待各个和程序相关的知识,以便更好的使用。

  高级工程师的主要特征,就是将面向对象的优点(可维护、可扩展、可复用、灵活性好)发挥到极致和对程序周边(上面提到的数据库,服务器等)协调处理,已达到更好的设计自己项目目的。

  从小白到高级工程师,其实和我们从小学上大学差不多。每一步,都要踩的踏实,多思考,多学习。若今天学习漏掉了一个知识点,就需要以后回来捡;若多学了东西,那么以后就会轻松些。初级,中级都只需要学习好自己的专业知识,到了高级你就不能只顾自己了,要更多的考虑协调,协作,架构等多个维度。


所以还在等什么呢,请做好你现在需要做的工作,拓展你不清楚的知识点,为进阶做努力吧。希望本文对你有所帮助!

以上是关于程序人生 -- 我的成长之路和进阶经验分享的主要内容,如果未能解决你的问题,请参考以下文章

2017PHP程序员的进阶之路

php技能树---大神的进阶之路

我的python测试进阶之路,由我自己掌控!经验分享

程序员的成长之路——道和术的思考

程序员的成长之路——道和术的思考

硅谷程序员进阶之路算法设计:动态规划偷金子