如何做好C++程序员-进阶篇
上一篇讲了c++程序员如何入行,这一篇我们讲讲入行后该如何进阶
程序员进阶一般是入行1-3年,也就是黄金3年期
这个阶段最难了
甚至比刚入行更难、更迷茫。你在工作时可能会信息闭塞
对于自己的提升,不知道该学什么?你也不知道该往哪个方向学
到底是学公司的项目?
还是学书上的理论?
还是别人的视频,还是github的开源项目
很多小伙伴知道我在16年校招进的华为海思的,做的嵌入式,说实话,我是真的不喜欢嵌入式,

后面华为的一个本校的师兄,02级的,叫我去创业,在深圳,
然后租了一个小区房,在里面做摄像头开发,那时候我们是深圳第一批做安防行业的

那时候安防行业是真的火,雄迈每个月的出货级别是kk级
说实话,那时候我是什么都要做,当时也没有什么技术视野,做客户端,我居然用MFC做,

做服务端,按道理说,创业做服务器开发就应该用java,而不是用C++
这是老秦2017年用IOCP做的安防的后台服务器

然后也写了很多嵌入式代码
最终公司搞了一年多,也烧了很多钱,我们老板本来是开保时捷的,后面换成了宝马X1,最后我离职的时候,换成了丰田卡罗拉,所以真的不要轻易创业,基本上是九死一生,但是这个阶段,我的技术栈真的变得很全面,C++服务端、客户端、嵌入式 单片机,基本上我都做出了产品级别的代码
这些经验再加上我985本硕连读的学历,让我在回长沙后面试长沙很多大公司都是一路乱杀
也拿到了很多offer,像拓维信息、三一重工、中联重科、中国中车这些offer。然后我在 2018年9月加入深信服,为什么选择深信服呢?

在没进入深信服之前,长沙其实真的没有多少公司
从华为出来,再进长沙华为也不可能了
三一重工号称是996
兴盛优选主要是java技术栈
中联重科给不起工资
拓维信息太远了
中国中车在株洲
腾讯社招面试周期太长了
最终选择了深信服,就是因为深信服真的很nice。大而美的公司,当时拿到深信服的 offer 以后,我还和 HR 要求考虑一个星期。其实我当时蛮忐忑的,因为网上到处都是深信服加班严重、剥削员工的负面新闻。
当然进去之后,直到今天,一直觉得,其实深信服是个非常非常 nice 的公司,上层大多数管理者以及同事都能做到坦荡荡、对事不对人,而且地位平等,很扁平化的管理,而且执行力特别强
说实话,前面这3年,就我个人而言,还是一边学习,一边落地过很多大型项目,使得自己的技术栈有了一个质的提升
总结一下,对于C++的技术进阶,
在这黄金3年期,你要做的事情就是确定一个方向、提高你解决问题的能力、拓宽你的技术面
具体的话,就是:
具备系统级应用开发经验,能写出优雅的代码,能优化性能,能做代码重构
熟悉两个或者多领域的开发,比如客户端开发、音视频开发、后台开发、嵌入式开发等等
在这里,我给大家推荐的书籍:
音视频类:《ffmpeg音视频开发实战》
服务器:《Linux高性能服务器编程》
《Linux多线程服务端编程 使用muduo C++网络库》
性能分析类:《性能之巅》

推荐的项目有音视频类的《live555》和服务端的《redis源码》,里面有很多技术点可以去学习和拓展,大家可以找我领取

当然其实更推荐你把你公司的项目的各大部分的原理基本搞懂
然后就变成了你自己的项目了