程序员的黄金奋斗时期是前5年|专访《RocketMQ技术内幕》作者丁威

或是冥冥之中自有安排,亦或是坚持不懈努力得来,你是因何踏入程序员这个行业的呢?写代码,改Bug,一千个程序员,可能就有一千个与代码的故事……
  • 程序员甲,大学专业被调剂,从此深深爱上了写bug……
  • 程序员乙,听说土木工程毕业不好找工作,于是赶紧转行学了编程
  • 程序员丙,因喜爱玩电脑、拆装手机,从此走上了编程的不归路,虽然我会修电脑,可我是真正的程序员
  • ……
今天,CSDN程序人生频道了采访了在职场混迹十年,依然对技术全情投入,饱有百分百热情的丁威老师,他是《RocketMQ技术内幕》作者,RocketMQ官方社区优秀布道师,CSDN 2020博客之星亚军,“中间件兴趣圈”公号号主。
丁威目前在中通快递研发中心基础..担任资深架构师,主要负责全链路压测、消息中间件、数据同步、缓存等中间件在中通等研发与落地,日常主要关注中间件领域,他认为中间件在分布式架构体系中占据举足轻重的地位。主流分布式架构体系通常包含微服务、网关、服务治理、消息、缓存、调度、存储(关系型数据库、NoSQL)、分库分表等,每一个领域都会存在多款优秀的中间件,掌握中间件、深入理解各个中间件的设计理念,无疑将极大的提升对分布式架构的理解。

因“找工作” 与Java结缘 开启程序生涯

丁威大学专业是网络工程,大一第二学期接触到了C语言,但真正令他开启编程之路的则是大三选修的Java。步入大三下学期,离毕业越来越近,大家不得不面对“找工作”这个难题,而当时充斥的信息都说网络专业不好找工作,丁威表示:“作为一个名贫困生,如果读完大学无法找到工作这对我这样对家庭是致命的,经过一番调研,选修了Java课程,正式开启了编程之路。
在谈到大学里的课程是否重要时,他提到:“不是读书无用,而是书到用上方恨少大学大部分专业课程在毕业后第一次找工作或许没有什么助力,但随着程序生涯逐渐深入,才会明白那些课程是多么重要。
作为离开校园10余载的程序员,他依然对如下几门课程印象颇深:
  1. 高等数学
  2. 计算机操作系统
  3. 数据结构与算法
  4. 软件工程

程序员奋斗的黄金时期

作为入行10年,经验丰富的程序员,丁威表示:结合自身工作经验,程序员的黄金奋斗时期是前5年
回顾自己的程序生涯,他觉得前五年一定要做好职业生涯规划并付诸努力行动。
  1. 第一份工作真的很重要,如果有好的学历背景,找工作时不能将就。
  2. 如果没有好的学历背景,也无需气馁,要一开始就为自己树立一个远大的目标:一定要凭着自己的努力,励志进入所处行业的头部企业。
  3. 有了目标,工作的第一年主要扩大自身知识面,点到为止,以便快速完成日常工作;进入工作第二年后,就要开始打牢基础,刨根问底,探究原理,快速成长。
此外,他还分享了自己的进入高并发领域的一次面试经历:“在2016年跳出舒适区去面试的时候,我发现面试官张口闭口就是分布式,高并发,而这又是我极为欠缺的。但能够进入拥有高并发的业务场景也不是一件容易的事情,想从实战中学习高并发更是可遇而不可求。”
作为一名没有高并发经验的程序员来说,要想有机会接触高并发,唯一能做的是先具备高并发的技能,而学习各个领域中的中间件,无疑能助力见识高并发的编程技巧,并且中间件也是分布式架构体系的支柱,故从2016年9月开启了中间件的学习之路,持续至今,会一直记录了我的学习成长历程。


与Bug打交道的日子

在分享技术之路方面,丁威谈到,C语言算是入门语言,而真正把他领入编程之路的是Java,此外,目前在工作中还会用C++、Go、Python等语言。对于准备踏入编程领域的同学来说,认真学好一门语言,后边可以基于自己的兴趣及工作业务需要,再扩展其它语言的学习,这样会容易很多。
那么,在编写代码时,程序员最讨厌跟“谁”打交道,那肯定非bug莫属了。丁威曾在博客发表过《困扰我半年之久的RocketMQ timeout exception 终于破解了》一文,为什么会这么久?丁威表示,该Bug之所以困扰半年,并不是说半年一直在处理,其中一个非常重要等因素该问题等定性:重要而不紧急。
对于超时问题,程序员很容易根据经验定性为网络原因,而且由于他对RocketMQ非常熟悉,有充足的证据证明RocketMQ服务端写入耗时非常低,将技术问题初步定性为网络问题,从而将问题抛给网络组同事,由于跨部门协作,并且该问题不紧急,各个职能部门有自身的OKR,协调起来比较麻烦。
在谈到Bug及突发事故的处理流程方面,他表示,面对BUG,或者生产事故,一个非常重要的突破口:询问是否有变更,优先回滚,优先止血恢复问题,然后才是分析与排查。排查BUG,通常是根据错误异常栈,定位代码,结合日志分析即可。

程序人生

除了担任架构师一职,丁威还是RocketMQ官方布道师。2017年,阿里巴巴将 RocketMQ捐赠给Apache基金会成为Apache的顶级项目。与此同时,RocketMQ也深深吸引了丁威了关注,RocketMQ性能为何如此高效,背后运用了哪些技术?如何实现刷盘?定时消息、消息过滤等实现原理……
好奇心带来学习力,彼时,丁威正式开启RocketMQ源码研究之路(http://blog.csdn.net/prestigeding/category_7034876.html)。与目前主流的消息中间件Kafka、RocketMQ、RabbitMQ相比,丁威觉得RocketMQ的优质特性有:
  1. 编程语言是Java,众所周知Java是当今最流行的编程语言;
  2. RocketMQ提供了消息检索功能,是回怼项目方质疑丢失消息的最佳法宝;
  3. 提供消息重试、定时消息、事务消息、自动位点提交等业务开发必须等功能。
  4. 架构简单清晰,运维成本低。
布道师也可以理解成技术推广专家,需要经常分享技术实战,参与社区组织的技术活动,对此丁威表示,程序员参与技术分享,打造技术影响力,拓宽人脉圈,助力职场,形成“品牌”溢价。
他说道:技术分享并不会牺牲工作效益,反而会提高生产力,但我们坚持一个原则,在公司,除非进行与工作相关的技术调研,业余学习必须利用业余时间,并且可以优先攻破公司中目前选用的技术栈。
程序员如何快速入行中间件领域,他表示:补齐基础,勇往之前。中间件开发的必备基础:Java集合、JUC并发包、Netty(NIO)网络编程。
入职中间件的职业发展方向,丁威介绍到:“中间件方向其实有两条路线,中间件研发人员(技术创作者)、中间件应用人才(技术架构师),大家根据自身情况选择即可,都可以成就一番事业。
最后,丁威也分享了他的座右铭:越努力越幸运,唯有坚持不懈。与读者们共勉。
作者介绍:
丁威,《RocketMQ技术内幕》作者、「中间件兴趣圈」公众号维护者,RocketMQ官方社区优秀布道师,CSDN2020博客之星亚军。

程序员跨界起来有多猛?20年资深IT老兵,写了本130万字的科幻小说!

 
      
标签:
coder_life
程序人生 微信号:coder_life 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 金色命运之钥(金色命运之钥洛克王国)

    大家好,小伟今天来为大家解答金色命运之钥以下问题,金色命运之钥洛克王国很多人还不知道,现在让我们一起来看看吧!1、打败杰诺斯深海的赛

  2. 2 英国拉夫堡大学世界排名(英国拉夫堡大学世界排名及简介)

    大家好,小丽今天来为大家解答英国拉夫堡大学世界排名以下问题,英国拉夫堡大学世界排名及简介很多人还不知道,现在让我们一起来看看吧!1、

  3. 3 行政月度工作总结报告ppt(行政月度工作汇报ppt)

    大家好,小美今天来为大家解答行政月度工作总结报告ppt以下问题,行政月度工作汇报ppt很多人还不知道,现在让我们一起来看看吧!1、强化服务意

  4. 4 北京哪个区最繁华(北京哪个区最繁华,最适合旅游)

    大家好,小美今天来为大家解答北京哪个区最繁华以下问题,北京哪个区最繁华,最适合旅游很多人还不知道,现在让我们一起来看看吧!1、北京最繁

  5. 5 大学放暑假时间(大学放暑假时间)

    大家好,小丽今天来为大家解答大学放暑假时间以下问题,大学放暑假时间很多人还不知道,现在让我们一起来看看吧!1、大学的暑假通常在每年的

  6. 6 win10xbox怎么下载(win10xboxapp)

    大家好,小豪今天来为大家解答win10xbox怎么下载以下问题,win10xboxapp很多人还不知道,现在让我们一起来看看吧!1、 首先第一步打开电脑浏览器,根

  7. 7 黄金价格连创历史新高,还能涨多久?

    黄金价钱近期一路高歌,连创汗青新高。截止4月12日的14个生意日中,美国黄金期货价钱11个生意日收涨,一度站上每盎司2400美元。剖析人士认为,近

  8. 8 难忘的游戏作文三年级250字(难忘的游戏作文三年级250字)

    大家好,小丽今天来为大家解答难忘的游戏作文三年级250字以下问题,难忘的游戏作文三年级250字很多人还不知道,现在让我们一起来看看吧!1、瞎

Copyright 2024 优质自媒体,让大家了解更多图文资讯!