现在的程序员找工作不太容易,而我招聘程序员也不太容易,双方的需求总是有着很大的差距。来面试的人里面有一半是刚刚毕业或者刚刚参加XX计算机培训出来的,对于Asp.net编程的理解,就是打开Visual studio,新建一个页面,拖拖控件,双击一个按钮写一下SQL操作的代码,仅此而已。
以前我在面试的时候喜欢问他们有没有学过设计模式,有没有看过敏捷编程,知不知道测试驱动开发,喜欢上什么样的网站,知不知道现在互联网领域流行什么。后来我就不怎么问了,因为没有一个人答的出来。当然,这些东西对于一个程序员岗位来说并不是必须的,但是我们是一个互联网公司,而且是个小型的互联网公司。首先你必须要了解这个行业,才有可能有自己的想法。要了解它,就必须热爱它。如果只是因为自己学了编程这个东西,而不得不来找一份写代码的工作,那么我可以假设,你除了完成我告诉你的功能函数,是不会为公司提出什么建设性的意见和想法的。
退一步讲,即使你喜欢的并不是互联网,你也没想过创业,但是要想做好一份工作,你首先要喜欢这份工作本身。如果你喜欢编程,喜欢写代码所带来的美好的感觉,那么你应该时刻关注着这个领域的新的动向,和更高层次的要求。我当然不是说你应该去学习所有新出来的技术和语言,语言其实并不重要,重要的编程的思想本身。了解设计模式的人所做出来的程序架构,一定比从没听说过设计模式的人要好的多。虽然我们在实际工作中也没有要求一定要使用测试驱动开发的模式,但是知道这些概念,意味着你喜欢编程这份工作,意味着你时刻在关注着这个行业,而不是只是为了上班的时候完成老板的任务,下班以后就连看都懒的看电脑一眼。
好的工作状态是需要热情的,更好的工作状态是需要激情的。
国内都说程序员的工作只能在30岁以前做,这句话有几个基本前提:
首先,大部分IT公司不够大,只能以最小的成本解决最根本的需求,人过30,对待遇的要求当然不能跟刚出校门的学生比,而学生经过一段时间的培训,在工作上完全能够满足公司的要求,所以,公司不会养一群年纪大的程序员。
其次,编码这种工作,本身是无聊之极的,所以公司需要的是有相当有创意的员工,敢于打破原有的思考习惯,以特殊的角度看世界,这一点,30岁以上的人是比较难做到的。在同一个领域做的时间越长,思维就越容易僵化,越不敢轻易的打破传统。再者,外人看IT业都是高薪行业,如果过了30岁事业还没有起色,基本他也做不下去了。另外,程序员是个很累的活,不但是重脑力劳动,而且是重体力劳动,过了30岁以后身体状况下滑,身体也很难承受的住。
最后,程序员创业是最容易的,技术基本不需要成本,弄台服务器,或者更简单的租个空间,自己花一两个月的人力成本,一个网站就起来了,在这个全民创业的大环境下,能忍受诱惑的人,不多。
那么,如果到了30岁,创业也没有成功,自己的公司又没有上市或者被收购,自己还是一个普普通通的打工者,那怎么办呢?其实放远了看,大部分人在四五十岁或者一直到退休,也就是拿着两三千块钱的工资,一直这样默默无闻的做下去,而在互联网这个躁动的行业,人们似乎已经很难接受这种现状了。因此,你需要提前给自己找好出路。
首先,如果你真的对编程充满激情,你愿意在某一个方向深钻下去,成为该领域数一数二的专家,那是最好不过了。中国现在真正缺少的就是这一类人,但是,前提是你可以解决自己的温饱问题,不用因为老板的干涉而每次将自己的活在不完美的状态下丢在一旁。
其次,因为项目经验的积累,你的能力足以领导多人的团队,进行沟通协调和管理,那么,你可以做一个部门经理或者项目经理,你只需要解决10%最核心的问题,其它的大可以交给团队里精力充沛的年轻人去做。
再次,如果你觉得自己在编程方面并没有太高的天分,再做下去也很难达到下一个高度,那么你可以转行去做实施或者销售。有开发背景的人做软件实施的时候可以更清晰的看到问题所在,不用跟后面的开发团队扯皮,小的问题还可以帮用户当场解决,博得用户的好感。做销售也一样,可以迅速的理解用户的需求背后隐藏的东西,并在开发难度和用户的预算之间找到平衡点,省的签下了单子回去再被开发人员骂,功能开发不出来回来再被客户骂。
如果你觉得由于某些原因(比如太内向),自己连实施和销售也做不了,那或许你还可以去某个中小学谋个一官半职,毕竟,你跟那些学校的老师比起来,有真材实料的多了。
如果你连这个也做不了……我也不知道你还能做什么了,也许,网游就是你的精神栖息地。