原文地址:http://www.csdn.net/article/2013-08-21/2816646

摘要:程序员的经历也是很多准程序员们急于想知道的,而程序员再去创业又如何呢?社区之星第32期采访了资深培训讲师、程序员和创业者张龙,回忆那些年漫漫的程序人生路以及程序员创业的经验分享。


张龙,天津大学工学学士,同济大学软件工程硕士,有一年的创业经历,InfoQ中文站编辑。热衷于编程,乐于分享,对新技术有强烈的探索欲,苹果产品重度痴迷者,译者,资深培训讲师。

兴趣造就了我的一切

CSDN:请和大家介绍下你及所从事的工作。

张龙:各位好,我是张龙,一名程序员。目前从事程序相关的工作已有7年左右的时间了。在这几年中一直从事企业系统的架构、设计与开发工作,使用的技术也五花八门。目前的兴趣在于如何编写更好的代码、高并发以及移动相关的领域,还有HTML5。

CSDN:你在大学本科的时候是学习建筑工程,后来为何在考研究生时选择了软件工程专业?

张龙:我的大学是在天津大学上的,与很多高考生一样,报考时完全不清楚大学的各个专业都是做什么的,当时在学校读的专业是港口航道与海岸工程,这也是天大建筑工程学院下的一个专业。进入到大二开始初步学习一些专业课时发现自己的兴趣并不在此,碰巧又看到有同学在看C语言方面的图书准备考计算机二级,于是我也买了一本看起来,突然产生了强烈的兴趣。兴趣这个东西很难捉摸,也许突然就对某个东西产生了强烈的感觉,于是自己就买了很多计算机专业的教材开始学习起来。由于没有任何基础学习来非常吃力,我是大二时才学会上网的,那时的上网条件也非常差,都是拨号上网,速度也很慢。由于对计算机的基础理论缺乏必要的了解,于是自己就跑去听计算机专业的课程,下课后自己就看书。大家都知道,计算机专业是个实践性非常强的专业,光看书肯定是远远不够的,但由于当时自己也没有电脑,只能一点点啃教材,碰到不懂的也没人问,所以学起来还是很辛苦的,不过每当理解了一个难题后的兴奋之情还是溢于言表的。我那时也报考了计算机二级,由于没有上机环境外加自己底子还是很薄弱,第一次考试没通过;后来,我又报考了三级(计算机等级考试是可以跨级报的),结果还是没通过,当时比较郁闷;最后直接报考了四级,当时了也花了相当多的时间备考,结果顺利通过拿到了计算机四级的证书。这也给了我很大的信心。

再后来就准备报考计算机相关专业的研究生,备考过程相当艰苦,压力也很大,但结果还是令人欣慰的,考上了同济大学的软件工程专业,顺利地实现了跨校跨专业的考研

CSDN:你缘何对苹果产品很热衷?是什么地方吸引了你?

张龙:最早接触苹果是在08年,那时我买了第一代的iPhone,说实在的,刚买完时也没觉得这个东西有什么好的,毕竟那个时代还是诺基亚的天下。不过随着每天的使用越来越发觉iPhone的过人之处,iPhone的好处我就不在这里说了。后来苹果发布了iPhone SDK,开发者可以为iPhone开发原生应用了,于是我在09年底买了第一台MacBook Pro,开始学习iPhone开发(那时还不叫iOS)。

CSDN:你在工作之余,翻译和原创了大量技术文章,目前已经翻译出版了十多本技术图书,如《设计原本》、《iPhone游戏开发》、《Android Web应用高级编程》、《复杂性思考》、《Android游戏实战编程》、《Spring高级程序设计》等,作为一名程序员,这些肯定占用你不少的时间,可不可以跟大家分享一下这方面的体会?以及你是如何进行时间分配的?

张龙:我的翻译之路起始于07年的11月,那时查找资料找到了InfoQ中文站的几篇文章,读下来感觉质量很棒,同时看到InfoQ正在招募编辑,于是自己就报了名。刚开始翻译时速度非常慢,一句话要斟酌好久才敢落笔,读一篇文章也许花几分钟,翻译一篇文章可能就要花一两个小时。后来经过自己的不断努力,有幸成为InfoQ中文站的一名编辑,每天有时间就喜欢将英文的技术文章翻译成中文,一方面锻炼自己的翻译能力,另一方面也不断学习最新的技术和了解最新的资讯。

后来有机会与出版社打交道,翻译了一些图书,到目前为止翻译了十几本技术图书。翻译是个非常耗费脑力和体力的事情,也非常能培养人的耐性,很多时候刚开始翻译时热情很高涨,但到后来随着热情的逐渐消退每天投入的时间也就不那么多了,这就会造成拖稿,这也是出版社最不愿意看到的事情,因为一本技术图书如果出版时间晚了可能就完全没有市场了。我觉得这个问题并没有什么灵丹妙药,只需要每天不管怎样多多少少也要翻译一些,这样才能保持连续性,因为一件事情如果被拖延了,那到后面就会越拖越严重。保持连续性的好处就是让你每天都能看到进展,也算是给自己不断增强信心。

CSDN:现在每天还会花时间在编程上面吗?

张龙:当然了,编程不仅是工作,也是兴趣。除了写代码,我也喜欢到GitHub上看看人家的代码是怎么写的,了解一些优秀的项目,读读一些好的博客,对自己的提升有很大的帮助作用。

我的漫漫程序人生路

CSDN:你在08的时候在博客中写了我的漫漫程序人生路(上)、(中)和(下),引起了很多人的关注,在这么多年过去了,你有着怎样的一份心情以及现如今的你如何看待当年的自己呢?

张龙:当年写的这个系列文章没想到会引起这么多人的关注,这也如实反映了当时的内心世界,算是对自己求学、工作这几年的一个总结吧,现在看起来往事依然历历在目。确实,程序员这个行业是个需要不断学习的行业,除了经验的积累外,不断汲取养分也是非常重要的。既然选择了这个行业就要脚踏实地坚定地走下去,谁让它是我的兴趣所在呢?

CSDN:学生们在大学里要学习专业课程有很多,高级面向对象程序设计、Linux高级程序设计以及Arm嵌入式系统等等,在计算机领域学习你有什么经验可分享?

张龙:我在刚读研时基础还是很薄弱的,虽然自己付出了很大的努力,但与计算机科班出身的同学相比自己的差距还是非常大的。当时学校开设了很多课程,有企业计算、嵌入式等领域,每个领域都有很多新东西要学,自己也参加了几乎所有课程。不过后来发现这样下去不行,毕竟人的精力有限,在每个领域平分时间会导致哪个都学不好,最后自己选择了企业计算这个方向。我的想法是先将一两个方向搞熟,搞透,这样再去学习其他方向就会容易一些,切忌一开始就把摊子铺的太大,还是将精力集中于一点比较好。

CSDN:看完系列文章后觉得奋斗中你很有魅力、勤奋和刻苦等,而且一步一个脚印、踏踏实实的走好人生里的每一步,是什么让你一如既往的坚持下去?

张龙:我想这可能与人的性格有关系吧,另外就是兴趣。兴趣其实是可以逐渐培养的,在一个领域中如果能不断获得小小的成功,不断获得自信,这就会对兴趣的产生起到推动作用。此外,人不能总呆在自己的舒适圈中,我喜欢挑战自己,挑战陌生的领域,这样才带劲。

CSDN:你在研究生的时候做过柯尼卡—美能达公司的经销商管理系统、一个游戏点卡的销售网站,都给了你不小的压力,你是如何对待压力的?

张龙:压力每个人都有,做事情如果没有压力其实很容易造成拖延。这种压力一方面来自于自身,另一方面则是外界施加的。适度的压力会激发人的潜能,我现在在做事情的时候就喜欢给自己设定一个截止日期,算是自己给自己的压力吧。没有压力可能一件事,特别是需要长时间付出的事情永远也做不完。

CSDN:在(中)篇里,你提及上大学最大的两个收获就是:决定了自己的人生方向和掌握了自学的方法。你对现在正处在大学里的准程序员们有何建议?

张龙:我始终认为这是我大学期间最大的两个收获。因为进入大学后就意味着要独立承担自己的一切,别人可以给你建议,但最后拿主意的一定是自己。特别是对于计算机专业来说,自学意味着一切。毕竟计算机领域涉及众多,学校上课讲的只是最基本和基础的,在掌握了这些内容之后剩下的就要靠自己了。

现如今,互联网上的资源一应俱全,你要的东西网上基本都能找到,比我那个时代好太多了。不过,这是一个最好的时代,也是一个最坏的时代。可能你需要的很多资源都需要×××才能获取,这应该是每个程序员的必备技能了。另外,对于在校学生来说,有机会可以兼职或是去公司实习,这样可以尽早步入社会,了解公司都需要什么,为今后的工作提前做好铺垫。

CSDN:你在系列文章最后分享了9点心得体会,总结当时到现在的这段时光,是否有新的感悟分享?

张龙:我现在依然在坚守着这些体会:

1. 基础的重要性。我总是不断强调基础的重要性,因为我是有切身体会的。基础的东西可以让你受用一生。struts出来了,webwork出来,tapestry出来了,jsf出来了,struts2也出来了,等等等等。但是这些框架或者标准都是新东西吗?其实每个人都知道并不是的,他们都是基于HTTP协议的,换句话说都是构建在jsp与servlet基础之上的,有很多人连这两个基础都没掌握好,就去学这些框架,这真是难以想象的。有了好的基础会让你学习新东西更快,也更扎实,走的也更远,否则你永远都是在跟着别人的脚步。

2. 还是基础。我们都知道Spring是非常优秀的框架,也是很多公司采用的技术选型。但是你是否真的了解Spring的核心IOC与AOP了吗?适当看些设计模式的书会让你受益匪浅。其实你只要掌握了java的动态代理对于AOP的理解就是自然而然的事情了。

3. 舍得投入。 有时间的话买些书看看,好书可以让你系统的学习一些技术,而不是一些支离破碎的技术点。

4. 抓紧时间。 将游戏的时间控制的少一些,把精力放在学习上吧,如果你想投身IT行业,做好不断学习的准备

5. 要有激情。 没有激情的人生是惨淡的人生。生活和学习要有激情,否则你体会不到淋漓尽致的快乐与苦痛。

6. 要有耐心。 没有耐心是无法成为一个优秀的程序员的。其实写程序的时候大部分时间是与错误、异常相伴的,不要幻想一下就能将程序写对,优秀的程序实际上是不断重构的过程。

7. 要能耐得住寂寞。 很多时候我们都是与计算机为伴的,如果你没有对程序的兴趣与热情,时间长了你会坐不住的。

8.英语的重要性,如果你想进外企的话,那么英语是必须要过的一关(主要体现在听说上)。

9. 最后一点,坚持学习。活到老学到老是对程序开发人员最好的描述。

基础的东西总是最重要的。

创业之路

CSDN:创业属人生的重大决定,从酝酿、构思到实际付诸行动,往往需要一段时间才实现。你在从事四年的开发之后毅然选择了创业,能不能给大家简单介绍一下?当初为什么会选择创业呢?

张龙:当然了,创业的想法不是一天形成的。我在读研以及工作时就开始为一些企业做培训,主要做的是技术方面的培训,在这个过程中积累了很多资源,同时也极大地锻炼了自己的口才以及与人交流的技巧。于是,在10年的时候我创立了北京圣思园科技有限公司,专注于高端IT培训,主要做的是技术相关的培训。现在网上还有不少当时我在课堂上录制的视频,已经有几百万的下载量。

CSDN:每个创业者都会遇到阻碍,创业期间给你感触最深的是什么?

张龙:创业时最大的感触就是忙。在公司时你只需要做好自己的事情就可以了,但创业涉及到方方面面的事情。当时,我有3个合伙人,我主要负责授课,这也是公司的立足之本。整个培训全程由我授课,这其实是个很大的挑战。当然,结果也是很不错的,参加培训的学员都找到了很不错的工作,基本上都超出了当初的预期,这也是令我感到欣慰之处。

CSDN:你在研究生期间就给人讲授课程,锻炼自己的口语表达能力,不少程序员相对比较内敛,这方面你有什么经验可分享?

张龙:我觉得这是个循环问题。你越闭塞,越不想与人交流,那你就越陷在自己的圈子当中,不愿走出来。反过来说,当你走出去,多多参与讨论,多多与人沟通,这对你的思维也是很好的锻炼,你就知道该如何与人打交道。你永远不是一个人在战斗,走出去才能实现更好的腾飞。

CSDN:你创办的北京圣思园科技有限公司,主要从事高端技术培训,圣思园的培训视频在网上有着百万以上的下载量,很多学习编程的人从中受益,对此有何感受?

张龙:虽然我现在已不再创业,不过当时积累下来的视频资料依然在发挥着作用。我经常收到看我视频的朋友给我发来的邮件,要么感谢,要么咨询问题等等。我感到很高兴,虽然未曾谋面,但这些视频能够帮助这么多人是我始料未及的,也希望未来它能发挥更大的作用。

CSDN:在创业期间,团队肯定是必不可少的,你是如何组建自己的团队并建设的?

张龙:其实当时筹备创业时也是找到几个志同道合的伙伴,大家有着共同的理想和目标,都是技术出身,也很看好这个市场,于是就走到了一起。现在想想,大家的配合也都挺默契的,不过有一点比较遗憾,就是缺乏一个对市场敏感的人。大家都是做技术的,对市场方面的理解很有限,这是一个失误之处。

CSDN:创业的话通常会涉及到资金、个人特质、专业知识不足以及创业资讯等,你认为IT人或程序员创业的话有什么优缺点?

张龙:优点就是有技术,有想法,而且可以通过技术快速将想法实现出来。缺点就是思维会有一定程度的局限性,不能很客观地洞察用户的心理。当然了,这是我的一面之词,我认识不少程序员还是有非常全面的发展,在很多领域都造诣颇深,这个就因人而异了。

CSDN:在你一路走来,遇到一些浮躁的心境时是怎么处理的?对刚进入这个领域的人有何建议?

张龙:浮躁、烦恼每个人都有,也不光是程序员才会这样,各行各业的人都会遇到各种各样的问题。适当排解很重要,憋在心里只会把人憋疯,出去找朋友喝喝酒、唱唱歌,一切都会过去的。我不是专家,不敢给人提建议,只是觉得学习是保证你今后的路越走越宽的最佳手段

CSDN:你对自己的未来有着怎样的规划和展望?

张龙:未来到底有多远,我也不清楚。不光要抬头看天,也要脚下看路,踏踏实实走好每一步很重要。

CSDN:你是什么时候接触CSDN的?它对你学习和工作都带来哪些影响?同时,对CSDN有什么建议?

张龙:我接触CSDN是在大二的时候,那时自己非常喜欢买《程序员》杂志(虽然基本看不懂技术文章),记得有一期杂志的名人堂栏目介绍的是C#之父安德尔斯,感触非常深,他说过“程序员是最好的职业选择”给我留下了很深的印象。另外,给我留下最深印象的一本书是《DOOM启世录》。

CSDN是在我读研期间每天都会访问的网站,我的第一个帐号就是那个时候注册的,现在的CSDN做得也越来越不错了,新的资讯和技术文章更新很快,这是开发者的福音。