【终结篇】不要再问我程序员该如何提高了……
已经工作了的程序员该如何提高自己?我看到过很多说法,包括但不限于:
- 多读书,然后各种书单,技术的、管理的,情商的、智商的,文学的、艺术的……
- 锻炼健身,身体是革命的本钱嘛!
- 写博客,这个@dudu应该最喜欢了
- 多交朋友,积攒人脉
- 学学做贴膜卖烤串啥的
- ……
错了么?也不能说错。但我总觉得啊,怎么说呢?一股或浓郁或清淡的“技术宅”味道,算了,不知道怎么形容,直接上我的观点吧:
向你的老大学习,或者说,向人力资源市场学习。
啥意思呢?你就仔细琢磨:你和你的老大之间的差距。然后想方设法的缩小这种差距,就OK了。等你们之间没有差距的时候,你是不是就有资格坐他的位置了?你是不是就成长了?这里的老大,可以是老员工、team leader、project manager,或者大boss,总之,身边比你强的人就行。
你干嘛要到QQ群里去问,到论坛里问,到一些你其实搞不清楚情况的地方瞎问?我们就不说有些人自以为是喜欢海吹胡说,就算人家是个老实人,但他根本不了解你的情况你的环境,他的回答是不是适合你,鬼大爷才知道!
比如人家是海龟博士在一线城市搞芯片,你野生码农三线城市搬砖,他告诉你要有所发展,至少得985/211研究生文凭,熟悉CPU底层架构和电路知识……人家没骗你,在他那个位置,研究生学历确实是打底的,他钻研的是芯片设计当然要知道什么CPU架构了,但你只是个码农,你做的是应用软件开发,他的这些话你能听么?
我特么估计有些同学还真要听进去!开始为自己学历自卑,开始为自己码农的工作和身份自卑的同学请举手。
好吧,都坐下。例子举得不恰当,我们得换过来:
比如人家是年薪百万独角兽公司的CTO,你是一破研究所搞芯片的,他告诉你要有所发展,还是得“站在风口上”,要有快速学习的能力,处理复杂业务的能力,学学管理带带队伍……人家没骗你,做互联网开发做应用开发,业务是第一位的,但你一做芯片开发的,这些话能听么?
例子还是不恰当,不用举手,我知道有好多人都真的丢了本职,学Java学PHP奔更有“钱”途的互联网去了。
例子举得不好,但写都写了,舍不得删。围城啊!
我正面说吧,假设你是一个搬砖的野生码农,其实呢,你最脚踏实地最有可能成功的路径是:
- 自己能熟练的搬砖
- 能带着别人一起搬砖
- 能自己不搬砖,指挥别人搬砖
- 有一帮用惯了的人,能自己接点搬砖的业务……
搬砖不丢人!周围看看,有几个人不是在搬砖?无非是搬这样砖搬那样砖而已。
搬砖不容易!周围看看,有几个人把砖搬好了?屎一样的垃圾代码,到处都是。
那怎么样才把搬砖这个有前途的工作干好呢?或者更直接一点,怎么一步一步的往上爬呢?最简单的,抬头,看看你旁边几位已经爬上去了的老大啊。
我知道很多人不服气,“我那个老大,猪一样的……”,然后可以吧啦吧啦说一整天他老大的毛病。我真不知道怎么说,只能推荐《折腾》这几章。不愿意看的,我简单点说,是人都有毛病。但你要能看到他的闪光点。你以为你在外面认识的那些“大佬”没毛病,一样一样的(比如是飞哥我了,还不是一样被自己员工嫌弃)。
做这个思想工作很难,所以我建议退而求其次:向人力资源市场学习。
怎么整呢?经常去看看招聘启事,甚至时不时地悄悄参加几次面试,看看你这个方向,市场上需要的是什么人。注意我加粗的部分,确定的方向非常重要。
我举个例子吧,ASP.NET方向,从0工作经验到CTO,下面是我在51上面随便弄的几份招聘要求:
无工作经验要求
要求很低,就是一个“熟悉”。大概就是Visual Studio要会用,能用ASP.NET连上数据库写个小demo就OK了。所以其实没有工作经验,找份工作也不是很难的。算了,略过了,我现在是站着说话不腰疼了……哈哈
1-3年工作经验要求
好了,我们看到了一些更多的东西,比如“大型”“高并发”“优化”,不过这些是优先项,会最好,不会也不强求。但对“B/S结构”“MVC框架”这类更基础一点的东西有要求了,C#语言要“精通”,并且要“深入理解”.NET。另外值得注意的一点就是:“技术文档”。所有的开发人员都讨厌写文档,但你要知道,能让你写文档,已经是对你能力的一种肯定了。技术没到一定水平,你写文档的资格都没有!
所以,这就是看“招聘启事”的作用。不然你还稀里糊涂的,吐槽项目经理让你写文档……
5年以上工作经验
重复的我们不说,需要注意的是:
- “大数据优化处理能力”不再是“优先”,而是要求“具备”了。
- 我们看到了“软件项目的管理流程”“带领”“团队”,这是什么?管理技能啊!
- 最后,有一点大家千万不要忽略:“知名产品系统架构工作经验”。系统架构,不用说了,我强调“知名”二字。啥意思?从这时候开始,人家就不仅仅看你本身的能力,还要看你一些“外在的”东西。本来,你产品架构得好不好,和这个产品知不知名,是没什么关系的。知名产品的架构就一定好吗?不一定的。但是,注意这个但是,用人单位不这么想。因为到了这个阶段,用人单位对你的能力判断,就有些力不从心了。就像我们消费者也没办法判断挖掘机技术那家强,怎么办?看包装呗,看广告呗!国强代言的,应该不会太差吧……就是这种心理。越到后面,越是高级人才,越是这样。
5年以上工作经验
首先说一下,这时候,你还用“ASP.NET+5年工作经验”做关键字,搜出来的职位就不多,也不具有挑战性了。所以我换成了CTO,从任职要求也可以看出来,没有具体的语言要求了。
然后,特别注意,5条要求,有3条出现了“团队”。说明什么?说明这个时候,管理能力就非常非常重要了。除了管理能力,其他要求其实也很“虚”。
好了,我随便抓的几份招聘要求,就举个例子,可能不全面,大家最好还是自己去看看,自己去分析分析。这样做,我觉得比听一些笼统的空洞的五花八门的说法强。比如说,就没有被某些人吹上了天的“数据结构和算法”——这并不是说“数据结构和算法”不重要,可能你的领域(比如图像研究啥的,我瞎说的),这些东西确实重要,但并不是任何领域他们都重要,更不是不精通“数据结构和算法”就没办法混出头。我是不是又挑起来“口水战”?我猜有些同学会说“优化”“大数据”就是数据结构和算法干的,呵呵……
就这样吧,就像我题目说的,【终结篇】,以后这个问题我就再也不说了。有些人,一点就通;有些人,怎么说都没用。自己的路,自己走,祝大家一路走好!
点了个推荐会走得更好哟!
+++++++++++++++++++
每天一篇博客 第2周第2天,完成,(^-^)V