4年前的今天恰巧是我第一次踏入企业成为一名职业程序员的日子。短短的4年在很多前辈面前还是“小朋友”的档次,但自觉对软件开发这个行当还是有了一些自 己的理解和感悟,在这里很想和大家分享。其中难免有主观的感受,欢迎有不同的意见。
程序员这个行当究竟有没有前(钱)途,是不是一个吃 青春饭的行当?这个问题我无数次的在不同的场合听到和看到人们谈起过。我认为这要看你怎么理解“程序员”这个称谓的含义。我的定义就是从事第一线的软件设 计和开发的人员,无论你是为一家企业服务还是自己干私活,抑或是纯属爱好的自由软件作者,你都可以被冠以这样的称谓。对于更严厉一些的资深人士而言,只有 技能达到一定程度后才有资格被冠以“程序员”的称谓,这有时候让我想起中世纪欧洲的骑士称号,不仅仅要诸多条件还要看出身的。当然现代的程序员称号并不是 那么崇高,但也不卑微,软件从业者是360行中的普通一行而已。有那么多的程序员,可水平高下相差很多,有很多文章以各种标准对程序员的档次分类,我就不 多说了。就好像搞篮球的,你说有没有前(钱)途呢,很显然你只是上过少体校,出来在社区少年队里当个教练,看不出太大前途;你能进入省级队打CBA联赛 了,前途好很多了;最后你达到去NBA的要求了,那世人皆知前(钱)途远大了。那么程序员这个行当还不是一样吗?它和任何行业一样都是金字塔型,处在底端 的总是有种岌岌可危的感觉。对于真正对这一行有兴趣并有志于此的人,要做的是扎实地提高自己的水平,摆脱底端的危机感。
也许很多人会 说,在目前的中国没有软件业的NBA,很多企业无法保障程序员基本的生活 必需,使得从业人员 无法安心提高自己的水平。并且很多企业从事的开发是技术 含量较低的重复性开发,干得只是苦力,无法在 工作中提高。这话说得没错,这也是为什么很多程序员向往去外企工作的原因,在那里提供了相对宽松的环境,以利于程序员持续提高自己。而在现在这样的相对恶 劣的大环境下,个人究竟怎样选择?如果坚持选择了这一行又如何提高呢?
1,追寻内心真实的想法,如果你是高考“不幸”踏入了这个不感兴 趣的专业,现在为了对得起大学的学费来做这个行业,那还是劝你想清楚,别到头来对不起自己。如果你是听说做软件赚钱多,那也许你没听全,是水平到一定程度 才会赚钱多。也许你认为学软件开发好像比学电机,机械啥的简单又没危险,只要一台电脑,不用担心高压电,也不必整天满手机油。总之你最好确认你是喜欢这种 为只有躯壳的硬件设计灵魂的工作,你才应该选择它。
2,有了兴趣,你自然会明白去探寻软件技术 的本质。就好像小时候第一次得到一块电子手表,迫不及待想拆开看里面的构造那样。软件技术 的本质分布在大学时那些不太受欢迎的基础课上,诸如:微机原理,操作系统 ,编译原理,数据结构。更远一些的可以追述到你中学时代学过的那些数学,主要是逻辑证 明。如果在你现在的工作上还看不出这些基础知识的作用,甚至之前也从没体会到过,那一种可能是你还在底端挣扎,不得其门而入,另一种可能是你已经告别了程 序员的生涯,虽然你从未成为过真正的程序员。
3,找一个人作为目标,努力去达到和超过他。在我刚入行时,一位从西安过来给我们培训的工 程师,当时已经有了7,8年经验,我们财务告诉我他的月收入有2万多。在当时的我看来还是很有震动的。在我当时简单的概念里,我想在我能达到他的技术 和收入水平之前,我没有理由说遇到什么玻璃天花板,也不应该退出。我到底要看看,在这一行能做到什 么程度。到现在,我虽然在这两方面依旧没有超过这个目标,但我确实也没有看到有什么拦在我的头上阻止我继续发展,我依旧看到广阔的天空。
4, 找一个志同道合的伙伴。一个人的探索常常是寂寞的,有时候也比较低效。能够和一个或几个水平相近的同事经常交流是提高的方法之一。现在有些人的工作常常是 单独埋头开发,因为种种原因,并没有合适的人可以交流,我很能理解这样的处境。我的建议是尽早离开这样的工作,到一个有更多开发人员的公司去。然后学会有 效的从别人那儿学习。
5,常常思考你所学习的技术 的用处。软件技术 只有最终服务于人才有它的价值。很多人在争论哪种编成语言更流行的时候,其实更应该思考的是怎样的 软件应用可以为用户、为客户、为公司、为老板,为自己创造价值。
6,学会表达的技巧。程序员大都是偏内向的性格,又整天和电脑打交道, 有的程序员会觉得自己越来越呆板和不擅交流。程序员也是一个完整的人,需要交流,需要向同事,老板和客户表达自己的思想。有人觉得学习沟通技巧是为了转做 销售或者管理 ,这根本不对,一个好的程序员既然可以以漂亮的代码表达自己的设计理念,就可以 写漂亮的报告,做漂亮的presentation。你应该有自信把自己的工作成果,以合适的不让人反感的方式让每一个同事和你老板知道。
国 内的软件从业环境正在不断地改善,很多报纸上写未来几年对软件人才的需求有多少多少,虽然我不必相信这些数字,但是中国软件行业对高层次软件人才的需求是 实实在在得不断的增加着。而那些高级人才正是从现在千千万万的初级程序员中涌现的。这里我想到另一个也许是成为那么多人选择这一行的理由:程序员在中国被 认为是相对公平的职业,可以以自身的能力,而非出生,来实现自我价值。既然这样,不要再怨天尤人,找到自己的目标,坚定地朝它迈进,哪怕最后实现得不是全 部,但沿途一定会顺便采摘到丰盛的成果。