【来信】
老师,你好。看了你的博客和采访,不由主自地给你发私信,感觉你能解答我的问题。
学生90后,2012年毕业于某不知名院校,两年工作经验(第一年C#,第二年java,直到现在),一直想转型C++开发,近来思考了很多,非常烦燥。转型原因是厌倦了ERP开发、增删查改、常用框架之类的东西,希望能向研发或低层一点的方向发展,希望多一点接触算法和设计模式的知识。
问题一:C++的开发主要有哪些领域?游戏开发?win32、MFC?服务器开发?(在网上稍微看了一些招聘,好像大多都是游戏开发的)或者你能给我推荐一个合适入门的方向吗?
问题二:如果要做C++开发,我应该学会哪些知识或技术?(我学过C++,学过一点点MFC。)
期待您的回复,谢谢~
【回复】
有困惑,主动找途径交流,这是一个很不错的意识。看了你的来信,我特意迟回复了一点时间,让自己多想了想,结果是,我要遗憾地告诉你,我还真不能直接解答你的问题。
不过,我也谈谈我的看法。
首先,在工作之后,为了长远发展考虑,技术在一段时间之内尽量不要大动。立足于自己进行设计,做某一项技术的专家,而不是围绕着工作变来变去。这些技术,都有各自的市场,如果总是基于一两年的经验去做,各方面都不能得到理想的结果。当然,我想你应该是想清楚了长期使用C++而转变的。选好了,就深入进去,不要浅尝之后再变了。
其次,C++应用领域几乎无处不在,服务器,嵌入式,物联网,移动互联网,信息安全,游戏,都可以。因为你已经是参加了工作的人,在具备一般的C++基础之后,应用领域、开发平台,需要根据工作需要定,需要重温或要补上的基础,也根据工作需要而设计。而不是先自己定下方向学习,再据此找工作。工作机会,和你所处的地域、你在收入等方面的期望,以及你的个人兴趣都有关系,从这个角度,我不能给你任何的建议。
如果决定了转C++,我的建议是:(1)马上可以做的事情,是多看一些招聘需求,从中找到自己感兴趣的领域(这个兴趣需要关心,有两年工作经验,也有些资格关注兴趣了);(2)确定领域,设计学习的路线,着手学习(学习的内容可以参考一些就业培训的大纲);(3)具备一些条件后,找到这个方向上的就业机会,在工作中继续学习成为行家。
我的专栏中“职场新人”部分,有几篇文章也该对你有所帮助,你可以自己选读一些。工作后的学习,其关键是“围绕工作需求”,而不是和在学校一样,更关注为了以后打基础、做准备。这点区别,要体现到你的学习中。与于,先定下明确的需求,是一个很重要的事。