浅谈技术工程师的进步

本来发微博的,越说越多,算了,发篇博客吧,说点工程师如何取得进步的问题。

1、描述和记录问题要精确,数字化:

“负载很高,连接很多,速度很卡”这种描述都是不对的,负载uptime值多少,连接数具体有多少,平时正常多少,高峰多少,访问延迟有多大,全部要数字化,而且要有问题状况下和平时的对比,养成这样的习惯,技术分析能力才会有进步。

2、分析过程要有条理:

出问题找不到原因,不奇怪,我也经常找不到;但是你为找原因做了怎样的努力?有没有努力去记录更详尽的问题日志,有没有通过对比测试排除各种潜在因素,有没有通过各种模拟测试回放问题,有没有在问题记录上做断点分析?什么都没做,就说找不到原因,怎么可能进步。

3、多较真一点:

有些工程师遇到问题就重启服务器,神马问题都好了,然后归纳为rp问题,用这样的态度怎么能进步,就算找到了问题和答案也多琢磨一下,很多人百度一下,知道怎么解决某种问题,却不知道为什么,于是下次问题换个马甲,就束手无策了,这就让人无奈了。

4、更敏感一些:

并不是要等到服务器瘫痪了,服务被拒绝了才想到解决问题,平时多关注一下,负载有没有波动,连接数有没有波动,用户访问出错的比例是多少(总会出现的),有没有异动,平均延时是多少,有没有异动,平时不关心,出问题的时候怎么来得及。

其实我从来不觉得自己是什么技术高手,而且我经常说的是,这个我不会,这个我不懂;不过我有个好习惯,凡是我好奇的地方或者怀疑的地方,就弄个断点记录点日志看看,看多了,不懂的也就懂了。多记,多看,这玩意理解起来能有多难。

前段时间做数据库优化技术分享培训的时候,讲不少技术细节和实战范例,内容不展开了,绝对都是实打实的干货。我讲到最后的一个总结是,我今年36了,工作了十几年,很多人会以为,讲的我十多年工作的总结和积累,其实错了,这只是最近两年的工作总结和积累,其中一些心得和范例是分享前最近两周才体会到的。关键是,能不能持续总结经验教训,持续的见微知著,持续的成长和进步。而不论你曾经多显赫,多牛b,多资深。

就这些。

5、推荐阅读:

[1] 你会问问题吗?

http://coolshell.cn/articles/3713.html

[2] X-Y Problem

http://coolshell.cn/articles/10804.html

时间: 2024-10-26 04:37:14

浅谈技术工程师的进步的相关文章

浅谈软件工程师的代码素养

WeTest 导读 写这篇文章时内心是比较忐忑的,因为文章的话题范围非常大,怕自己驾驭不了.在实际工作中,维护过很多类型的代码,其中不乏高级工程师完成的逻辑,大家的需求能力都很不错,能够快速满足产品的需要,但很少能有人能注意到代码的整洁度,甚至很多代码经过多人维护后已经变得无法再进行任何一处的修改,最后不得不花大量的时间进行重构.因此我决定还是写一篇文章来"浅谈"软件工程师应具备的代码素养,希望能够对大家有所帮助,水平所限,如有不当之处还请不吝指正~ "程序是写给人读的,只是

浅谈技术翻译(转自李松峰)

有的译者认为“技术书籍以技术引导为己任,最重要的是让读者入门然后去读英文原文,而不是要传承中华文化”,这种看法你认同吗? 首先,咱们先明确一下“技术书籍”这个概念.因为“技术”是一个很宽泛的词,必须先界定一下.你想,修车是技术,开飞机是技术,甚至养猪.理发.炒菜…等等里面都可以有技术,都有相应的书籍.但我们今天说的“技术书籍”,仅仅指“信息技术类书籍”,具体一点说,就是“计算机和网络技术书籍”.而我们今天谈论的翻译,也仅仅局限于“计算机相关技术书籍”的翻译,而下面的讨论也以英译中为例. 好了,开

浅谈技术组件客户端的并发问题

最近在实现一个基于RabbitMQ的消息总线.因为它提供了Client(客户端),这里就牵扯到凡是技术组件的client都无法回避的并发问题.本文借实现消息总线的client谈谈在实现过程中的想法以及最终的处理方式,当然这些都不仅仅适用于消息总线的client,其他通用组件的client也同样适用. 并发问题的分类 其实上面所提到的并发问题,从大的层面上可以划分为两类问题: 自身固有的并发问题:这个存在的前提条件是client自身内部使用了多线程技术,并且本身就存在线程安全的缺陷. 被动调用的并

浅谈嵌入式工程师入门及嵌入式工程师进阶,学嵌入式这些你需要知道

想要从事嵌入式开发,但又不知道怎么入门的,可以看下,下面我结合自身实际来谈一谈. 前提基础:简单的电路.模电.数电知识,C语言 一.从51单片机入手 如果有一些前提的基础知识,要上手51单片机不算难.首先,你得有一块开发板,郭天祥或者普中科技的51单片机开发板都很不错,资源比较齐全,有配套视频,可以跟着视频来一步步地走进单片机的世界.因为是用C语言编程的,功能实现的过程不算复杂,有C语言基础的基本不会有问题.如果不想看视频,或者想要一本书来总结一下,我觉得郭天祥写的那个51单片机C语言教程写得比

浅谈大数据技术

忽如一夜春风来,无人不谈大数据.大数据就像前两年的云计算一样,是一个时下被炒得很火的概念.那么什么是大数据,大数据是如何定义的,大数据处理技术有哪些,大数据能给我们带来什么益处?虽然我不知道现在这些概念是如何被炒作的,但是作为一名互联网行业的从业者,作为一个大数据技术的实践者,根据自己的理解和经验发表一点浅显的认识,理解肯定有不到位之处请大家批评指正. 无论是大数据技术还是云计算技术,其实这些技术都不是突然冒出来的,而是随着互联网技术的发展,人们把现有的技术加以整合,总结,概括出来并冠一个新名字

浅谈如何做一名优秀的WEB前端工程师

浅谈如何做一名优秀的WEB前端工程师 随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及,前端开发这个行业也开始备受关注. 前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢.Web前端开发核心技术主要包括HTML.CSS.JavaScript等.HTML仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言.当然可以勉强算作弱类型语言.Javascript 的基础部分相对来

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

【开源】浅谈Hybrid技术的设计与实现第二弹

前言 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) PS:据说加个开源在前面阅读量高点,于是就试试咯...... 上文说了很多关于Hybrid的概要设计,可以算得上大而全,有说明有demo有代码,对于想接触Hybrid的朋友来说应该有一定帮助,但是对于进阶的朋友可能就不太满足了,他们会想了解其中的每一个细节,甚至是一些Native的实现,小钗这里继续抛砖引玉,希望接下来的内容对各位有一定帮助. 进入今天的内容之前我们首先谈谈两个相关技术Ionic与React Nativ

浅谈PHP缓存技术之一

近来做了一阵子程序性能的优化工作,有个比较有意思的想法,想提出来和大家交流一下. Cache是"以空间换时间"策略的典型应用模式,是提高系统性能的一种重要方法.缓存的使用在大访问量的情况下能够极大的减少对数据库操作的次 数,明显降低系统负荷提高系统性能.相比页面的缓存,结果集是一种"原始数据"不包含格式信息,数据量相对较小,而且可以再进行格式化,所以显得相当灵 活.由于php是"一边编译一边执行"的脚本语言,某种程度上也提供了一种相当方便的结果集