很多人以为技术人员可以做一直做下去,但是最近我发现这个观点不完全正确,因为能一直做下去的技术人员非常稀少,因为不同的年龄段,公司对技术人员的要求会不一样,如最近传言华为计划裁掉40岁以上的程序员,首先我认为肯定不会裁掉所有40岁以上的技术人员,如CTO或高级技术专家不会被开,因为他们达到了40岁技术人员应该达到的能力,而那些没有达到该年龄段能力的技术人员会被淘汰。
为什么现在各大公司招技术人员这么难还会有公司裁员呢?
因为公司需要换血和降低成本。换血意味着希望进入一些新鲜或者优质血液,让团队能正向发展,新鲜的血液积极性高,潜力好,如刚毕业的学生或工作几年的技术人员。优质的血液,意味着技术能力强,能影响团队技术方向,如某个领域的技术专家,能影响团队事倍功半。
如果你是公司老板,一个工作三年的技术人员和一个工作10年的技术人员能力差不多,而三年的更有技术激情,十年的还要照顾家庭,工资还比三年的多几倍,你会选择留下哪一个呢?是不是会开掉10年的技术人员,再招聘几个三年的呢?这就是现实的残酷。那个十几年工作经验的技术人员离职后开始找工作,但是找到合适的工作会非常困难,首先你的工资基数很大,你期望下家公司能给你更高的薪水,新公司也会考虑招聘你的投入产出比。
所以技术人员需要居安思危,不要被眼前的高薪冲昏了头脑,小富则安是短暂的,逆水行舟才是技术人员走的路,所以我认为技术人员需要以五年为一个技术周期,每个技术周期上都要上升一个技术层级,否则随时可能会被淘汰掉,各层级建议和要求如下:
应届生 - 扎实的技术基础,有技术热情。应届生技术人员我建议进入BAT这样的大型互联网公司,虽然辛苦点,但是工作几年后,技术能力和视野会大于很多工作10年的技术人员。
注意点:系统化的学习技术,研究技术而不是使用技术。
工作5年 - 在技术上做到知其然知其所以然,对用过的技术框架都能知道技术原理和优缺点,多实战少纸上谈兵,学会总结。具备独立分析和解决技术问题的能力。
注意点:很多候选人用过N年JDK,就认为自己精通JAVA,但是面试的时候发现JDK的源码都没看过。我面试阿里的时候,也不明白为啥要问JDK源码或垃圾回收机制,但是当我去解决复杂的线上问题时,我才发现对源码或原理不熟,很难查到问题所在。如果你在小公司或非互联网公司没有这样的技术场景,可以尝试提高下业务架构能力或者利用业余时间实战并钻研技术。
工作十年 - 有大型系统架构经验和技术亮点。架构经验需要在大公司有实战经验。技术亮点就是在某个技术上达到专家级别,当同事遇到某个技术问题会来咨询你,比如遇到Redis问题解决不了时会来找你。短短几句话要求非常高,招聘的时候很多技术人员都卡在这个阶段,需要有很好的技术积累和背景。
注意点:很多技术人员开始转向管理,结果技术和管理都是半桶水,技术首先要达到一定的深度再考虑管理方向。小公司技术总监,技术停留在用,很多技术原理都不知道,如何做技术规划呢?
工作十五年 - 要有很强的业务和技术规划能力,在公司内有影响力,可以影响团队和公司的技术发展方向。也可以尝试换下工作,去成长性好的公司做技术总监,扩展下技术视野。
十五年以上 - 这个我说不好,欢迎通过评论提建议。
如何进入BAT
达到以上要求就可以进入BAT,但是我分析了下最简单进入BAT的方式是工作5年以内的技术人员,因为应届生要求TOP院校的TOP学生,工作八年以上的要求又非常高。