zoukankan      html  css  js  c++  java
  • 工程师意识

     
    工程师意识
    对有些同学来说,前两周是非常忙碌的两周。线上发生了几起事故,虽不全是我们部门的,但很多同学也在群策群力的一起去解决、复盘、改进。同时,我们上周也对部门H1的冒烟、事故进行了回顾。
    我们希望通过对踩过坑的深度复盘,去发现需要改进的点,然后下次不再犯同样的错误。复盘后发现,引发故障的原因中,变更占比100%,其中代码逻辑占比45%,方案设计占比15%。“变更是万恶之源”。我们对变更的管理,有没有达到10成的把握,这里面有流程机制的问题,也有各位工程师的意识及执行的问题。流程机制上,我们想了一些对策,接下来会对变更三大件(技术方案 + Codereview + 上线回滚方案)进行强执行。接下来想谈一谈工程师意识和执行的问题。
    回首这些冒烟和事故,是不是我们在技术方案设计的时候多考虑一下异常情况,就可以避免这次事故?是不是我们在自测的时候真正测试到改动的功能点、前后对比是否一致,就可以避免这次事故?是不是我们在写每一行代码的时候、认真的了解到调用的函数的副作用和运行机制,就可以避免这次事故?是不是我们在使用中间件的时候对实现机制有更透彻的了解和确认,是不是我们在巡检的时候更细致的检查毛刺并追查原因,就可以避免这次事故?是不是我们没有想当然,改过的配置真正去调一下接口,是不是就可以避免这次事故?
    在我看来,一件事情没有做到位,有两方面原因。 一方面,是没有这方面的意识,不知道应该这样去做,如何去做。 另外一个方面,就是偷懒了,心存侥幸,但我们并不会一直这么好运。根据墨菲定律,该发生的一定会发生。
    对于工程师意识,百度已经有非常好的总结了,希望大家都每个字每个字的认真研读,一个合格的工程师应该具备怎样的意识。这都是前人的智慧,我们应该把它传承下去。
    • 质量意识
      • 流程意识
        • world class procedure:用流程解决具有共性的、重复性问题,提高效率
    • 既有的流程应严格遵守;没有流程的应创建流程
    • 要对自己的工作质量负责,不要期待别人来发现自己的问题
    • “稳定”压倒一切,线上服务最重要
      • 用户体验最重要
    • 工作安排:二八原则
    • 优先解决线上服务稳定性问题
    • 不要“想当然”:
      • 不要默认“没问题”,而是缺省认为“有问题”;“肯定没问题”一定有问题
    • 反复核实(double check)十分重要
    • “我以为他们已经开始做,但我也没有跟他们确认一下”—导致项目延期
    • “我以为这个接口是这样定义,但谁想到是那样的”—导致程序崩溃
    • “我以为发出邮件,他肯定就知道了”—实际上,他/她根本不在相应的邮件列表中
    • 时间意识
      • 目标管理、结果导向
        • 弹性工作制:上下班时间自由支配
    • 关键是要按时保质完成工作
    • 只争朝夕,争分夺秒
      • 激烈的产业竞争环境
    • 不要拖到最后才开始工作,因为总可能会有意外
    • 能今天做完的绝不拖到明天
    • 自我管理,自我推动
      • 每件事情都有完成时间表,给自己一个约束,给别人一个承诺
    • 每件事情有始有终,设立一些里程碑,在里程碑上检查进度,主动向其他人通报进度
    • 建立个人品牌,树立别人对自己的信心
    • 沟通意识
      • 平等沟通
        • 在沟通上没有级别概念
    • 不要碍于面子,不要怕犯错误:报喜亦报忧
    • CC文化
    • 及时沟通:
      • 邮件是最主要的沟通形式,但有时不是最有效的
    • 当面沟通,电话沟通,召集会议都是有效的形式,但要留下文字
    • 有效沟通
      • 沟通要达到效果
    • 如果没有效果,应让更多人知道,尤其是你的老板和对方的老板
    • 团队意识
      • 集体荣誉感:
        • 用你的成绩为你的团队带来光荣
    • 互相帮助,互相学习
      • 乐于给别人提供帮助
    • 也勇于向别人学习:有问题不要憋在肚子里
    • 互相理解
    • 把周围同事当作你的资源,包括你的经理
    • 对事不对人,尊敬身边每一个人
    • 求实意识
      • 科学求实是技术发展的基础
    • 用数字说话,用事实证明,不要有“想当然”的思想
      • 大胆假设,小心求证,不放过每一个细节和疑点
    • 客观公正
    • 杜绝“可能”,“大概”,“应该”这样模棱两可的用词,而是用准确的数字和事实来论证
    • 每个工作能用量化的指标来进行衡量
      • 性能、容量、准确性、召回率、死链率,etc.
    • 没有量化,就没有绩效
    • 通过这些指标衡量自己的成长和进步
    • 通过这些指标知道工作的方向和重点
    • 进取意识
      • 永葆激情,积极主动
        • 热爱你所从事的工作
    • 不要等别人为你分配任务,你就是自己的老板
    • 与时俱进,不断学习
      • 在高速成长的公司,你才会有高速成长的可能
    • 要有和公司、团队的同步成长的意识
    • 对技术、对质量的追求永无止境
      • 没有最好,只有更好
    • 目标远大,不固步自封,自我满足
    • 忧患意识
        • Case study和自我总结,自我学习和提高
    • Case study是一种文化,从事故中吸取经验教训
    • 容忍失败,但不容忍重复失败
    • 经常反思一下自己
    • 不放过任何一次问题,勇敢地剖析自己
     
    除了意识之外,我们还希望我们的工作伙伴有什么样的特质?
    1. 靠谱:凡事有交代,件件有着落,事事有回音
      1. 别人交办的事情,请第一时间给出预计完成的时间点。
      2. 过程之中注意按时通报进展。
      3. 如果预计要延迟,延迟多久,提前多久通报。
      4. 如果请求别人做事情,请给出期望完成的时间点。
    2. Ownership:高度负责,结果导向
      1. 对自己的代码质量负责、线上系统负责,确保结果
      2. 对交办的事情负责,确保结果
      3. 开发质量的保证,是自己的职责,不是测试的职责。写优雅、可维护的代码是自己的追求,决不妥协。
      4. 二八原则,确保自己的精力在解决主要问题,拿主要的结果
      5. 学会时间管理,4象限安排工作优先级,确保重要结果产出
      6. 工程师的核心竞争力就是解决问题的能力,不管你用什么方法
      7. 认真负责,思考全面,提前计划,步步为营
    3. 自驱自发:我的工作我做主
      1. 不要等别人为你分配任务,你就是自己的老板
      2. 主动承担更多的职责、主动学习更多的知识
      3. 自己尽力都搞不定的事情及时寻求帮助
    4. No Excuse,实事求是:不怕犯错,不找借口,主动反思,持续改进
    5. 主动沟通,善于协作
      1. 报喜亦报忧,确保协作方信息的及时性、有效性
      2. 主动语音聊,电话聊,跟进聊
    希望我们的工程师,都具备以上工作准则,作为球队的不可或缺的一员,各自发挥自己的才能,一起赢!!!
  • 相关阅读:
    linux weblogic的sh文件
    linux 安装weblogic(转载)
    linux 安装jdk
    linux 用户和用户组
    测试开发工程师必备软硬能力&高级测试开发工程师需要具备什么能力?
    postman强大的团队协作功能
    requests(一): 发送一个json格式的post请求
    python操作Excel模块openpyxl
    appium环境安装app自动化
    夜神模拟器怎么连接adb
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/15063157.html
Copyright © 2011-2022 走看看