从踏足C++这块土地开始,就不停的有各种质疑声,C++是不是没落了,C++是不是不好找工作。 【文章福利】: 小编推荐自己的C语言交流群:967051845!整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,...
前言
又是校招季,又有很多感触。在找工作的过程,发现了C++工作的需求走向,为了更好找到C++工作,我们需要把握这种需求变化,做好准备。
不仅在技术上要做好准备,在个人的技术学习发展路线方面,也需要做相应的调整,才能适合市场的需要。
从踏足C++这块土地开始,就不停的有各种质疑声,C++是不是没落了,C++是不是不好找工作。
【文章福利】:小编推荐自己的C语言交流群:967051845!整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~
技术的硬伤总是找工作的致命因素
很清醒的分析当前的处境和局势,将找工作的所思所想以及C++工作的趋势大概总结一下,供在学以及准备找工作的朋友们参考。
不管是哪门技术,哪个行业,都有一个对口的说法
如果你学的,和工作需要的不匹配,就会导致很难找得到工作。并不是说某一种工作没有,而只是需求已经饱和,以至于需求很少,所以导致似乎你学的东西没有用。实际上并不是的,如果你足够幸运,刚好一个公司需要,不也是有所作为。
现在的趋势是哪样的,我们应该做哪些准备呢?
如果我们不关注技术和市场的发展方向,一味闭门自学,很可能到头来,找工作成为你的一个心病。所以在此建议,我们不管是不是要找工作,时常去招聘网站上看看最新的工作需求,可以让我们很清楚的了解,现在的市场正需要什么技术,也好指导我们接着往什么方向去学习和钻研。
**辛苦的努力总是要得到认可和应用的,否则将会产生很大的打击。**说句心里话,曾经的我,总是不喜欢随大流,感觉是有点自我感觉良好。即使是我牵头做的一件事情,大家都跟着做了,我就不喜欢做了。我也不知道这个叫做什么,或者这也是我自己的选择,选择了少数。也因此带来了很多问题。
市场总是跟着大多数人的意愿在走的,需求多的地方人就多,机会就多,商机也多。如果你想在市场中生存,选择少数必然是致命的。
而找工作,也是遵循这个道理。社会的大环境,会影响工作需求的走向,这也是由大环境决定的。如果你排斥这样的现象,选择少数,必然会导致自己的发展受阻。其实想想,人多的地方机会多,也就不会那么孤独。如果你身边学习C++的就你一个,是不是感觉特别的孤独呢?
关注招聘的技术要求,也就可以看到市场对于技术的需要程度。
各个公司都要求的,我们还是需要学会。毕竟我们是去找工作,必须要满足工作的需要。不过你不用担心,C++的市场还是有很大的空间的。但这个并不意味着,你做什么行业,机会都很多。这就是市场选择的结果。
现在C++整体上的工作需求,供大家找工作时参考
其实C++技术本身,应用是很广的。
现在C++大部分的需求在服务器端,也就是,Linux系统的服务器端编程。对于客户端,需求并不是很大。而客户端又主要是Windows平台上的。因为Windows平台的工作都不是现在的主流了,因此客户端需求也就大大减少。
另一方面,C++在游戏领域应用还是很火的。服务器端编程和游戏编程的需求非常大。当然其他方面的有,但是不是很多。当然,在Windows方面,应用开发则偏向于UI开发,主要的有duilib方面的界面编程。当然,在嵌入式单片机方面,C++的需求也是挺多的。那么从事C++开发,主要是这几个方向,你可以参考一下。
想在C++方向发展好,需要做好哪些准备呢?
如果你想做服务器端的开发:
那么就要熟悉Linux平台的编程,C/C++本身要熟悉。服务器端编程通常需要的水平都比较高,你需要对操作系统编程有很深的认识,要对内存管理、多线程编程等等很熟悉。作为服务器端,都需要网络支撑。那么需要熟悉掌握网络编程SOCKET套接字编程、TCP/IP协议和数据库开发。那么这些都是服务器端要重点掌握的基础技术。
如果你想在Windows界面上发展:
对于Windows的消息机制、自绘技术等有深入的了解,最好是要熟悉DirectUI技术,熟悉duilib。
如果你要从事游戏开发:
自然游戏原理需要掌握,游戏编程需要很熟悉,还要熟悉一些游戏引擎,对于图形图像处理也要很熟悉。游戏开发也会涉及到服务器端的开发,就看你主要从事游戏客户端还是游戏服务器端了。
这些都是几个基本的准备方向。对于需求程度来说,服务器端需求最大,游戏次之,客户端相对较少。
客户端的需求被移动化给抢占,不仅是工作需求的变化,就连PC的行业都变得冷淡,手机的热度越来越高,Web技术也是很火热,现在苹果的热度也是越来越高。这都说明了现在PC端的开发受到了很大的影响,也导致C++的应用范围缩小。
同时,PC端发展了这么多年,Windows发展了这么多年,在Windows上开发的难度相对于linux来说要低一些,这是拿普通的应用开发来说的。毕竟Linux在普通PC机里没有Windows流行。
这些都是让C++的工作分布变化的因素。我希望通过这些分析,能够给你带去一点点的指引,也就很不错了。C++学习本身就很艰辛,如果在工作上还四处碰壁,那么会产生很大的打击。尽我一人微薄之力,能够带去一些帮助,我也是很欣慰了。
如果有说的不到位或者不准确的地方,或者说你还有什么问题,欢迎和我讨论,可以在本文下面留言。
文章福利
小编C工作也有五年了,建立了自己的**C/C++学习交流群967051845!**整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~
学习路线图:
还是很有必要学的,很多嵌入式终端和通信核心网设备都需要用c和c++开发,包括大名鼎鼎的Android,也有很多代码是c++开发的,现在的招聘还是...学习不要局限于编程语言,等你真正找工作的时候,工作个五年以后再回头看。
还是很有必要学的,很多嵌入式终端和通信核心网设备都需要用c和c++开发,包括大名鼎鼎的Android,也有很多代码是c++开发的,现在的招聘还是有很多c/c++需求的!
现在很热的AI,学习训练部分用的是python,这是这是因为有tensor flow, pytortch和caffe等开源框架,在模型学习训练好后,需要把模型的权重存到一个文件中,在应用的时候只需要把权重读进来,不用每次都训练,这时候很多应用为了执行效率还用c/c++。
学习不要局限于编程语言,等你真正找工作的时候,工作个五年以后再回头看。会发现可能你在工作中用过Java、Go、Python、Php等等语言。C++找工作时岗位需求还是挺多的,我本人找工作时前后也拿了十多家公司的offer。在我看来,C++很有必要学!在一些很核心的系统底层,高性能计算,系统软件,游戏等都还是有大量的C++需求的。
c语言发展出了c++、java、C#等语言,甚至所有的还在流行的或热门的高效严谨的脚本语言,都会有c的影子,也就会看到类似于java与c#许多雷同的影子!
那么即便项目没有直接使用c++,而开发人员有c++的基础,便会在对正在运用于项目的语言有更深刻,更本质的理解!
开发项目,往往使用平台sdk,但平台sdk又是什么开发的?其实越往底层推演,你就会越深刻理解项目中所使用的sdk方法、类、接口等等。
年后开始准备找工作,到目前为止,基本上也快要落实下来了。记录一下这一个月左右的情况吧。 自己是17年毕业的,普通的二本,计算机专业。毕业后加入现在的公司,是一个独资的日企。这一年多的时间里,学习日语和...
年后开始准备找工作,到目前为止,基本上也快要落实下来了。记录一下这一个月左右的情况吧。
自己是17年毕业的,普通的二本,计算机专业。毕业后加入现在的公司,是一个独资的日企。这一年多的时间里,学习日语和与日本客户打交道。公司规模从一开始的300多人到现在的600多人,两年时间基本翻倍了。发展很是迅速,但是技术上没有什么突破,用的东西都是一些相对较简单的,而且有非常多的局限性,基本都是要按日本客户的要求来的。工资也不是很高,虽然环境和工作氛围是很好的,但是毕竟不是我所喜欢的。
2/11号过来,通过朋友的内推,参加深圳一家自研发公司的面试,一面电话面,大概内容如下:
C语言基础,如指针,数组,内存泄漏,内存溢出等
C++基础,如类,结构体与类的区别,static,const,STL等等
数据结构:快排,冒泡,折半等实现思路和复杂度等等,二叉树,平衡树等思想
LINUX:fork的使用,僵尸进程,孤儿进程,多进程通信,多线程通信,互斥锁,自旋锁,GCC常用命令,GDB常用命令
网络:TCP/IP协议,TCP