Posted by: junsjourney | 四月 15, 2011

[转]某学长的学习笔记

 在renren工作了快一年了,现在就要走了,想写篇日志来总结一下,之所以不是发布在renren上,是因为SNS的隐私不可信任。SNS只是把所有的人简单的分成两类,你认识的人和你不认识的人,但是我认识的人应该是分好几种的,有些话还是不想让某些人去看到,一句话说不好可能就会不经意间得罪某些人。因此在SNS上我现在更多的是去选择了沉默,不再发布自己的观点。但是的确手贱想写点什么,以便将来忆旧用。

       从大一入学开始,我就很焦虑,焦虑就业的问题。我是一个专科生,学历低,这让我更明显的感觉到就业压力,因为我只有两年的时间去学习,到了大三学校基本就让滚蛋走人了,也不再上什么课。我是软件专业,看学校毕业的师哥师姐们,很少有人能从事计算机软件方面的专业,多数工作都是与自己专业无关的,但是我真的很喜欢计算机,真的很想去从事这方面的工作,我不想跟他们一样。所以从进入大一开始我就对自己要求比较严格,基本上天天泡在图书馆中,每天都要写超过200行的代码量。大一上学期,我自己还没有一个明确的发展方向,只是对C++、PHP和Linux相当的感兴趣,也主要是在这些方面努力,C++写了不少,MFC也写过,这破玩意儿太难用了!VC++6.0编译器总是出一些诡异的错误,可能是我用盗版的原因?呵呵。我记忆深刻的是自己用C++写了一个小的RPG游戏,把宿舍的人全搞进去了,不过悲剧的是故事结不了尾了……所以这个游戏也一直没完成,然后直到后来就把它给淡忘了,现在都不知道扔哪去了~大一真快乐啊,呵呵,真想时光倒退!直到后来老师告诉我,学校的课程是以Java为主。我那时候还不知道Java是干什么的,但是这课程安排我很反感。我还想钻研Linux内核呢!高手不都是搞内核吗?我还想写自己的操作系统!另外Web方面我也很感兴趣,PHP很酷!搞什么Java啊!我记得我还专门写过一篇博客来痛斥学校只学Java这个教学安排!

        但是为了后来考试能及格,我决定我还是看看Java吧,做出这个决定的时候已经是大一上学期期末考试结束,快放寒假了,我跑去西单图书大厦买了自己第一本Java书——《Java大学教程》,作者是两个英国的大学教授。现在回过头来看,这本书写的很学院,代码的例子不是纯Java风格,C++的风格倒是很浓厚,学院嘛!不过有个好处是他讲的是JDK1.5的内容,包含了泛型、foreach这些新特性,这个没让我输在起跑线上,还好!用一个寒假的时间我自学完了Java基础知识,写了好多Applet,尽管我上高中的时候就知道这东西已经过时了,但是我觉着好玩……另外有个很重要的改变:我喜欢上了Java,我觉着这门语言很适合我的思维方式,用起来比C++顺多了。我适合纯粹的面向对象思维,我小时候最喜欢的游戏是堆积木,用Java编程让我找回了堆积木游戏的那种感觉:每个对象都是一块积木,我用他们堆出一座座城堡,哈哈

       下学期开学后,我就全心扑到Java上了,我用Java编写了一个界面很漂亮能连数据库的学生管理系统,然后拿给老师看,程序工作的很好,老师看后很高兴(其实在演示的过程中抛了一个小异常他没看到),他说,这学期的Java课我可以不用上了,可以搞些自己的东西!在此真心感谢老师给我的自由!因为时常关注就业,我也经常看一些公司的面试题,于是也上网找了一些Java方面的面试题来做,结果错了不少,我发现Java语法其实很复杂的,简直是个名词王国!于是我开始深究Java语法,也经常练习,最终达到了语法题基本不错的程度。另外了解了Java编程的一些规范,比如骆驼命名法,JavaDOC等。原先命名我一直是用下划线的。PHP跟Ruby常用的风格,不过我先在还是觉着下划线比较帅一些。后来开始搞JavaWEB,因为原先从来没接触过这东西,我以为JavaWEB就是JSP脚本而已,跟PHP一样,JSP 等于 JavaWEB。 很多“从入门到精通”之类的书上也是这么说的。我更不知道J2EE。好在我买书买对了,我买的第一本这方面的书是OReilly的《JSP设计》 这本书严格的遵循了JavaWEB规范,MVC模式,JSP作视图,Servlet作控制器,然后是JSTL,并且不提倡在JSP中使用Scriptlet。恩,我就严格按照它说的做了,一直到现在。C++和PHP很久没搞已经开始淡忘了……

        另外在大一下学期,有人给我介绍了一份工作,tongxue.com去做PHP开发,我当时对上班的能做真项目的程序员们很是崇拜,就答应了,去面试竟然通过了。但是我是在校学生,不方便每天去上班,我问对方能不能让我把东西带回学校做?我不能每天上班。对方不答应,说他们要的是正式员工,并且说如果我想得到这份工作的话可以退学!退学!?额……Maybe应该可以吧,反正我一直是自学,离开学校应该也没啥问题。给老爹打了个电话说我要退学,没想到老爸竟然怒了:你小子敢随便退学我跟你断绝父子关系!这话把我吓坏了,乖乖回学校了。

        这段经历对我很有感触。研究了一下tongxue.com,我在想我是不是能自己做一个网站来创业呢?其实这个想法我从高中时候学了点PHP皮毛之后就有了,我甚至在高中的时候闹过退学,想去做网站,后来也是被老爸又给强行塞回学校。现在在大学,这个想法不经意又被点燃,额……死灰复燃~创业要有个好的Idea,此时我恰好有了个Idea——WEB简历。何谓WEB简历?普通的简历只能包含你的基本信息,但是WEB简历却可以利用多媒体的优势,你可以在线展示你的作品,你的论文等等有声有色的东西。总之东西为求职者提供了一个方便的展示自我的平台。我写了一个简单的策划,然后mail给了身边几个能折腾的朋友,他们都说这是个Good Idea!然后就放暑假了,我回老家把自己关在屋子里面两个月做这个东西,额……现在回头看自己当时采用的技术方案真是太幼稚了……呵呵,不过的确锻炼了自己的很多能力,我熟悉了JS和CSS等前端的内容,也熟悉了Ajax,并且研究了一下用户体验方面的内容,读了一些这方面的书,比如《Don’t Make Me Think》,写增删改查的代码也变得更熟练了,甚至我还研究了一下风投……太能折腾了……不过一个暑假还是没做完,然后回学校准备继续。

        大二上学期了,学校这学期的课很不给力,JavaWEB是教的JSP脚本,数据结构自己原先学过,还有很多与计算机无关的乱七八糟课程。我没有一点兴趣,经常逃课搞我的东西。这学期开始的时候,李开复的创新工场也成立了,我又有了一个折腾的想法:把自己的这个东西推荐给创新工场。我当时对自己的东西非常有信心,于是就写了个email把自己的想法发给创新工场了……当然,这事直到现在都没有回音……哈哈。这学期就在乱七八糟的折腾中慢慢的过去了,技术上,唉,接触到了传说中的SSH。刚开始用的是Hibernate,感觉这个忒麻烦,SQL不能优化还不说,还要学习这个HQL,因此没怎么深入,泛泛的看了看,自己平时写程序也不爱用它。不过我倒是自己写了一个DAO小工具,能把Model跟SQL绑在一起,用注解实现的,类似于iBatis,不过没人家灵活。至于Struts,我用惯了Servlet,也不怎么喜欢用它。Struts1太麻烦。Struts2封装的太深了,我不能直接操作request和response,不怎么习惯。后来用了Spring的MVC感觉很好!尤其是现在Spring3的MVC很酷!这学期还学了点儿Ruby On Rails,皮毛,没深入。

       很快寒假到了,不过这学期我感觉确实没什么意思了,学校教的东西都比较过时,自己也没兴趣去学,另外再过半年就大三了,要找活了,压力也很大。想去真正的公司去实习,看看真正的开发是怎么做的。但是我这么个专科还没毕业的人谁会要我呢?跟专业老师请求过好多次希望能给联系个地方去实习,不要工资也可以,但是都没结果。没办法,我决定自己折腾!我不甘心自己做的那个WEB简历就此失败,可是自己什么都没有,因此我想把它推荐给某个公司。我发现SNS挺适合这个东西(现在这种模式貌似已经有了,大街网:http://www.dajie.com),我最看好的就是renren,我鼓起勇气,自己查到了renren的工作地点,于是就过去了,去的时候前台接待了我,我跟她描述了一下自己此行的目的,她没怎么明白,估计她当时想这孩子干啥的呢????然后她就给我介绍了渠道的人来接待我,我跟他们描述了一下自己的想法,并且把自己做的给他们展示了一下,他们很感兴趣,也很爱跟我聊,我们聊了一个上午,说的我口干舌燥……但是这个事情并不是他们所能负责,另外renren其实也在做招聘,正好刚刚开始(zhaopin.renren.com),他们带我见了这个项目的产品,她看了我的东西,说过几天给我回复,我然后就回学校等了……当然是等不到任何消息的,不过最开始接待我的渠道的人倒是联系我了,说他们缺一个OA,问我乐不乐意过去做这个东西,并且一月给2000块钱。我当然很爽的就答应了。那会儿快要过年了,我记得自己都买了回老家的火车票了,但听到这一消息还是马上去了。

       去之后就开始做。刚开始去不了解他们的业务,他们自己也不清楚自己想要个什么样的OA……因此我天天跟他们接触,问他们的业务。刚开始我以为这是一个很简单的增删改查的应用。但清楚了业务之后,我发现自己错了,这套业务很复杂,而且是一个人开发……但是我当时没想太多,觉着加几个班奋斗一下就可以做完。但是做一段时间之后我烦了,因为渠道的人员不懂技术,跟他们沟通总是有障碍,需求总是理解错,开发出一个功能,他们用一段时间才发现不对,然后我再去重新做……而且总是这种情况,那几天我天天加班到两三点,感觉快要跨了,也想走了不干了,但是想自己这个机会得来的不容易,又坚持下去了。终于在2010年3月份的时候做完了,上线,能用,稍微松了口气……renren此刻成立了一个新的项目组,却人手,渠道的老大就把我推荐了过去,终于能做renren真正的项目了,而且我也有了个实习生的身份,原先一直是在公司“黑户”着。这段时间自己的进步很快,设计模式、缓存、架构都了解了很多,另外学习到了很多的新东西,像是SVN、Maven、Spring的自动注入、自动部署脚本等等。当然还认识了很多技术大牛,有问题经常向他们请教,我如果在学校的话永远得不到这么多收获的。另外纠正了自己原先在计算机专业学习想法上的一些错误,原先我认为我喜欢Java,我就只去学习Java,其余的都不怎么看,但是现在我发现这是个很严重的错误,比如renren这种SNS网站并发很大,因此并发的安全问题很重要,这时候我就发现了《操作系统》这门课程的重要性,这不就是进程这一章里面所讲的东西吗?像是数据库散表这种东西,不还是Hashtable的原理吗?我终于知道他们有什么用了,哈哈!所以在此奉劝大家,学校里面的基础课程一定要学好,在学校可能用不到,但是实际开发中总会有他们的影子!

        跟学校老师商量一下,学校平时的课可以不去上,只回去考试就OK!再次感谢老师!您的恩情永不忘啊!呵呵.就继续实习下去了。

        这时候OA又出问题了,一个核心的功能模块因为当时需求理解的有问题,设计的不当,结果现在引发了很多严重的问题。初期测试因为用户数量少,没有显示出这个问题来,但是随着用户数量的增加,问题愈加严重,直到这个系统不能使用。这下我更加倒霉了,不但要做renren的项目,还要再去做OA,我的个天啊!真的是焦头烂额了……OA需要进行重构,我整理了需求,并跟渠道那边确认很多遍,然后开始开发,开发断断续续,因为还有很多项目,OA我一个人前端后端通吃,因为不是公司的正式项目,不可能给单独提供前端的。平时上班做主站的项目,节假日开发OA,因为这个东西毕竟是自己当初答应要做的,自己要负责到底!十一假期我都没回家,加班搞这个东西……一直搞到现在。

        单独开发这个东西,完全驾驭这套代码,自己接受了很多教训,吃了很多苦头,除了技术,还有项目管理方面,这个就叫做经验吧。反正现在做东西是成熟多了,无论是采用的技术还是需求分析还是跟其他人员交流……当然,提高的还有抗压能力,面对压力,我能站起来,抗住!我始终要坚持做个有责任心的人!做个有战斗力、执行力的人,而不是光说不做的人!

       我是个能折腾的人,虽然在公司干的很稳定,但是我不是甘于这样平庸的生活下去!在公司工作期间,我仍然在寻求创业的机会,现在有支很棒的创业团队愿意接纳我,我很高兴!我辞去原先的工作,加入这支创业的队伍,跟随这支队伍一起成长,从无到有,让事业变得辉煌!我会学到的更多,当然也有更大的挑战在等着我!前进!做此文章,作为人生的一个重要的足迹!另外现在已经大三了,也快毕业了,约束也没有了,折腾的空间更广阔了!

hanaPaPa

2010.11.25

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

分类

%d 博主赞过: