陈天-软件开发能力-live 笔记

  • 工程师往往忽略的软件开发能力
  • slide 地址

软件开发能力

在刚开始的阶段大家对于语言的关注度往往大于系统层级,业务层级。

软件系统是个大工程,包括 separate programs, configration files ,代码或者编程语言都只是一部分。

发展阶段

  • 婴儿期 :poc/mvp 最简单的代码时间,是否可行
  • 少年期 :加强健壮性 是否有价值
  • 青春期:日志,错误监控,安全,部署,效率 能否提供更多的价值
  • 成人期:性能,CI/CD,监控,分析,BI 足够的商业竞争
  • 消亡期

可以积累的经验,从一个系统经验抽象出来的能力,用启发式的问题自问

系统能力

  • 软件部署 了解数据流转, 络架构

  • 系统架构 ()

    • 一个请求的完整 pipeline 心中有数
    • Qos
    • log
    • 监控
  • 数据架构

    • 用户在使用系统时的行为
    • 行为收集的event (地点人物事件)
    • 多平台数据怎么统一
    • 数据聚合,存储,分析,可视化
  • 监控和 警

    • 性能日志收集,处理
    • alert
    • 突发事件的快速相应
  • 数据收集能力

    • 什么数据值得收集(当前收集的数据跟核心业务符合吗,有需要改进的地方吗/li>
    • 收集的数据流向了什么系统y
    • 数据是怎么聚合的 (batch or realtime, how improve/li>
    • how store datasli>
    • ad-hoc or report query 视化
  • 分析数据能力

    • 如何读懂各个指标场景关联性
    • 怎么解读数据趋势,同比,环比/B testing)
    • 多维度数据变化对应的业务含义
    • 异常数据li>
    • 数据发现新知识(数据挖掘 )
  • 快速决策和解决问题

    • 软件开发的本质:, 大到技术栈的选型,小到变量,函数的命名,也是各种最佳实践,经验积累的体现,最终呈现的是我们的系统。这里就需要有个人的
    • 决策:需要的是经验和胆识
    • 解决问题 完美的方案,所以考虑时间成本 workround 的方案可能更合适
  • 什么都略懂一些(万金油)

    • 多了解其他的领域,前端,运维,运营,产品,可以更好的理解他人的工作,还有发现更多的机会,对自己的发展有利,不要 自己的角色。
    • 交叉混合地带的知识和经验往往具有很大的价值,从历史的发展来看,交叉学科是必然的趋势,知识迁移组合往往发挥 的功效. 举个例子,代码写的6,又会表达,在沟通中就如鱼得水。
  • 责任心,担当

    • 出问题不怕,怕的的总是出一样的问题,持续改进很重要
    • 不管是否自己 oncall,出了问题第一时间投入进去不解决不罢休
    • 换位思考,把自己当成用户,将心比心
  • 敢为人先:接受挑战

    • 面对挑战,不要退却,推责

! 人靠谱最重要

业务能力

要了解的逻辑:

  • 公司怎么赚钱的li>
  • 离钱越近的职位越重要

每个人都需要了解的业务知识

  • 公司如何获取用户给用户提供的价值是什么li>
  • 如何留住用户用户产生的收益li>
  • 公司和部门是如何花钱的li>
  • 用户的单价,投入产出成本
  • 用户的 li>
  • 公司业务所处的市场环境发展的情况li>
  • 公司的差异化在哪优势在哪li>
  • 行业是怎么样的业标杆,标准是怎样的li>

从市场角度,财务角度,运营角度来分析公司优缺点,所处环境和未来方向。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年6月3日
下一篇 2018年6月3日

相关推荐