你想要的我给不了
程序员这个职业和其他职业最大的区别可能就是,“5年的经验并没给我带来多少安全感”。事实上我确实就做了5年的业务开发,其他诸如架构设计、系统非功能性需求关注不多。然后就出去找工作了。
面试官:我看你有5年经验,跟我聊聊你们的系统架构吧?
我:架构这块我涉及不多,是架构师在负责。
面试官:(预期就已经下来了),说说你都研究过哪些框架?
我:巴拉巴拉说一堆,具体源码可能没研究过?
面试官:性能调优有做过吗?
我:。。。。。
面试官:说下你的期望薪水?
我:已经虚了,20-25k? (可能判断标准是我有5年经验)
面试官:好,我们今年到这。
虽说,“面试造火箭,进去拧螺丝”,但公司在找一个5年经验的程序猿的期望可能真是要你具备“造火箭的能力”。
这意味着在这5年的某个时间点你要实现一次技术储备上的升级,或许应该是在第3年的时候,但是这期间没有人会告诉你,你应该注意积累一些架构和系统设计的经验。如果你错过了这些时间点,等你满5年了,可能就尴尬了。
怎么破解
如果你还想在技术这条路上继续走下去。面对如此尴尬境地。到底该如何破解?
世界上所有珍贵的东西,都不容易获取,同时竞争也更加激烈!
同样,你想要的高薪岗位亦是如此,在此提供建议,与诸君共勉:
1、阅读源码,但凡高级的岗位都会要求源码的能力,你需要花时间沉下心来仔细研究一个框架或是SDK的源码。达到什么程度能,至少自己要能复述出来原理吧。
2、构建基础的能力。什么是基础能力,数据结构和算法、操作系统、计算机网络、设计模式和面向对象思想。这些东西是贯穿于整个软件开发过程的东西,是核心。所谓万变不离其宗,这是内功。
3、多提问。提问是一种学习带入的好的方式,通过对现有系统提问,帮助你开始思考一些问题,比如数据设计、架构设计、代码效率等。
4、坚持技术输出。平时可能习惯了输入式的学习方式,其实你应该强迫自己输出一些自己理解的东西。这样一方面能帮你记忆,另一方面可以逐步构建起自己的知识体系。
5、有效沟通。我们的经验来自于项目,项目产出与团队。因此有效沟通帮助你能在总体上对项目形成完整认知,同时也能拓宽你的知识域。
写在最后
本文只是作者自身经历及感悟,大佬请自行忽略。有帮助到的猿猿们请帮我点个赞,加关注就更好了。不胜感激。共勉!!!