毕业四年,我当初是如何走上编程这条路的!
感概万千,毕业已达4年之久。想起在大学时期学习编程的事情,感觉很有意义,在此记录回顾一下。希望自己初心未变,勇往向前。
目前的我是在天津一家公司做软件开发,主要做C#桌面端开发,有时还写点Android,但主技还是C#、ASP.NET。从毕业实习到现在一直在这家公司,是不是很吃惊。毕竟在我同学都已经换了不下3个单位的时候我还在刚开始的这家公司里,他特别吃惊,觉得不可思议。
17年在大四第二学期时,我们班很多同学都已经离校,这也是学校当时默许的事情。其实也就是为了提高入职率,让不考研和考公的同学尽早的找工作,尽早的进入职场。我很感谢学校有这样的政策,解决了我大四第二学期在外实习无法不上课的难题。其实我也很费解,大四为什么还要排课,基本上一天也就一节课,而且很多同学都不在校,每次上课就只剩下考研和考公的同学在,也就不到15人。可能每所大学在排大四课程的时候,都比较两难。
我是复读一年才勉强考上大学(地方二本院校)的,高三第一年基本是在网吧打游戏度过的,根本不知道学习,也没有要为自己将来做打算的决心,每天浑浑噩噩的,度日如年。现在回想起来,真想使劲抽自己几个巴掌,那么好的资源,那么多时间就那样被自己浪费掉了。复读那一年,可谓是惜时如金,知道了学习,也戒掉了游戏。基本全年都在学习,因为知道自己和别人的差距。
其实特别感谢我的妈妈和表姐(还有其余的亲戚),没有她们我是无论如何也不会去复读的。当时考完试我就准备报考一个大专,学习汽车维修,自己设想以后开一个汽修厂。我觉得自己随便干些什么都可以,为什么非得去复读,再去学习,还要去考大学呢。(不知道自己当时哪来那样的自信,再次想抽自己几个巴掌)
高考第一年我考了369分,当时河南的二本分数线是491。好像刚好能上个三本院校,但是我不想让家里面多花钱就想直接去上大专,学个技能傍身。可是扭不过爸妈和亲戚的相劝,他们苦口婆心的劝我,劝我去复读,给我列举了各种复读的好处,最后我去复读了。其实当时自己心里面清楚,自己底子太差,即使复读一年也未必能考上二本。主要是差的太多,就拿当时考得成绩来说,还差120分呢。
复读那一年,基本没咋休息过,一直都在学习,记得当时还和几个朋友一起组织建立了学习小组,每天早出晚归的结伴学习。这一年也许是运气比较好,也许是努力有了成效。第二年二本的分数线居然降到了465分,我也好运的考了485分,比二本分数线高了20分(其实放眼到现在来看和别人比,差距还是特别特别大的,可是对于当时的自己来说,还是比较幸运的)。那可是足足提高了86分(替自己高兴)。
填报志愿时,自己特别想去郑州,第一志愿就报了郑州的一个学校。
对于填报的专业,其实对于当时的自己来说,根本不知道将来要学什么,可能现在的高中生比较有主见,网络这么发达,学习途径很多,可能早就确定了自己要学习的专业,可是对于当时的我来说,能想到的就是学机械制造,当时很粗略的了解机械制造具体是干什么的,就报了。其余的几个志愿都报的是河南省内的,也基本都是机械制造为首的。我依稀记得当时还特意报了物联网工程这个专业,了解的过程中感觉以后可能会大火(2021年也没火起来,其实也算火了,鸿蒙分布式系统火了)。这个专业是13年新开设的,在全国很火,每个学校都在开设物联网工程,我当时随便了解了下,就把它填写在了最后一个志愿的第一个专业中。想着反正也不可能录入,毕竟我前面还有4个志愿,那么多专业呢,怎么能到最后一个志愿来呢(啪啪打脸)。
往往造化弄人,最后还是被不经意间选择的物联网工程专业录取了。(甚是欣慰呀,差点滑档了)我们学校物联网工程是被分配到计算机系的,由于是学校新开设的专业,没有什么以往经验,大学四年的课程安排既有软件也有硬件。也就是说毕业后的我们:既能熬夜加班敲得起代码,也能摩拳擦掌焊的起板子。可是对于本科生的我们来说,样样通,不如一样精。
从13年刚入校我就了解到当时学校有个政策,大四那年院系会组织学生去北京参加培训,大概花费在2w元左右(达内,传智博播客,华清远见等),经过培训后的学生找工作都特别好,基本不用学校过多担心。在当时大一的时候,我心里就默默使劲,阿辉呀你这四年可要好好努力,可别到了大四找工作的时候还要再去问家里要2w元来参加培训。这不后来我确实没有参加培训,凭借自己大学四年在实验室里面学习到的编程技能,也还算顺利的找到了一份对口的工作。(文章后面可以看到当时自己的简历)。
我是17年2月来的天津,没有参加培训,直接出来工作,也算运气比较好,单位也刚好是做C#方面的开发,也就顺理成章的留了下来,虽然其中也有一些别的原因,也算对口也算不对口(之前在学校主要做BS,来到公司后做CS)。但是也算继续走上了技术这条路,基本和自己在大三时给自己规划的职业路径一样,不一样的是自己来到了天津,而没有去上海(大学期间特别想去上海,觉得只有上海才能干出一番天地)。
大学四年,我给同学的感觉应该是很怪的,基本没事的时候都泡在实验室里(既有Wifi又有妹子),在宿舍根本看不到人,只要找我在项目实验室绝对能找到。
我记得当时是大一下学期面试进的项目实验室,刚进来的时候感觉B格特别高,项目实验室牵头的是我们信工院的一个日本求学归来的海龟博士申请创建的(很感谢徐老师)。主要目地就是想创办一个连接校外单位和学校学生之间的媒介,让学生通过接触真正落地的项目来感触了解外面单位真正需要哪种人才,让学生可以提早的进行准备学习,为自己以后找工作早做打算。
B格高的原因:徐老师晚上也会偶尔给我们组织培训,平时基本的输出都是日语和国语混合,特别有意思。而且经常性的请大家喝咖啡(我现在爱喝咖啡的习惯可能就是那时候养成的)。刚开始的时候也就是个小罗罗,给搬电脑,打扫卫生,举办活动修电脑等,基本都是这样的活。后面到了大二,大三才慢慢的跟着实验室的室长开始做项目,维护学校官网微信(当时官微是室长借助盛派的SDK开发的),参加学校,市区等举办的大学生三创大赛,其中的作品也有获奖的,也有没获奖的,但是当时得到的项目经验确实,实实在在是属于我的。
其实当时之所以进入实验室目的很单纯,就是想着毕业后不去培训。自己在大学期间多自主学习下,等到了大四简历上面就有项目可写了。可是待的时间越久,越发现自己想做的事情越多,到最后离开时,自己也被老师提拔为实验室室长之一,也带领着学弟学妹们一起参加大创项目,带着大家一起学习编程知识。
下面图片是当时项目实验室的环境,很适合学习,而且网速特快,又有空调,偶尔老师还给大家说几句日语,请大家喝喝咖啡。
大学四年至今最让我回味无穷的是,学校旁边的鸡肉焖饺子,简直一绝,每次宿舍聚餐都会去,越看越有感觉。
其实学习编程主要有以下几个方面的原因:
目的
当时在大学努力学习编程的目地就只有一个,那就是不想大四毕业时去培训,想着在大学就把技术学好,所以才很努力的学习。(相比于其余同学而言,只是早早的知道了自己该干什么而已,但和那些一流大学毕业后面试进大厂的同学比起来差的不是一丁半点,差距太大了,还得好好努力)。
兴趣
专业课程安排有JAVA、C语言、Android,但是老师上课讲的也都是书本上面最最基本的知识点,理论层面偏重,达不到学完后立马能上手做项目的程度。虽然说专业里面学习JAVA和C语言,但是让我感兴趣的却是C#。在当时学完JAVA后,特别不喜欢配置环境,记得使用的IDE还是Eclipse,在环境配置这块就卡了好久才配置好。对比之下简单、快速上手的C#,还是觉得JAVA太麻烦,当时感觉好复杂,慢慢的就对其丧失了兴趣,就一直和实验室老师和学长学习C#开发,用C#做项目,参加各种比赛(现在反过来想,如果当初立志学JAVA,可能自己会走一条不一样的路,毕竟现在最火的是JAVA开发)。
金钱报酬
当时做项目参加比赛是可以挣到钱,虽然不多,但对于当时学生身份的我来说,1000~3000的,也是不错的经济来源,可以买一些自己之前一直舍不得买的东西或者说和舍友们出去大吃一顿好的(鸡肉焖饺子走起)。
为什么的坚持
当时大一下学期和我一起报名在实验室上夜课(老师讲解学习C#)的同学很多,可是等到大四快毕业时,还在做C#的就我和隔壁宿舍的哥们(李乾龙)。在一起学习的过程中,有些同学就由于或多或少各种各样的原因慢慢的晚上就不来了,放弃了。其实这都是很正常的,当有些事情得不到反馈或者说短时间内看不到回报时,大家都会有这种情绪出现的。也不知道为什么,我和乾龙就坚持了下来,基本上,每天只要没有大课安排,我们俩就背着电脑和键盘待在实验室里面学习(看视频、看书、敲代码),现在突然想起还挺怀念当时和好友一起努力奋斗的时光。
其实说起如何学习编程这个话题,自己或多或少还能说点话,毕竟自己也算靠着兴趣和努力闯入了编程这道大门,但是也深知功力不是很深,在各个方面的能力还都有待提升,所以下面就只是总结下当时自己如何去学习编程,可能适合你也可能不适合你,毕竟每个人的学习、吸收、总结能力都不一样。
看书和官方文档
先看入门书籍,让自己能看懂语法,看懂别人写的代码。按照编程语言的语法,能写一些简单正确的逻辑代码。比如排序,数组的使用,循环,递归等。这里要注意,刚开始先看那些比较薄一点,知识点比较简单的书籍,别一上来就整什么红宝石书籍,特别特别厚的,先让自己能对其编程产生兴趣,不然刚开始就整厚书籍、难懂的点,可能学上3~5天自己就放弃了,没了当初的兴趣。(切记学习需要循序渐进,不可急于求成。)
看官方文档,对于一些编程语言,官方网站都会有系列的入门教程,这个是很重要的,官方出的东西都是知识面很广,而且受众全体比较广,所以很容易看懂和上手。不管是看书还是官方教程都要及时的主动敲代码,对于书中的例子或官网教程中的案例,刚开始都需要自己在本地敲一篇,你可以先直接对照着实现,看自己能否成功运行,之后在慢慢的理解和修改。在你实现的过程中你会发现,这个过程就是一个正反馈的过程。你会体会到当你把一个项目,一点一滴的敲进编译器,能成功运行结果时那种自豪,满足的心情(要经常这么做,这一点一滴成功就是你坚持下去的动力)。
看视频
第二阶段可以看一些网上的编程视频,比如B站里面的教程或某些培训班的培训教程(网上可以找到)。目前很多程序员都在B站制作质量一流的编程系列教程,这些教程只要你用心去找,都能找到。看视频的作用,可以加强你对知识点的理解,看别人是如何制作,解释一个知识点的,是否和你刚开始看书或看官方教程理解的一样。看视频的过程中,你也需要对照着作者的实现方法自己在本地实现,有时候你会发现看作者实现立马就懂了,可是当你自己在本地实现的时候就会遇到各种各样的问题,也许你可能花费1整天都无法解决(哈哈哈,别丧失斗志,这很正常)。当时我学习C#的时候,看的是黑马程序员的培训教材,有好几个G呢,当时好像是学长在淘宝购买的,我们就一起看、理解、学习,不懂的地方就一起讨论,分析。
做项目
做项目是终极目标,只有做项目才能将那些零散的知识点汇总起来,形成一条线。做项目也能让自己有成就感,看到自己经过几个月一点一滴坚持做出来的东西,就特别满足。在学校的话,可以参加一些比赛,比如大学生三创(创新、创意、创业)比赛,和同学一起按照一个ID来构思,实现一个项目。在参与的过程中,你会发现以前学习的东西可能都或多或少有点用处,当你们一起拿着自己做的项目来参加比赛,西装革履的给各级领导讲解,展示的时候你会发现那是多么的自豪与满足。还有就是有些项目可能挣到外快,比如给学校某些院系做官网、和老师一起做课题研究等。
写博客,你可能会很疑惑,为什么我会把写博客单独放在这里。下面是我当时学习C#时在博客园创建的博客,主要写一些知识点和汇总在编程过程中遇到的各种问题。
现在回过头让我去看当初写的东西,感觉好幼稚呀,都写的是些什么,如果让我现在重新些,我感觉能写出比那时好几万倍的博客,可是现在是现在,当初是当初。那些东西就在那里,它能证明我的学习过程,它能让我看到自己的以前。
写博客的好处特别多,如果你用心去留意,很多大佬都有写博客的习惯。写博客它能让你整理自己的思想,可以把想到的知识点条理化。可以记录重要的知识点,方便回顾。可以帮助别人,当别人遇到和你一样的问题时,他就能参考你的解决办法。可以帮助你找工作(简历中可以放自己博客的地址,面试官看到后会对你刮目相看)。获得心理成就,让自己更自信(博客就相当于自己的学习经历,越多自己的信息越足)。
在这里,我以还算过来人的身份想给大学生们说说自己的心里话,你们目前真的可以说是比任何时候都有优势,有时间,有前景。
确立目标
你首先需要找到自己的兴趣点所在,目前你有机会和试错的成本去尝试各种各样你觉得自己想干的事情,你可以在不影响学习的情况下,尽可能多的让自己接触到各行各业。确定好自己将来想从事的事情后,提前去了解,准备。
抓住时间
在大学你会拥有大把大把的时间,你可以打游戏,可以和舍友通宵开黑,可以去各个地方逛。但是你得保持头脑清醒,你得把时间也分配在你将来从事的事情上,你得提前去布局,你得让自己去成长。这里引用股神巴菲特说的一句话:"人生就像滚雪球,最重要之事是发现湿雪和长长的山坡。"。
敢于走一些不一样的路
确立目标后,你得在大学敢于走一些不一样的路,你可能不合群,你可能会被别人误解,你需要走出去,敢于在温水的鱼缸里打破一个洞,敢于特立独行,你不需要做沉默的大多数。也许你可能现在不懂,可能举得不合群,但我必须告诉你的是:那不重要,重要的是你的成长,你要知道孤独是人生常态。
在任何时候都不要All In,要有所保留,把后背留给你最信任的人。
时刻都需要学习,提高自己,要有终身学习的意识。
工作是工作,生活是生活,你要知道工作的最终目的就是为了更好地生活。
小寄语
不知不觉已经写了5000多字了,也不知道为什么突然就想把自己大学的经历汇总下。毕业已有四年,这篇文章也算自己对大学生涯的告别,对学生时代的寄语,希望正在阅读此篇文章的你,能有所帮助。如果你是学生,希望我的经历能给你启发;如果你是职场人员,希望能让你看到此刻正在努力的自己。人生短暂,我不想去追求自己看不见的,我只想抓住我能看的见的。