什么是牛逼的技术员?会二进制,会破解,会设计模式,会数据构造,会N种语言,能前后台代码都能写?第N次见技术群里说谁谁谁技术强,谁谁谁菜,然后又是谁谁谁质疑谁的X年经验。我通常都怕出声,卷中其中人身伤害不可避免。今天闲写篇文章感慨一下。
写码多的人都清楚的一件事,写码真不是件什么牛X的事。一个应界生,只要有人带,告诉他怎么怎么写性能会高,他刚开始可能会需要多些时间接受,可是只要盯好,项目肯定不会有问题。一个有一到两年经验的码工,你告诉他怎么写提高性能,他就是熟比应界生快些。然后说到5年+的程序员,他们写的代码的质量其实是跟其他人是一样,因为代码规范是他们定的。不仅如此,除了底层框架外,其它系统的开发进度用时也基本差不多。如果老手水平很牛,那他带的人水平会提升得更快,所谓牛人并不牛在比别人搬的砖多。
技术的东西虽然是多而广,但是每项都不难,很喜欢某人说的一句话“软件难用的话微软早就倒闭了”。代码也一样,代码难写的话c,java早死了。新手也许会佩服高人会OOP,会设计模式,会数据结构,但是他们用心学了这些东西,会发现,这些东西就那么回事。这些不难的点,学会了,也没什么值得佩服的。
很多公司面试的时候爱问这些设计问题,新手啃过书的就能应答,但是有一点他们没办法应答的是实战,比如问”这个模式你在你经过的哪些项目用上,有什么好处?”。很多新人以为会这会那就算是强,其实都是误区,正规用人公司只关心你有没有做过成功的上线项目,那才是给薪的关键。每个人编码风格都不一样,谁能说谁写的烂呢,但上线项目经验一眼就能认出实力。学术的东西不是什么捷径,没有足够码量经验学设计,跟没学过剩除法学积分一样。码量和项目都必须经过的。
当年我还没毕业的时候做接外包网站做,是一个人前后都搞,包括美术,因为小时有点美术功底,质量并不算低(空间还有当时的嫩作)。可初来广州时,我什么都不是,大型项目讲究的是团队分工。什么都做意为着在团队里哪个位置我都比别人差。如果一个人负责的模块过多,哪天他一辞职要找人顶回是很困难的。但如果每个负责的模块细化,他要离开,重新找个新人培训一些知识很快也能顶上,项目就稳定了。从公司角度想想,我花2W多请个很牛逼的民工,还不如请多几只小鸟+一有经验的教他们怎么想搬砖搬得快。
有人说会的语言多就牛,也是种误区。编程这种是种基础,来来去去不就是循环判断,不变的是设计模式思想。很多写as的都是从java转的,有一门语言编码经验转学其它基本没什么时间代价。去年我塔java后台时完全没用过java,我虽然笨,但工作这么多年,我有的是人可以问,不懂优化和性能我就问到懂,一周时间就熟得差不多了。认为自己php,net,java什么语言都会的是学生,说自己一个人前后都做的,大多是没做过大项目短浅之人。真有人一人做过成功大项目,他早就不做技术了,项目成功的人,有钱了都搞运营去。
这个行业谁都浮躁,整天看到技术群里哪哪哪发布多高多高的薪资,听到谁谁谁工资又比自己高了。这些大公司惯用的烂手段,到底有没有,在职的人都心里清楚。技术员并不像业务那样有很多暴富的机会,踏实是我们没办法的苦逼选择。
一个加班的苦逼,好久没写日记了,今天记下近期的心态,不知道以后的哪天翻开来看,会不会耻笑今天的幼稚呢。。