当前位置: 首页 > news >正文

【程序员软实力】如何构建?我坚持了2100多天,收获了这些心得

导语 | 程序员的软实力体现哪些方面?技术输出对于程序员来讲,其意义有哪些?提升软实力的主要步骤是什么?坚持每天写作,对个人来讲,其挑战有哪些?如何平衡其与本质工作所占用的时间比例?腾讯云最具价值专家(TVP)杨建荣,坚持技术分享连续2100多天,我是如何构建自己的软实力的?来一起听听我的答案。

云加社区独家采访视频

受访者简介| 杨建荣,竞技世界资深数据库工程师,腾讯云最具价值专家(TVP),前搜狐畅游数据库专家,Oracle ACE,YEP成员。著有《Oracle DBA工作笔记》、《MySQL DBA工作笔记》,拥有十年以上数据库开发和运维经验,目前专注于开源技术,运维自动化和性能调优。拥有Oracle 10g OCP、OCM、MySQL OCP认证,对shell,Java有一定的功底。坚持每日通过微信、技术博客进行技术分享,已连续坚持2100多天。

 程序员的软实力体现哪些方面?

从我的理解来说,主要体现在三个方面。

第一个是态度,我们评价一个人态度最直观的印象就是这个人是否踏实,能够沉下心来学习,摆正自己的工作态度,做事不毛手毛脚,哪怕有些东西现在不会,但是保持一种空杯心态去学习请教,在团队协作中也会尤其占据优势。

其次是沟通能力,我个人理解可以分为两类,表达能力和社交能力。我们很多同学工作虽然做得好,但是不能把工作成果讲明白,其实在工作中是很吃亏的,可以适当的提高自己这方面的能力,同时能够做换位思考,站在别人的角度来考虑同样的问题,减少沟通中的分歧。另外一层就是社交能力,做技术的人都比较简单,不太善于社交,其实社交对我们很多人来说是线上线下的连接,比如参加技术大会,技术沙龙等等,可以结交很多朋友。

第三是心态,心态这方面我要表达的是两个,一个是开放的心态,善于总结,善于分享,愿意把技术成果分享出来;另外一个是包容的心态,对技术保持敏感,但是不偏激,能够用更理性的态度看待技术。

 技术输出对于程序员来讲,意义有哪些?

技术输出的形式蛮多,比如博客,技术分享,书,解答问题,等等。

对很多人来说,这是一个有价值的技术投资,一方面可以提升个人技术能力,在处理问题的过程中也可以很好的梳理自己的思绪;另一方面可以在后续帮助更多的人,实现从利己到利人的转变,在这个过程中自然会提高自己的影响力。

我有如下的四个建议,比较通用。

首先,要有一个清晰的规划。凡事预则立,不预则废,制定计划是给自己的一个心理暗示。给自己一个阶段性目标,然后把它做分解,拆分成为自己能够实现的一些任务。

对于规划,要有长期规划和短期规划,长期规划就是几年内希望自己有什么样的成长,同时短期内希望达到什么目标,都可以做到统筹。一种行之有效的方法就是:拿着若干期望的目标,然后反推过程,应该怎么去落实,实践效果要好一些。

其次,建立技术连接的思维。我们很多同学就是专注在了技术线,对于某一个技术有较为深入的学习,但是对于其他方向的技术却有欠缺,这样很容易形成技术壁垒,思考问题的方式也会更局限于你所熟悉的方式和领域,对成长是不利的。我们不要钻牛角尖,不要什么都要用MySQL来实现,面对需求,永远没有最好的数据库,只有最适合的业务场景,一旦你开始更理性的思考,你才会更接近于问题的本质。

再次,充分利用碎片时间。有很多人说,我现在可忙了,没时间。其实细细观察,总是会有很多的碎片时间:早高峰、午饭后、晚高峰、晚饭后、睡觉前,这些都是碎片化相对集中的时间,可以充分利用起来很多的事情。

最后,多参加社区、社群的活动和技术交流问答。对于参加社区、社群活动,自己也是深有感触,可能技术圈子的人性格相对比较内敛,在技术上态度还是开放的。多参加一些社区、社群的交流,可以让自己少走很多弯路,因为不是所有的坑都需要你完整地踩一遍,而在这个过程中你收获的不仅仅是知识,还可能是友情。

技术分享之路上的故事

要说写博客的初衷,其实最早是出于利己的考虑,经常在处理问题的时候,要反反复复查一些资料,问题解决了之后,发现处理思路没有沉淀下来,导致后续再碰到问题的时候,又得花费同样的时间解决类似的问题,所以早期的博客写作就是为了完整的模拟整个问题。同时我听说人的习惯在一段时间之后才能够养成,我也是带着试试看的态度在大概2014年2月的一天开始了技术博客连更之路。

随着博客的内容量越来越多,有些网友在博客和我的互动也越来越多,我发现原本是利己的事情慢慢变得利人了,这是我在起初没有预料到的,而这个过程需要时间的沉淀。

有时候在技术大会上,很多朋友会主动上前来打招呼,或者问我是不是公众号的作者,很多朋友我们之前都未曾谋面,通过线下的方式建立了连接,这对于我来说是一件很欣喜的事情。

要说感动,其实有很多,公众号的内容不是冷冰冰的,而是每天糅合了我的一些工作心得,当然也包括一些情绪化的东西,我总是会不经意收到一些朋友的留言感谢,这对我来说,不是超越技术本身了,此外我写公众号的过程中也会产生一些收入,我把所得几乎都捐给了慈善项目,加上我额外的捐赠,目前已经捐助了数万元,30多个公益项目,当收到救助的感谢来信时,是让我最为放松的时候

在坚持的路上,和很多读者的支持是分不开的,在2016年6月,我完成《Oracle DBA工作笔记》,汇聚了近800天的学习笔记,目前已经重印7次,在2019年8月份,我完成了《MySQL DBA工作笔记》,目前大家的反响都还不错,这些大力支持我的人,是我前行路上的有力后盾,我内心除了感激就是感动。

 挑战,平衡,与坚持

这个过程中,我所写的内容也不局限于技术,有时候也包含一些生活感悟,从最开始的满腔热情,到融入成为生活的一部分,这其中的挑战还是很多的,其中一个挑战就是平衡和工作的关系。

尤其是近些年,发现对于体力的挑战更为明显,对我来说,在每天23:59之前能够完成博客就是一种记忆打卡,有时候甚至会坐着睡着,很多朋友好奇我这么为难自己是为什么,其实就是给自己的一个任务而已,因为不需要做其实有很多的原因,而要做其实需要需要的原因很简单,当然在这方面,我也在调整,尽可能把时间往前赶。

现在工作的压力也不小,在时间和工作的平衡上,也是一大挑战。我是尽可能不占用工作时间,基本上是在晚上10点以后孩子睡觉之后开始技术写作的,从10点到12点,看起来有两个小时,但是我已经记不清有多少次在电脑面前没有任何思路,多少次想放弃了,咬咬牙似乎都能坚持下来。

分享的目的就是知识和经验传播,要写出一篇有技术含量的文章其实不是特别难,花点时间,多做些测试都可以达到,但是如果要持续输出我觉得是很难的。我基本上每天都会记着这样一件事情,今天写点什么,今天分享点什么,带着这个想法我会重新看待自己的工作和生活,同时这样约束自己持续产出。

技术分享可以作为一个人的习惯,如果习惯了分享,其实就逐步适应了这种节奏,不光在写博客方面,很多技术演讲也是如此,很多技术知识点都可以很快熟悉起来,而且技术产出也会更快,这是一种通过效率提高数量和质量的方式。

 未来会重点关注哪些技术?

分享,是推进技术发展的助推器,我非常赞同这个观点,技术分享可以作为一个人的习惯,如果习惯了分享,其实就逐步适应了这种节奏,不光在写博客方面,很多技术演讲也是如此,很多技术知识点都可以很快熟悉起来,而且技术产出也会更快,这是一种通过效率提高数量和质量的方式。

在后期,我会更加关注如下的几个方面的内容:

1.智能运维;智能运维在国内其实提的也蛮早了,落地的场景也有一些,在这方面也是技术的与时俱进,随着技术趋势而转型和改变吧,未来这方面的需求会越来越多,长期来看我是比较看好的。

2.开发技术;很多传统的运维同学缺乏开发技术,在处理很多问题时容易形成瓶颈,我是不喜欢拘泥于一种技术,而是喜欢折腾的一个人,在这方面我比较喜欢Python、Java、Go语言方向的开源项目。

3.数据库高可用技术;对于数据库技术来说,高可用是一个可以持续讨论和改进的技术方向,随着业务需求和技术的发展,高可用技术和方案层出不穷,如何更好更稳定的支撑业务,是技术之本。

4.数据库内核技术;这个也是让自己具备更多的主动发言权,很多技术细节不是刚用,而是需要深入技术细节来洞察本质,这个阶段对很多人来说会很难,我希望投入一些精力做这样的一些事情。

 关于TVP

TVP是一个很有活力的专家项目,能够成为TVP的一员也让我觉得非常的幸运和自豪,从2018年至今我参加了一些TVP的技术分享和活动,整个会议的内容质量很高,而且有很多腾讯的专家资源助阵,在此希望TVP项目能够在更多技术专家,技术圈朋友的努力下,融合更多专家资源和技术力量,在技术领域持续发声。

640?wx_fmt=gif

相关文章:

  • MySQL数据流转集成,从快速测试Maxwell开始
  • 从故障处理流程看结构化思维
  • dbaplus-爱可生社区-北京站沙龙归来
  • 唯一ID生成算法剖析,看看这篇就够了
  • 关于学习,很有必要看看这张图
  • 迁移到MySQL的业务架构演进实战
  • 一个看似纠结的MySQL标签需求的梳理
  • 技术学习中的三个有趣的数字
  • 数据库修改密码风险高,如何保证业务持续,这几种密码双活方案可以参考
  • MySQL业务双活的初步设计方案
  • 美女主持直播,被突发意外打断!湾区网友却高喊: 我懂!超甜
  • MySQL周期表管理太繁琐,通过Python自定义工具方法优雅解决
  • 千万不要养大型犬,多么痛的领悟
  • 《吊打面试官》系列-Redis基础
  • 为什么我们的数据科学团队无法产生价值
  • Electron入门介绍
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • js
  • Linux下的乱码问题
  • overflow: hidden IE7无效
  • PV统计优化设计
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 微信支付JSAPI,实测!终极方案
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • No resource identifier found for attribute,RxJava之zip操作符
  • # C++之functional库用法整理
  • (JS基础)String 类型
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (南京观海微电子)——I3C协议介绍
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)程序员技术练级攻略
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bashrc在哪里,alias妙用
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net中的集合
  • .net中调用windows performance记录性能信息
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [1127]图形打印 sdutOJ
  • [1181]linux两台服务器之间传输文件和文件夹
  • [16/N]论得趣
  • [Angular] 笔记 18:Angular Router
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [BZOJ2208][Jsoi2010]连通数
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [JavaEE系列] wait(等待) 和 notify(唤醒)
  • [MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办
  • [Poj 1015] Jury Compromise 解题报告 (完全背包)
  • [python]mysqlclient常用命令