我的开发路程

前言

我一直是一个文笔不是很好的女…,女什么?如果非要贴个标签的话,那就只能是女程序员了,当文艺女青年这个词出现的时候,我就知道跟我没太大关系,但是又偏偏很向往这个词透漏出来的清新与脱俗,所以从博客一开我就在想,到底除了技术我应不应该把我的很多感受放到网上,经过挣扎,还是做出了现在的决定,一是我想记录下这些重要改变,二是见证我的成长。

首先,从接触前端开发到现在总共有3年多一点的时间(2012年7月份开始),在这期间不仅仅是技术有了进步,更重要的是对我人生规划以及对人对事态度上的一些改变。等会我会一一说这些改变,一方面激励自己能继续坚持,更一方面也希望能帮助刚刚喜欢上开发的同学一些参考。

程序员认为自己很有能耐的一件事是什么?到现在为止,我认为,是一种成就感。具体是什么样的成就感,因人而异。(快留言,表达你的想法)

正文

1. 种子

2010年,从进大学门再到进社团接触到学长学姐,那时候他们会说很多牛人,而这些牛人的特点是技术非常好,参加什么什么比赛,全国几等几等奖,听的那是两眼发光(这些认识其实都是我们学校的大环境导致,西电,在物联网技术行业待的应该都听过),从那时候开始,就对这些技术牛人有了很多崇拜,以至于后来选择男朋友的标准都有了变化。

那时候做的很好的就都是男生,最起码在我的圈子里是,我从来没有想过这些会适合我,其实,那时候我已经有点觉得我编程还可以了,大一的时候刚刚接触编程,C语言入门嘛,不知道巧还是不巧,我的C语言老师说话我根本听不懂,整个学期这门课是睡过来的,上机课什么的根本就是在混,所以后来备考的时候,只能硬啃书本自学了,最起码要过吧,那个时候在就在图书馆一周的时间我记得是,一本书还有什么练习册都看完了,看我我才发现原来这么简单,也想通了为什么当时听不懂,就是没入门,没有程序的思维,后来成绩也很高,但是后来我没多想这个行业适不适合我,只是完成学生的本分而已。

那时候我整个的心态

我一直是很有计划的人,如果计划被打乱,会心情烦躁,上大学的时候,我的计划是学习第一绝对不能落,社团人际交往其次(你会奇怪,为什么我会有这样的计划,上大学很多人不都是奔着自由眼界来的嘛,那是因为,在我上大学之前,我爸让我读了一本叫《大学应该学什么》的书,还找了认识的正在上大学的老乡看能给我什么建议,那本书我爸自己也读了,最后的决定就是这样了,一开始我是拒绝的,但谁让我是个听话的乖乖女。。),目标是会成为中等,毕竟是汇集各省优秀人才的一个大学,我一直野心不大。所以那个时候,根本没有想要成为技术牛人的打算,好好学习能拿奖学金就OK了。

2. 萌芽

2011年,大二,经过我的听话努力,居然混到了学霸,在社团里稀里糊涂地混到了部长,对于这些我很惊讶,这样更加重了我学习第一的想法,所以很多技术类的社团就没再参加了,为了有更多的学习时间,现在想想,当时是有些偏执,有点画地为牢的感觉,就跟当初诺基亚固执地待在Symbian领域,不去尝试安卓一样(那时候智能机也很流行了),不过幸好遇到了Jack。

Jack是大二在社团认识,是另一个部长请来的技术帮手,刚开始追我的时候,我是有些好感的,就是因为对技术牛人的崇拜,所以很顺利地躲过了世纪光棍节。

接触前端开发

2012年前半年的时候,跟Jack很容易因为同一件事情吵架,那时候我要求他每天晚上都必须发晚安短信给我,他如果忘了第二天我就会发脾气,刚巧那个时候有个google举行的安卓软件开发比赛,然后我们就说男生是不是都会被女朋友因为没按时发短信就遭殃,要是开发个每天能自动定时发短信的软件那就是积德了,然后就着手了这个比赛。

那个时候我已经知道了某某某人技术不怎么样,但是有一点我特别欣赏敢想敢做,报这个比赛的时候基本是零基础。。所以暑假的时候没回家,在学校学开发的知识主要是Java,那个时候特别热,每天早起去图书馆,可是下午5点多就关门了,晚上只能在没有空调的宿舍煎熬,我想说的是真的很辛苦,他是负责写代码做软件,我就负责资料整理,记得有很多短信模板之类的东西,应该是出于成就感,Jack很爱跟我炫耀他又实现了什么样的功能,我也老实听着,怎么写代码他有时候会跟我讲Java、js、eclipse如何运作等等,因为专业的原因,我没学过面向对象编程,都是面向过程的C语言和Fortran,所以刚听说的时候比较新鲜,也没有太理解一头雾水,到后来我才发现Jack对我潜移默化的影响是很重要的,因为很多人推荐说找工作的时候会要用到C++,才开始学习的,因为灌输的这些思想学C++的时候也感觉不是费劲。

经过暑假一个月的学习,我见证了我们的软件一点点的进步,从一开始到界面布置到能发一条短信,再到有很多发短信模块,那时候不懂怎么实现的,觉得特别厉害,以前就觉得这些是很厉害的工程师很多人写的,现在我们也可以做,感觉很神奇。那个时候慢慢地感觉到,程序员到底是做什么的了。

心态变化

可以说视野比之前开阔了,会积极地看一些编程的知识,但都属于兴趣,不算全力以赴,学习第一的想法没有太大改变。

3. 酝酿

2012年后半年,我记得是9月末交的作品,软件名叫LoveMsg,love message的缩写,然后十一我们轻松地去上海旅游了,特别开心,那是人生中第一次旅游,其实当时就想着终于有作品能交了,算是学习开发的开始,但是但是但是,居然得奖了,记得是西北赛区的二等奖,全国赛没得奖,鼓励的优胜奖。但这已经算对我们的很大鼓励了,自信心爆棚,天知道,我们那时候有多没自信,大三我还拿这个参加了学校举办的星火杯,好像也得奖了。

就因为这次的意外,Jack更加觉得自己很适合做软件开发,记得那时候的神庙逃亡特别火,负责开发的是一对夫妇,Jack很激动地说,我们也一起做开发,说不定会有这样的成绩,我就当笑话听了,他每天都窝在宿舍整技术,而我处于不温不火的状态,13年上半年差不多已经确定我可以保研了,除了联系导师就是陪他听各种技术讲座。

5月份到了找实习的时候,学校有很多大公司来,BAT、微软、google等等,笔试考很多c语言数据结构之类的基础,这个我数学一直很好所以很拿手,看那个《程序员面试宝典》我们经常讨论题,后来他拿到了腾讯和CVTE的实习机会,很大的惊喜,那时候是有些触动我的,所有人眼里的大公司,以前我根本没想过,就是听说谁谁谁去了,也觉得跟自己没关系,可是现在身边切切实实地有人拿到了,很羡慕,内心的那点不甘出现了!

由于当时已经确定可以保研了,我就在学习的实验室实习了几个月,那个时候还是不明白研究生是怎样的生活,那个时候认为很适合我,我是能低下头学东西的人,我以为我是个科研人才,所以选择了保研的道路。

14年下半年大四开始,Jack选择去了腾讯实习,我保研的事也尘埃落定,由于学校政策的改变我只能待在我们学院,无线电物理专业,而大三当时联系的是其他学院计算机方面的,还学了很多C++的知识,研究方向转变太多,心里愿意去这个专业的成分是60%,有想过放弃保研,可是找工作的事我根本没有准备,综合了一下利弊,最终选择去上研。

大四自从选了毕设题目就一直在为毕设而学习,那算是刚刚开始接触科研,拿到的题目云里雾里,瞬间觉得上课学的东西能用到工程中的少之又少,那时候都是上研的师姐给资料,自己学习然后完成毕设,没有什么锻炼科研的事情,那年冬天基本属于放羊状态,如果说找工作和考研的过狗一样的生活,而保研党就是猪一般的生活,每天作息不规律,没有进步太多,原地打转。

15年上半年,毕设的事情不能再拖,就一直为毕设做准备了,而Jack因为有同学在北京的一家创业公司,拉他一起去就暂时终止了腾讯的实习,不过那时候他已经拿到了腾讯正式工作的offer,在创业公司,需要承担比较多的工作,所以技术方面有很大的提升,关键是对一个公司的运作有了较多的认识,不能说深入但算很全面了,那个时候他已经买了Mac,开始接触iOS了,每次打电话也会跟我唠叨公司的各种新鲜事,再想想我的生活,觉得差距很大,在学校里拘束太多,眼界太窄,但由于毕设完成的比较顺利,导师觉得我是科研的料子就鼓动我读博,那个时候也觉得,读博很好,出路就是毕业后去大学当老师,很轻松也很稳定,对女生来说是再好不过的选择了,甚至都直博报名了,最后因为导师只有一个直博名额就给了另一个排名比我高的同学了,研究生转硕博连读是很容易的,所以就没在意这件事,现在想想真的是幸亏没有读博!

心态变化

以为Jack很大的进步让我对学习第一的想法有了动摇,内心有了想出去闯荡的小火苗,但由于之前的计划没有斩钉截铁地拒绝上研,但有了挣扎。

4. 破土而出

本科毕业后的暑假,因为想更快的融入科研工作,我很早就回学校待实验室了,待了大概十天实在受不了压抑的氛围就去了深圳一趟,Jack带我参观腾讯大楼,说公司各种好玩的事,深圳也是比西安干净太多的城市,以至于后来都不想回学校了。

开学后,研一的主要任务就是学习,科研的事情不急,但下课了一般都待在实验室,在实验室呆久了就知道科研是怎么回事了,写论文发论文,如何写如何发呢,就是在原有文章的基础上加点创新,用师兄师姐的话就是灌水,对于科研我也跟很多博士谈了谈,发现科研根本不是自己想象的样子,为前沿课题潜心研究,为社会进步尽一份力,额,我只能说我想多了,现实的科研就是发文章!

意识到这些之后,心里完全没有了热情,甚至想过要不要退学找份工作,但经过深思熟虑之后决定利用研究生的时间多学开发知识,进入IT行业,毕竟有兴趣,而且我确实也知道具体是做什么的,很意外地发现做了这个决定后,我很开心,每天学编程语言也很投入,不再盼望着下课吃饭。。。

既然已经开始决定走这条路,首先需要选择我是去进哪个领域,网页?后台?前端?刚开始选择的网页,好学容易入门,偶然发现了一个叫开课吧的网站,那里面有很多IT课程,当时都是免费的,我就跟发现宝藏似的,每天都去听,还是在线不能下载的,每个月学校送的3G流量根本不够,为了听课程买了很多流量,对于抠门的我也是够拼的了,刚开始学了Php,学做网页,Html、js、xml都有学,还有数据库。而Jack被北京另一家创业公司挖墙脚了,配了新Mac,他以前的“第一夫人”Mac就归我了。

再后来就是2048游戏的风靡,根本停不下来,刚好那个时候开课吧有专门讲2048的教材,觉得好玩就开始一步一步开始按教材来做,由于教程是用iOS最新的语言Swift写的,所以还专门找了最新的Swift官方教材学习,大概用了一周把swift学完了,那时候学习的也不深入,但是那些语法什么的都差不多了,这样看教材更容易懂些。然后用了两周的时间把2048做出来了,真的超级兴奋,完全都是自己一个人完成的,无敌大的成就感,当然中间遇到过很多不知所以然的bug,那时候就离不开google和百度了,有不懂的随时需要查,发现网络真是好东西,什么都有什么问题都有大神能解决。

用了Mac,了解了iOS,才发现苹果公司的伟大,电脑反应快网页很漂亮,那是最初的感受,说实话我以前并不觉得苹果有什么了不起,对苹果只有一个概念,那可以炫富,现在发现太幼稚了,那时候做的2048都是在虚拟机上运行的,后来狠狠心买了iPhone,决心进入iOS领域,走上了女程序员的不归路。

通过Jack的推荐,开始看很多技术达人的博客,学git,在github上发现新的好玩的开源项目,我们两个也会用coding来写一些好玩的App,又有趣又充满热情,这时我才发现我不适合科研,因为做那件事的时候一点热情都没有。

心态变化

人一旦做了决定后,如果想做成那件事的欲望有多大,你成功的可能性就越大!这是这一年来心态最大的改变,不再固执,接受新东西,发现新事物!

5. 最后

后悔过上研,但是从另一个角度来讲,也谢谢有这个机会能认识自己,发现真正喜欢的事物,我相信找到自己喜欢的很不容易,况且现在还不晚!

很多事情都是有关系的,做什么事不是一蹴而就的,是有很多很多的因素才造就了现在的一切,比如之前学的C、Php、Html、js、xml之类的在iOS开发中都是需要的,不是仅仅一个objective-c就搞定的,所以有时候遇到不沾边的技术问题也会有热情去了解。再比如,一年时间,从接触iOS到可以独立做一个项目,如果没有Jack之前的耳濡目染和我的积累是做不到的。

玩iOS已经一年的时间,越学就越发现里面有很多的东西需要探讨需要深究。这也是开博客的原因,能记录自己学习的点滴,第一年算是囫囵吞枣,需要什么学什么,没有条理,很多东西只知所以不知其所以然,现在慢慢地有了自己学习的窍门,之后我会整理所学然后继续进步。

后话

想过,在这片博文中要不要出现Jack,毕竟是想记录自己的成长,也没有一点想秀恩爱的意思,但是最后发现如果不写Jack,根本写不下去,全是些没有缘由莫名其妙的改变,可见,他对我真是有很大影响力,所以,很感谢他,不光是这4年的陪伴,还有带给我的改变。