尽管做技术已经有不少年头了,不管是犹犹豫豫还是坚定不移,我们走到了现在,依然走在技术这条路上。
不管我们处于何种职位,拿着哪种薪水,其实,我们会是不是的问问自己“做技术到底可以做到那种地步”,说的直白一点,其实我们很多人对技术这条路依然充满很多彷徨,不管我们的现状是多么的满意与辉煌。
最近一直招聘技术人员,见了很多求职的朋友,也和他们探讨了很多与职业发展,技术能力方面的问题,下面说下我个人的看法,和大家分享一下。
有很多的人总是一直在问“我搞.NET很多年了,但是感觉现在越走越窄了”。
[加入我们:http://www.lagou.com/jobs/31029.html?source=search]
其实“越走越窄“主要可以从三个方面开看:
市场动向:从最近的招聘和很多的朋友的举动来看,特别是移动互联网的爆发和大数据技术,导致了很多的新人纷纷转型,而且很多做了多年技术的朋友,也跟着这股“趋势”在走,因为会认为“物以稀为贵”,会拿到不错的待遇。
我发现在我们大家 都有一种“跟风”的习惯,包括我自己了。说到什么火爆,然后就大家一股脑的奔过去:很早以前,做网站很火爆,于是很多人都开始学习HTML,随便说自己懂 HTML,都可以拿到不错的薪水;团购火爆,于是很多的创业者纷纷搞起团购,一时,“百团大战“;电商火爆,于是各地开始出现各种电商平台…..
一旦一片“蓝海”被搞成“红海”之后,市场就开始饱和,资源开始重新分配,其实最后依然是”82理论“:20%的人占据着80%的资源,依然会优胜劣汰,最后还是那句话”出来混的,早晚要还“。
其实又说回来,最后选择,市场是一个很大的因素,另外,就是兴趣,真的是兴趣。或许,有朋友认为这点很扯,但是越到后面,这一点尤其重要,特别是当你的待遇,职位到了某个瓶颈之后,最后阻碍自己发展的就是自己。
思维定势:说 到这一点,自己也算是深有感触。自己在做.NET的时候,把自己的选择绑死在了Windows和微软技术上面,例如,为了搞负载均衡,不断的尝试 Windows自带的NLB,还是用IIS的ARR(一直到IIS7才出来),在这些过程中出现很多问题,而且很多的情况,都无法满足,也想过买F5之类 的产品。虽然自己在Linux环境下有很多成熟的软件和产品,如HAProxy,LVS,但是一直对Linux有偏见,因为喜爱Windows。
后面进入互联网公司之后,开始发现很多的情况选需要“混搭“,例如搜素采用Solr,缓存采用Redis,Memcached,日志采用Kafaka,队列采用RabbitMq。
后来要做用户分析和推荐方面,使用了Hadoop+Mahout等。
以前自己很天真:因为很多的开源组件都是C 或者Java的,自己还尝试写一个.NET版本的,最后发现能力有限,还是“拿来主义+代码定制“。
[加入我们:http://www.lagou.com/jobs/31029.html?source=search]
所以,要以开放的心态去做技术,这一点算是自己的很大的体会。
画地为牢:很多人总是会拿出所谓的技术人员“30“”35“岁等理论。也有很多人提到”转型“的问题,也有很多人提出“摆脱技术”的想法。
其实我们都很担心自己的技术生涯的长短,一般而言,就我自己的经历发现,不同的阶段培养自己不同的能力。
对于我们做技术的,不是说就每天呆呆的做技术,其实技术本身就是一个技能,通过做技术,锻炼出我们做事的方式和解决问题的能力。
举个例子,我们都经学生时代,我们永远记得我们学了很多的语文,而且老师每次讲课就搞什么场景分析,我记得在小学课本中有一个篇文章“小桔灯”,冰心老人鞋的,最后有这么一句“我们都会好的”。 这句话在我们看了,就是一句安慰人的话,但是老师在讲解的时候,就衍生了很多的含义:一方面告诉小女孩,她妈妈的病会好的,同时暗指了革命会胜利….
我们先不管老师的分析是多么的牵强,多么的让我们无语。后来,我们每次考试,总是有新一篇文章,让我们分析里面的很多“含义“。
其实,我们知道,学生时代的几十本语文,上千篇文章肯定不会全部出现在考试的“阅读理解“中,我们依然要学习千年不变的语文课本,其实就是在学习一种”分析的思维“,一种”举一反三“的能力。
唠叨了这么多,再说回来,我们学习技术,一方面是因为这些技术确确实实可以做出东西,这一点很不错,比我们学习的语文课本实用;另外一方面,也是在锻炼我们的思维,如何利用技术去解决问题,有个可以生搬硬套,但是很多需要变通。
例如,我之前在为很多公司做性能优化的时候,除了掌握必要的技术知识之外,另外就是思路:如何根据现状推断出问题所在,然后确定这个问题是否真实存在,然后收集数据分析,然后给出办法。
其实我们发现:技术能力是很重要,解决问题的思路同样重要。所以,以此类推,我们用这样的思维去破案,也可以:根据现场,找出线索,然后收集证据,然后抓嫌疑犯….
同样,医生看病也是这个思路…..
所以,很多的技术人员看中的是技术本身,没有跳出这个思维,最后看到的面就比较窄。
有朋友告诉我,他们在面试的时候分不同的层面,初级的人员,面试基本的编程知识;中级的就面试一些比较深的,偏架构,或者底层的知识;高级的,就看看他解决问题的思路,还有人品。
[加入我们:http://www.lagou.com/jobs/31029.html?source=search]
哟,一不小心,有唠叨了这么多,剩下的后续在讲吧。再次感谢大家!