时间:2022-10-10 19:17:29 | 浏览:2649
采访嘉宾 | 丁威 编辑 | 张红月
出品 | CSDN(ID:CSDNnews)
或是冥冥之中自有安排,亦或是坚持不懈努力得来,你是因何踏入程序员这个行业的呢?写代码,改Bug,一千个程序员,可能就有一千个与代码的故事……
程序员甲,大学专业被调剂,从此深深爱上了写bug……
程序员乙,听说土木工程毕业不好找工作,于是赶紧转行学了编程
程序员丙,因喜爱玩电脑、拆装手机,从此走上了编程的不归路,虽然我会修电脑,可我是真正的程序员
……
今天,CSDN程序人生频道了采访了在职场混迹十年,依然对技术全情投入,饱有百分百热情的丁威老师,他是《RocketMQ技术内幕》作者,RocketMQ官方社区优秀布道师,CSDN 2020博客之星亚军,“中间件兴趣圈”公号号主。
丁威
丁威目前在中通快递研发中心基础平台担任资深架构师,主要负责全链路压测、消息中间件、数据同步、缓存等中间件在中通等研发与落地,日常主要关注中间件领域,他认为中间件在分布式架构体系中占据举足轻重的地位。主流分布式架构体系通常包含微服务、网关、服务治理、消息、缓存、调度、存储(关系型数据库、NoSQL)、分库分表等,每一个领域都会存在多款优秀的中间件,掌握中间件、深入理解各个中间件的设计理念,无疑将极大的提升对分布式架构的理解。
因“找工作” 与Java结缘 开启程序生涯
丁威大学专业是网络工程,大一第二学期接触到了C语言,但真正令他开启编程之路的则是大三选修的Java。步入大三下学期,离毕业越来越近,大家不得不面对“找工作”这个难题,而当时充斥的信息都说网络专业不好找工作,丁威表示:“作为一个名贫困生,如果读完大学无法找到工作,对我这样的家庭是致命的,经过一番调研,选修了Java课程,正式开启了编码之路。”
在谈到大学里的课程是否重要时,他提到:“不是读书无用,而是方到用上方恨少。”大学大部分专业课程在毕业后第一次找工作或许没有什么助力,但随着程序生涯逐渐深入,才会明白那些课程是多么重要。
作为离开校园10余载的程序员,他依然对如下几门课程印象颇深:
高等数学
计算机操作系统
数据结构与算法
软件工程
程序员奋斗的黄金时期
作为入行10年,经验丰富的程序员,丁威表示:结合自身工作经验,程序员的黄金奋斗时期是前5年。
回顾自己的程序生涯,他觉得前五年一定要做好职业生涯规划并付诸努力行动。
第一份工作真的很重要,如果有好的学历背景,找工作时不能将就。
如果没有好的学历背景,也无需气馁,要一开始就为自己树立一个远大的目标:一定要凭着自己的努力,励志进入所处行业的头部企业。
有了目标,工作的第一年主要扩大自身知识面,点到为止,以便快速完成日常工作;进入工作第二年后,就要开始打牢基础,刨根问底,探究原理,快速成长。
此外,他还分享了自己的进入高并发领域的一次面试经历:“在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源码研究之路(
https://blog.csdn.net/prestigeding/category_7034876.html)。与目前主流的消息中间件Kafka、RocketMQ、RabbitMQ相比,丁威觉得RocketMQ的优质特性有:
编程语言是Java,众所周知Java是当今最流行的编程语言;
RocketMQ提供了消息检索功能,是回怼项目方质疑丢失消息的最佳法宝;
提供消息重试、定时消息、事务消息、自动位点提交等业务开发必须等功能。
架构简单清晰,运维成本低。
布道师也可以理解成技术推广专家,需要经常分享技术实战,参与社区组织的技术活动,对此丁威表示,程序员参与技术分享,打造技术影响力,拓宽人脉圈,助力职场,形成“品牌”溢价。
他说道:技术分享并不会牺牲工作效益,反而会提高生产力,但我们坚持一个原则,在公司,除非进行与工作相关的技术调研,业余学习必须利用业余时间,并且可以优先攻破公司中目前选用的技术栈。
程序员如何快速入行中间件领域,他表示:补齐基础,勇往之前。中间件开发的必备基础:Java集合、JUC并发包、Netty(NIO)网络编程。
入职中间件的职业发展方向,丁威介绍到:“中间件方向其实有两条路线,中间件研发人员(技术创作者)、中间件应用人才(技术架构师),大家根据自身情况选择即可,都可以成就一番事业。”
最后,丁威也分享了他的座右铭:越努力越幸运,唯有坚持不懈。与读者们共勉。
采访嘉宾 | 丁威 编辑 | 张红月出品 | CSDN(ID:CSDNnews)或是冥冥之中自有安排,亦或是坚持不懈努力得来,你是因何踏入程序员这个行业的呢?写代码,改Bug,一千个程序员,可能就有一千个与代码的故事……程序员甲,大学专业被
近些来,程序员成为了很多人就业的首选。但是大多数人对于程序员的了解仅仅停留在了薪资待遇上,但是他们对于程序员的工作却所知甚少。甚至有不少人只听说了程序员的工资很高,并不知道程序员的工资会高到什么地步。其实近些年来,随着互联网,大数据等新兴领
在很多人眼里,程序员是一类高薪、“高危” 的职业。 他们穿着格子衫、顶着一碗超帅的光头,能修电脑、能黑网站、简直无所不能。 。 。但直到我自己当上程序员,才发现其实很多人都是对程序员的误解。除了外行的误解外,还有很多来自于程序员同行的误解。
多少次熬夜加班, 直至见到凌晨四点的太阳;多少个早晨洗漱的时候, 看到洗脸盆掉的全是头发;整天coding, debugging, 设计, 画图, 文档, 会议, 演示......看似充实饱和的工作, 又夹杂了多少苦涩与无奈; 程序员其实很
同样都是敲代码,为什么别人一个月工资五万,你一个月却只拿五千?是单纯在找工作的时候运气不佳?还是因为技术水平有差别?那些被大众膜拜信仰的技术大神到底牛在哪里,现状已定,普通程序员是否还有机会逆袭?看完这篇文章,或许你能从中找到答案。从思维和
首先,当前程序员职业确实存在职业生命周期偏短的问题,原因是多方面的,包括工作量大、工作周期长、技术迭代速度快、岗位竞争压力大等因素,但是当前不少技术团队中,也有很多70后、80后的程序员,而且随着人工智能等技术的发展,以及IT互联网行业产业
中国码农千千万,北上深杭一大半。虽然所有的程序员都有着相似的气质,几乎每个人衣橱里都有差不多款式的牛仔裤、旅游鞋、格子衬衫,无论男女都有至少一个双肩包,但一方水土养一方人,每个地方的程序员都可以从茫茫人海中找到"老乡"。比如,北京的程序员大
进入一个行业,开始一份工作,不论在最初的时候,你是因为喜欢还是被动接受,或多或少的都会成为你一段时间内为之奋斗的事业。边工作边迷茫也许是大多数人的常态,觉得这份工作不适合自己,可又不知道应该去做什么;喜欢着自己的工作,却又不知道怎么进一步提
整理 | 刘静出品 | CSDN(ID:CSDNnews)学位高就能够拿高薪?我们的薪资与全球其他国家或地区的同行相比中间有多大的差距?Hired 近日发布的 《2019 年度薪酬状况报告》 解答了技术者们的诸多疑问。该报告聚焦于全球 13
程序员是21世纪比较吃香的工作。程序员工资高还不需要和复杂的社会打交道。那么怎么成为一名程序员?当程序员需要学什么?怎么成为一名程序员?【有明确的职场定位】怎么成为一名程序员?程序员也分为很多种,使用的软件和工作范围也不同。想当程序员,就要
在职场中,我们应该追寻一种平等关系,也就是说公司看中求职者的能力,求职者希望公司给予自己满意的薪资和发展空间。因此,面试是选择和被选择的关系,拒绝和接受都是很正常的事情,而非一方的强人所难或是“王婆卖瓜”行为。近日,一名程序员在求职过程中由
从业一开始,加班就是常态很多人都说这个程序员的工资比较高,其实这种背后的心酸,其实很少人知道。就拿我来说吧其实我工作了有七八年,记得刚工作那个时候,天天加班的话,就是白天睡觉,晚上加班,当时其实也没什么经验,就是只是凑人数嘛。当时我们项目经
在目前互联网行业,计算机领域都离不开编程,程序员也受市场的大量需求,而且目前程序员的薪酬普遍很可观,在北上广深等一线城市,程序员的薪酬基本都是上万,两三万一月的都有的是,甚至很多都直接讲年薪,程序员在目前还是比较吃香的职的业。那么我们学怎样
程序有问题时不要担心。如果所有东西都没问题,你就失业了在我的编程生涯中,我碰到过很多奇奇怪怪的对手和同盟。我把这些编码战士们分成五类,有些人是你队伍中的好伙伴,有些人则是捣蛋者,让你的每一个计划都完不成。不管怎么说,他们在软件开发的诸神殿上
不是每一个写代码的都是程序员。这里,我把程序员定义为以编程为生的人。我认为世界上存在四类程序员:科学家、码农、专家和工匠。下面我一一介绍自己的观点。科学家,与其说他们是程序员,不如说他们是数学家。他们发明了各种理论、算法和术语,教科书上那深