简朝阳 阿里dba 南工大管理科学与工程学院
/*本期开始连载简朝阳的故事,讲述他的学习工作成长经历*/
在交流中学习,在分享中进步(1)
简朝阳
引子:交流,分享,我成长的关键词
受博文视点周筠老师邀请,我来讲讲自己的学习工作成长经历,以给后来者一个借鉴,让他们能少走弯路,能早日找到个人发展的准确定位。说实话,这个主题让我内心很有压力,搞不好就会背上“误人子弟”的骂名啊。但回想一下自己的成长经历,何尝不是也非常希望能够有一些“过来人”介绍一下成长经历,说说他们的学习历程?所以即使有压力,时间也非常紧,最终还是应承下来,只希望自己的这段经历能够对大家那么有一点点启发。
从大学生活开始,到职业方向的抉择、实习阶段的成长、工作后的进步,整个过程中引领我快速成长的两个关键词是“分享”和“交流”。
本科四年 定调:不爱本专业,心在计算机。师兄领进门,修行靠实践
迷电脑,入科协,初识MySQL数据库
我就读于南京工业大学(以下简称南工大)管理科学与工程学院,工程管理专业项目管理方向。和大多数朋友一样,我是一个再普通不过的大学中一个再普通不过的学生而已。只不过自己所在的专业在本学校来说,还算一个比较不错的专业。可自己当时的兴趣并不是工程项目管理,而是计算机。
进入南工大之前就有一点计算机基础知识,了解一点C语言编程,再加上自己对计算机有浓厚的兴趣,所以大一就加入了一个计算机社团:校大学生科学技术协会的电脑部(以下简称电脑部),负责开发维护校内一个专为在校学生服务的用Java编写的小网站(ForU)。
刚进入电脑部的时候,我是一个完全不懂 Web 编程的人,不知何为 Http,不懂什么是 Web 服务器,更不懂何为Java 语言,所以几乎完全是从0开始学习 Web 编程、学习 Java 语言。那时,其实所有的人对Java语言也都不是太了解,还处于一个边学习边开发的摸索阶段。不过非常庆幸的是,电脑部里的各位前辈都非常谦和,对我也非常关照,正是在这里,我第一次接触到了MySQL 数据库。大家一起学习,一起交流,每个人都充满了激情。不管是谁有了任何的进步,都会以非常 Open 的心态分享给所有人,有任何不懂的问题,也都会提出来,向其他同学请教。遇到大家都不清楚的疑问的时候,所有同学会一起查找资料,共同解决。每一次交流分享都会让所有人充满激情,也让分享者充满成就感,每一个问题的解决都会让所有人兴奋不已。也正是这样一个非常浓厚的学习和乐于分享的氛围,让团队中的每一个成员都成长得非常快。
求进步,换社团,Mars Studio里觅成长
在电脑部工作一段时间之后,ForU网站已经基本成型,运行也比较稳定了。我开始慢慢感觉到自己在这个环境中的成长基本到顶了,很难再有太大的进步,而自己也对部长或者是协会主席之类的头衔并没太多的兴趣。我开始尝试寻找另一个能够让自己有更大发展的去处,希望能够让自己得到更快更大的进步。刚好这时候,一位之前从电脑部离开的学长(Sailing)问我,是否有兴趣加入 Mars Studio(一个由一群计算机爱好者自发成立、由学校网络中心资助的自主运作的计算机兴趣小组),说如果我有兴趣的话,他可以推荐,并向我介绍了 Mars Studio 的很多细节。我听了这位学长介绍的情况之后,内心中非常清楚地告诉自己:这不正是自己在寻找的去处吗?所以马上就答应了他,并让他安排时间面试。
实际上,在此之前我对 Mars Studio 也是有一点了解的,不过大都是平时听一些计算机学院的朋友说起的零零星星的内容。听说当时的 Mars Studio 是南工大校内最有名的学生计算机团队,在南京所有高校学生计算机团队中都是非常有名的,经常会有其他各个高校的学生计算机团队和他们交流、切磋。而且南工大校内多个有影响力的网站都是由他们开发和维护的,包括校内著名的“玄武雅阁”BBS、“工大在线”学生门户等。
很快,Mars Studio 就给我安排了面试,这也是我第一次参加面试(在此之前进入电脑部只进行过笔试)。并没有太多曲折,我很顺利就进了Mars Studio。现在还清楚地记得,2003年五一放假前一天,我带着自己的台式机电脑,搬进 Mars Studio 的办公室。
“笨小孩”引路,我迷上了数据库
从此,我开始了更为狂热的计算机技术学习之路,开始整天逃课躲在办公室学习,每天晚上10点后才从办公室离开,早上很早就来到办公室。那时候,由于 Mars Studio 需要开发和维护的网站并不仅仅局限于用 Java 编写,还包括 ASP 和 C#。刚进入Mars Studio 后,交给我的第一个项目就是和“笨小孩”一起,给“工大在线”增加一个类似于ChinaRen 校友录功能,用 ASP + MS SQL Server实现。可当时我从来没有用过 ASP,也没有用过 SQL Server 数据库。
“笨小孩”对我说:你先学习一个星期的 ASP 和 SQL Server 的基本使用,然后我们再开始做。“笨小孩”这句轻描淡写的话,给了我极大的压力,心想一个星期怎么可能学会一门编程语言并用来开发项目?可当时由于自己刚刚进入 Mars Studio,也不敢有任何抱怨,只能硬着头皮接受。接下来的一个星期,我开始没日没夜地学习 ASP 和 SQL Server基本知识。而当时的“笨小孩”可以说在 ASP 方面已经有非常多的经验,开发过很多成功的项目,并且对 SQL Server 数据库也有较为深入的研究和理解。我只要一遇到任何疑问,就会缠着他问,他也会尽他所能,耐心给我讲解,直到我完全弄明白为止。在这一个星期中,我的进步真的是非常之快,连我自己都非常吃惊。一个星期之后,我们就开始做这个小项目,两个人边研究 ChinaRen 的功能,边分析我们自己的特点,边进行功能整理,边分析设计数据库表结构。又经过一个星期的时间,我们基本完成了这个小项目的设计工作。虽然比较粗糙,但是对于我们两个当事人来说,也算比较清晰了,后面就是正式的编码阶段了。
编码阶段可以说是我最有成就感的过程了,因为随着一行一行代码的完成,一个一个的小功能开始被实现,心里感到特别兴奋。我想,这种成就感应该每一个开始学编程的人都有过吧。在编码进行到快两个星期的时候,由于一个性能问题,我的自信心第一次受到了打击。一个留言列表分页显示的功能,在我自己的电脑(开发环境)上可以“很快”地运行,可发布到测试环境之后,性能非常差,每次点击之后,都要好几秒才能显示出来。为此,我花了一整个晚上去追查问题,可任凭我如何跟踪,都找不到问题出在哪里,整个人都快崩溃了。第二天,“笨小孩”来到办公室之后,我向他描述了问题,他什么也没有说,打开 SQL Server 的管理界面,快速敲了一条命令并执行后,让我再测试一下。我重新发布了代码,测试了一下之前响应非常之慢的留言列表分页显示功能,响应变得非常之快。看到如此神奇的现象,我追问原因。“笨小孩”告诉我,之前运行很慢,是因为存放留言信息的表上面没有合适的索引,所以每次显示留言都需要读取整个留言表,由于之前他做测试对留言表生成了很多的数据,所以很慢,我自己电脑上运行较快只是因为里面的测试数据很少。我第一次知道了数据库中原来还有如此神奇的功能——索引,可以让查询效率变得如此高。也正是从这时候开始,我对数据库产生了极其浓厚的兴趣。可以说,这个项目及“笨小孩”对我以后的从业方向有非常深远的影响。
从此,我开始加强对数据库的关注,开始了数据库相关知识的学习。不过,这时自己的学习重点仍然是编程语言,一来是因为平时在 Mars Studio 中有不少工作内容需要通过 Java 和 ASP 来做,二来是 Mars Studio 里的其他朋友并没有对数据库非常热衷,大都是专注于编程语言的学习。
接下来的一年多时间中,我开始和 Sailing 一起重点学习 Java 编程,因为我们希望改版当时的“玄武雅阁”BBS论坛,在 Jive Forum 的基础上进行二次开发,增加一些定制化的功能,如站内留言消息、投票、帖子评分等。而且,我们还同时迷上了 JavaRobocode。还非常清楚地记得,为了学习 Robocode 中实现各种瞄准以及运动算法中使用非常频繁的三角函数算法,我们俩在非典期间逃出学校的封锁,跑到“军人俱乐部”(南京图书市场)去买初中的数学课本,最后在学校围墙外等到天黑才翻墙回到校内。
和 Sailing 一起学了一年多的 Java 编程,也完成了“玄武雅阁”的二次开发,手边的项目基本都已经处于稳定的维护阶段。接下来的一年多时间里,我们开始在校内校外承接一些小项目进行开发,一来锻炼大家的编程能力,二来还可以带来一定的经济收入,通过自己的双手赚取自己的生活费。在这段时间里,Mars Studio 整个 Team做了大约20多个大大小小的项目,通过实际项目的锻炼,每个人都进步得非常快,也非常有成就感,不仅通过自己的双手解决了个人经济问题,还为 Mars Studio 办公室增添了一台空调,改善了大家的学习和工作环境。当然,在这个过程中,大家也非常辛苦,每天都起早摸黑,还经常通宵在办公室中学习工作。但是,每个人都保持着高度的激情,每天早上都是非常兴奋地进入办公室,晚上也是非常满足地离开办公室,一直保持着交流分享的氛围。
同时,我也一直没有放下数据库的学习,在做“玄武雅阁”的过程中,我学到了很多 MySQL 数据库的知识,还从网络中心崔北亮老师那里学到了很多在 Windows 下搭建和维护 Web 服务器的知识,从尹晨姐那里学到了很多 Solaris 的维护管理知识。偶尔还跟着Chagel和曾军学点 PhotoShop 知识,PS几张搞笑的图片。
欢迎转载,转载请注明—— 本文出自电子工业出版社博文视点(武汉)新书《我是一只IT小小鸟》。
http://www.china-pub.com/196000 http://www.douban.com/subject/4006425/