首页 > 代码库 > 我们都过时了,怎样获得新生
我们都过时了,怎样获得新生
今天,一个同事说起现在的实习生基础太差,while,if,return和break这些混着用就分不清return和break怎么用了,但是他们还有自己的优点,很明确自己的发展方向是什么,而我们才毕业的时候,软件是怎么回事都搞不懂。
真实情况是什么呢,不是因为现在的毕业生基础太差了,是我们已经过时了。
回想一下我们当时2012年毕业找工作的时候。那时最很流行的几个招聘问题是结构体和共同体的区别,冒泡排序,迭代,win32和MFC。大部分问题我确实不知道答案,不过也没关系,在以后的实际工作中,根本用不到这些了,而我们更倾向于三层架构的设计,程序的模块化这些。现在这些毕业生是不是跟我们当时一样,具体语句的控制对他们来说已经不重要了,三层架构怎么设计也不重要了,而功能的实现的实现是他们的首要选择,毕竟我们现在做软件的时候,程序已经用代码生成工具产生,已经不再考虑每一条语句的执行效率怎样,模块之间怎么设计执行效率最高。使用代码生成工具产生的代码60%都是多余的,但谁还会在乎这些呢,因为那时候电脑的内存是2G就不错了,而现在工作用的电脑内存一般是4G,服务器则高达64G。
科技的进步很快,我们需要掌握的知识点也在改变。上学的时候,学长们跟我们说汇编是必须掌握的,这是编程语言的基础,C语言是必须掌握的,用C语言编写的代码执行效率最高,如果做网站,还要学会购买服务器。而现在呢?根本没学过汇编,java和C#编写出的大型软件比C语言执行效率要高。服务器可以直接购买云服务器,还可以随时扩展,公司买了台机架式服务器静静的躺在角落里,开机的按钮我都不知道是在什么位置。学长们对我们的要求没有用途,我们对现在毕业生的要求还有用吗?
我总是要求自己的组员要熟练掌握socket、多线程、序列化、xml文件解析,从来没有考虑过他们是否真的需要这些。他们是不是正在用鄙视的眼光看这我,就像当年我用鄙视的眼光看着前辈一样。Asp.net就能做网站和webService,为什么老师还在用wcf做webService。用wpf做的窗体更漂亮,绘图机制也更稳定,为什么还让我用winform的GDI+写自定义控件。听说北上广已经开始用wpf做桌面程序,还能做手机程序,而我们公司还在用我inform做桌面程序,不过庆幸的是我们没像有的公司,还在用C++做窗体。我当年私下抱怨老员工还在用老技术开发,影响我们的发展。现在我的组员是不是也在抱怨我还在用老技术开发,明明有新的技术、新的开发思想了,我变成了那个阻碍发展的人。
回到最初的问题,现在的实习生基础太差,但很明白自己的发展方向。其实可以理解为代码不是他们需要重视的,他们明白自己的发展方向是他们的基础。这句话是有问题的,他们之所以明白他们的发展方向,是因为他们掌握了的基础比我们高一个层次,技术要比我们强。我们当时追求的境界,是他们现在已经掌握的,而他们所追求的境界,是我们无法想象的。很悲观的理论,我们像原始人一样被抛弃。不到十年编程技术和思想就会彻底改变。如果努力学习,不耻下问,就可以掌握最新的编程技术,而编程思想呢,已经深深固化在我们的灵魂深处,基本无法改变。这大概就是为什么程序员超过30岁,要么转领导岗位,要么找不到工作的原因吧。
我们要等着被抛弃吗?毕竟领导岗位的数量是有限的,30岁时我们正值力壮的时候,况且我们积攒了那么多经验,就这样转行了,不但是对我们自己的浪费,同样是对这个行业资源的浪费。
多数程序员到了这个年龄,都会有自己开公司的想法,因发现这是个暴利行业。每年有很多软件公司成立,也有很多软件公司消失。一个小公司,干上两三年,就会因为各种原因结束,是因为我们大多数人真没有经营公司的能力。不过从现阶段的经济格局上看开公司确实是个不错的选择,用三年时间每人赚1百万,超过辛辛苦苦干十年了。开公司的目的是钱,还真希望你的公司是百年老字号啊?
开公司需要最基本的成员,如果你没有志同道合的兄弟,只是想老老实实上班,用自己的技术转更多的钱,那么就只能不断改变自己,增加自己的价值了。
第一,要有自己拿的出手的东西。不要只埋头写代码了,每年都要审视下现在流行的技术是什么,并尝试使用它,虽然多数技术都是过眼云烟,但它总存在出现的价值,等你看的多了,就会有自己的创意,一不小心自己就写了一个NB的框架。当然,即便写出了一个NB的框架,老板也不会给你发奖金的,这只是用于向大家炫耀的,告诉老板不要考虑开除我,我能让你赚钱更快了。
第二,更应该做的事怎样带新人,新人忙碌起来了,你就轻松了。要给新人足够的发展空间,让他们设计程序的架构,当然,新手设计架构师漏洞百出,没法使用的,你做的就是拼接自己的经验,指出漏洞,预测可能发生的情况,但不要试图让他更改架构的基本结构,因为他们的设计思想往往是最新的,旧包袱最少的,设计思想要跟着他们走。这样新手觉得自己受到了重视,而你能展现出自己比他有更高的经验,他自然会尊敬你。
第三,就是考虑工资的事情了。不管你再怎么有用,只要你不主动开口,老板不会大幅度给你涨工资的,反正1000元你也是工作,为何要给你2000元呢。但是一开口提涨工资的事情,和老板的关系就变得僵硬了,说不定他一生气,把你开了。那么人脉关系要广,作为一个程序员,注定人脉不广。但是程序员之间的关系很微妙的,即便两个人没任何关系,只要认可对方是个大牛就可以了。即便是两人的思想是对立的,如果他那边正好有个职位,和他的权限也不冲突,他会希望你能过去一块工作的。如果你有10个这样的关系在不同的公司,那么久可以用强硬的态度跟自己打老板提涨工资的事情了。
第四,如果在你进行业务的过程中,有其他老板给你可观的工资跟着他干,可以考虑一下。如果对方是个小公司的老板,类似于商业皮条客,最好不要理他。如果是让你进如一个100人以上的非软件公司,就不要犹豫了,挤破了脑袋也要进去。软件的目的就是为其他行业服务,每个像样的公司都要有自己的软件工程师,平时维护一些简单的系统,遇到需要做大的系统,软件工程师的任务就是告诉公司去谁哪里买系统。在非软件公司里做IT,没有那么多事情烦了,有更多的心情去考虑下自己的技术。如果没有人挖你,也尽量留意这些公司。
以上纯属个人见解。即便你有同感,也不要在老板面前说这样的事情,在他面前还是要装个只知干活,不问回报的老牛。
我们都过时了,怎样获得新生