分享

程序员工作5年,还是个中级程序员,如何再快速晋升?

 汉无为 2023-10-22 发布于湖北

图片

我曾经就是这个状态,5年工作经验就像是一年工作经验用了5年。职业生涯遇到了瓶颈,无法突破。分析原因有很多,一方面是基本功没练好,像操作系统底层、数据结构、算法、计算机网络这些计算机基础知识掌握的不扎实,不能灵活运用。另一方面是这五年时间都沉浸在业务开发上,没有搞清楚各种计算机架构优缺点。还有就是缺乏更高追求的动力,对目前的现状自我满足,温水煮青蛙。

我觉得要想有更大的成长,首先要有明确的规划,想清楚自己想要什么。其次就是把基础知识打牢,练好内功。

首先是要明确自己往后的一个技术发展方向,像很多科班毕业的同学一样,开始选择软件工程,是奔着高薪去的,所以,在过往的学习中,什么方向薪资高就想学习哪一块,殊不知到最后每个学过的方向都只是略懂,在后面的求职中并没有给我带来技术优势。所以尽早明确一个好的技术方向,花时间去钻研,最后给你的回馈也会是更喜人的。

作为一名c/c++的开发工程师,在技术方向上的选型就不要太多,c/c++不像是Java,Java就是做业务开发,所以它的技术栈,技术主要内容是很固定的,后面做的就是不断去迭代新的技术,学习新技术,以满足对业务的需求。而c/c++开发作为非常老的语言,到目前还在编程热榜上有一席之地,主要就是取决于它的包容性,技术范围很广,没有一个所谓的绝对主流。如果你掌握了c/c++语言,你可以从事游戏开发、桌面开发、网关、嵌入式、后端开发、音视频开发、网络安全等等。任何一个方向的深入学习,对于每一个程序员来说都是可以选择的,并到最后都能达到一个不错的薪资水平。只是说在天花板的层面上有高有低罢了。

所以在选择技术方向上面,要有自己的判断。比如说制造业和互联网行业,肯定是选互联网行业,这与个人技术无关,只是说行业的属性就决定了你这个岗位的后续发展高度。

在回到快速晋升的问题上来,如果你是一个工作五年的中级程序员,你又不想转行,那其实就只有一条路:提升技术水平,没有其他的选择,毕竟连高级程序员都不是的话,管理岗和你的缘分,应该会很浅~~

所以,很多人在这个时候会选择自主学习。第一个想到的就是买书,买一堆的技术书,这个没错,绝大多数的技术都是可以通过书籍学习到的,这是很好的方式,只是在这个过程中间,你想一下,五年的时间你都没有晋升,难道是书买少了吗? 不是的,是学习的过程碎片化,看完之后很难实际上手练习,再者可能今天看了之后,下次去看的时候已经忘记了前面的内容了!所以,如果你也是这种情况又想得到技术晋升的话,付费学习会是这个阶段最合适你的提升方式。

为什么可以选择付费学习?

1.效率性

虽然从书上从网上你可以获取到很多很多的技术内容,但是这些内容并不是连贯性和系统性的,光将这些技术梳理成一个体系,就需要花费我们大量的时间,而且还不一定能够包含完全,且在这个过程中大概率会放弃!

2.准确性

购买的技术书籍还好说,至少经过了作者的校对,而网上的内容,没有人来确保准确性。可以copy到最后发现是错的。而课程的技术准确性,不仅仅经过讲课人的校准,也经过了其他同学者的验证!

3.计划性

很多人在学习技术的时候,往往都是被动的。工作中需要什么补充什么,翻到哪学到哪。而付费学习会给你提供一个学习的个人规划。按部就班的提升,满足你对整个技术体系的了解和认知。

4.延续性

付费学习,不仅仅是对于技术的晋升。因为在这个过程中更多时候不是一对一,而是有很多和你一样选择付费学习的群体,在这个过程中,你至少是可以更好的了解到,在c/c++这个方向的程序员圈子里面,各个城市各个技术方向的薪资如何,对标自己掌握的技术能力和工作年限,在同样的城市能拿到多少薪资的offer!

这里分享一些c/c++后端开发的免费视频教程(教程来源:零声教育) 

这里也推荐给正在从事c/c++后端开发或是有一定c/c++却还在技术方向上摸索的朋友一套系统的技术学习课程体系!(课程体系参考自零声教育),看完技术路线的朋友想了解学习的可以去咨询一下详细内容和服务,觉得还不需要的,也可以通过这套技术体系梳理一下自己的知识存储量!

1、精进基石专栏

(一)数据结构与算法

图片

(二)设计模式

图片

(三)c++新特性

图片

(四)Linux工程管理

图片

2、高性能网络设计专栏

(一)网络编程异步网络库zvnet

图片

(二)网络原理

图片

(三)自研框架:协程框架ntyco的实现(已开源)

图片

(四)自研框架:基于dpdk的用户态协议栈的实现(已开源)

图片

(五)高性能异步io机制io_uring

图片

3、基础组件设计专栏

(一)池式组件

图片

(二)高性能组件

图片

(三)开源组件

图片

4、中间件开发专栏

(一)Redis

图片

(二)MySQL

图片

(三)Kafka

图片

(四)grpc

图片

(五)Nginx

图片

5、开源框架专栏

(一)游戏服务器开发skynet (录播答疑)

图片

(二)分布式API网关

图片

(三)SPDK助力MySQL数据落盘, 让性能腾飞(基础设施)

图片

(四)高性能计算CUDA (录播答疑)

图片

(五)并行计算与异步网络引擎workflow

图片

(六)物联网通信协议mqtt的实现框架mosquitto

图片

6、云原生专栏

(一)Docker

图片

(二)Kubernetes

图片

7、性能分析专栏

(一)性能与测试工具

图片

(二)观测技术bpf与ebpf

图片

(三)内核源码机制

图片

8、分布式架构

(一)分布式数据库

图片

(二)分布式文件系统(录播答疑)

图片

(三)分布式协同

图片

9、上线项目实战

(一)dkvstore实现(上线项目)

图片

(二)图床共享云存储(上线项目)

图片

图片

(三)微服务即时通讯(上线项目)

图片

(四)零声教学AI助手一代(上线项目)

图片

图片

(五)魔兽世界后端TrinityCore (上线项目)

图片

10、适宜的工程师人群(共分为8大群体)

  • 1.从事业务开发多年,对底层原理理解不够深入的在职工程师

  • 2.从事嵌入式方向开发,想转入互联网开发的在职工程师

  • 3. 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师

  • 4.从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师

  • 5.工作中技术没有挑战,工作中接触不到新技术的在职工程师

  • 6.自己研究学习速度较慢,不能系统构建知识体系的开发人员

  • 7.了解很多技术名词,但是深入细问又不理解的工程师

  • 8.计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)

11、配套书籍资料

  • 1. MySQL: 《高性能MySQL 第3版》

  • 2. Nginx: 《深入理解Nginx: 模块开发与架构分析(第2版)》(陶辉)

  • 3. Redis: Redis设计与实现 (黄健宏)

  • 4. Linux内核: 《深入理解Linux内核架构》 (郭旭 译)

  • 5. 数据结构与算法:《算法导论》(第3版)

  • 6.性能分析:《性能之巅洞悉系统、企业与云计算》

  • 7. MongoDB: 《MongoDB权威指南》

  • 8. Ceph: 《Ceph分布式存储学习指南》 (Ceph中国社区)

  • 9. Docker: 《Docker容器 与容器云(第2版)》

  • 10. TCP/IP: 《Tcp/Ip详解卷一卷二卷三》

  • 11. Linux系统编程: 《Unix环境高级编程》

  • 12. 计算机: 《深入理解计算机系统》

  • 13. DPDK: 《深入浅出DPDK》

  • 14. k8s: 《Kubernates权威指南》 龚正等编著

  • 15. bpf: 《BPF之巅洞悉Linux系统和应用性能》

学习成果检验

图片

图片

图片

图片

图片

  • 腾讯offer比例15%

  • 知名企业offer比例73%

  • 最高offer腾讯T3.1(现T9)年薪65w

  • 最高年薪涨幅30W

  • 最快跳槽学习时间1个半月

如果是想在c/c++开发方向得到有效的快速提升(不是所谓的速成),这份学习体系是大家绕不过的具有参考意义的提升路线。从学习路线中可以对c/c++开发方向的技术栈有一个清晰的认识。

最后:

给校招的小伙伴一句话:第一份工作不亚于一次高考,珍惜校招,社招的竞争是你目前想象不到的。能去大厂觉不妥协,IT行业第一份工作背景越好,起点越高,后续发展空间越好!

给那些1-3年的安于现状的伙伴一句话:

不要抱怨市场,不要安于现状,在低端,往中端领域看,在中端往高端领域看。认知以及对自身的要求,都会有所改变。

给那些担心35岁的伙伴一句话:

决定上限的不是年纪,而是技术。

最后:希望学习路线对你有所帮助,希望码农的我们越来越好!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多