看啥推荐读物
专栏名称: BlackSwift
Hisilicon长期社招Java, 测试, 前端专家。
目录
相关文章推荐
今天看啥  ›  专栏  ›  BlackSwift

如何自学与提问

BlackSwift  · 简书  ·  · 2017-08-06 01:30

如何自学与提问


近日9116背锅与带外包后的心得。

关键词: 方法论, 自学, 沟通, 自动化

★ 如何自学?

目前信息与技术出现了大爆炸,前端每隔3月就完全变个样,后端组件全面云化,与此同时还要自学一些跨行业的知识——比如金融、心理学、硬件、企业IT等等。在目前就业形势更加严峻、竞争更加激烈的情况下,高效地自学让你的时间更有价值。

◇ 你是否有自学意识?

首先读者可以对号入座一下

  • 我已经很久没有研究新技术了,项目中用着SSH也很稳定
  • 开发环境中的某款框架老是出现故障,看来我不得不找本书学习一下了
  • 我在浏览最新技术新闻时,发现H公司开发的S框架某特性非常棒,我打算去看一下源码实现
  • 我认为我X技术方面能力比较薄弱,打算列一个提纲,把它涉及到的领域依次搞定

在实际工作中,我发现很多同事与合作方都属于1~2型,少部分属于3,而4基本没有见过。首先上结论,第一种与第二种相当危险,属于抗拒或者被动学习类型,除非你的其它能力非常优秀,否则很容易被应届生替换掉。第三种可以成为中高级技术工程师,建议向第四种进行发展。最后一种属于刻意练习,可以成为跨领域专家,是本文的最终目标。

本文主要讲从第三种转变到第四种的学习方法

◇ 如何建立问题清单

举一个跨领域的例子,比如经常在新闻上看到“美联储加息,SHIBOR变高”这个讨论,甚至有引申到房贷/中小企业等问题,这个与自己的生活息息相关,因此打算学习一个。

首先以“加息”这个经济领域为主键,对知识进行发散

  • 使用Google/Wiki搜索SHIBOR,美联储的Wiki定义,了解到了货币,基础利率,逆回购,金融周期等概念
  • 进一步搜索博客/某乎,查看相关知识片段,并自己总结
  • 在豆瓣/Amazon等地搜索专业书籍,推荐程度: 翻译著作 > 高校教材 > 国内书籍 > 国内杂志
  • 开始花费时间阅读书籍,比如下面就是我找的书
领域问题清单 书籍
货币/期货/利率 《期货、期权及其衍生品》
金融周期 《大而不倒》
利率相关 《利率史》
凯恩斯主义 《就业,利息与货币通论》

这里可以借助Kindle进行标记

◇ 系统化学习

这个地方需要占用很多时间看专业书籍,有关读书的技巧后续再谈

  1. 不要说自己很忙没时间,大家都忙
  2. 需要坚持完成清单,看不进去也得看
  3. 可以跳读

◇ 控制深度与广度

众所周知,各个领域知识是学不完的,而是自己时间是有限的,因此就需要合理分配,控制深度与广度。对于知识广度深度的概念,网上有两种主流的知识体系说法,一种说【正态分布】,一种说【T型结构】,其实都是一样的

正态分布

以上图中红色为例,最中间就是深入的领域,比如Java/JVM等吃饭的手艺,而两侧就是知识的广度,比如金融、硬件、质量、ERP、CRM等等

这里主要看时间分配

  • 红色或者绿色是比较通用的,取决于自己控制的比例
  • 蓝色比较冷门的方向,而不是通用技术(比如电子、嵌入式研发)
  • 紫色是万金油(适合研发转销售/产品/管理),我个人更偏向这种

◇ 关于自学的总结

  1. 通过搜索引擎建立索引
  2. 阅读专业的书籍解决问题

★ 如何解决问题?

首先举一个例子

小李是一名开发,他在使用某兄弟部门的框架时出现故障无法解决,于是拉上主管与框架接口人远程会议进行定位。由于主管与接口人不明白故障场景细节,小李描述了很久也没说清楚问题到底在哪,同时由于缺少断点日志细节的支撑,导致接口人认为“被当成免费客服”,进行了甩锅,最终纯技术问题变成了扯皮,浪费了三个人的时间(最终要通过加班来补偿)

上面的场景相信每个人都遇到过,有两个原因,第一个是【挤牙膏】,第二个是【对部门墙过于敏感】。经常开这种低效会议后性格会变得急躁。

再举一个有代表性的段子,在很多IT论坛非常常见

某网友遇到一个问题后

  • 去v2ex发帖抱怨主管/公司 √
  • 有话与当事人当面说 x

这个场景中,同样没有解决问题,反而激化了矛盾

◇ 对领域问题保持信心

上面的例子中,所有问题都是由于【在某领域不专业】导致的,而不是【自己能力差】导致。
任何人都有不专业的领域,你可能医术精湛,但是做饭不一定好吃,【做饭领域能力差】这个事实并不能证明你【所有领域的能力都差】的结论。你只需要对特定领域进行自学或者通过专家进行求助即可,这是一个可以固化的流程。因此,遇到问题首先要对自己有信心。

◇ 沟通/求助时对他人保持信任

在遇到问题时,自己一般会处于信息弱势侧,但千万不要第一步就走极端

  • 降低抵触心理: 作为弱势侧出于本能可能会【敏感/多疑/抵触/戾气】,但是它不等于【领导/同事是假想敌】,不能在无证据的基础上认为领导会【坑你】,因此谈话前提是对他人保持信任;再比如求助他人时,不要总把部门墙想得那么厚,大部分员工都是普通人;有矛盾时先说出来,而不是发帖爆料/邮件群发/甩手离职/私下抱怨
  • 当面解决问题: 不要瞻前顾后,逃避问题。只要不是开弓箭这种场景,都可以投入时间资源去尝试,在自己不懂的领域成为“猪队友”又不丢人,最多被抱怨而已。

举个例子,比如你由于项目不顺心,有离职的打算,这里的重点是【项目不顺心】问题,而不是【离职】问题,你需要先与他人沟通是否能够解决项目问题再做是否离职的结论,而不是通过发离职信去逃避。比如那位大神的《我为什么离开了XX》,个人认为就不太妥当

  • 不要尝试说服对方: 【说服了对方】不等于【解决了问题】

◇ 个人层面通过小改进解决问题

回到第一个案例,其实问题很好解决

对于开发来说

  • 需要提问前通过文字的形式描述场景细节
  • 通过断点、日志或者参数证明自己做过努力
  • 提问前需要组织好语言

对于开发主管来说

  • 完善人员培训与求助流程,如果亲自完成所有的事会累死的
  • 提供更多的求助/ 提问渠道

对于被求助侧来说,主要是实现求助自动化

  • 完善issus/wiki等搜索服务
  • 规范求助流程,比如提issue后才进行支撑

总之,不懂业务是很正常的,都可以想办法解决

◇ 通过自动化工具解决问题

对于纯技术问题,公司内部可以自研/搭建/购买Gitlab/GitHub或者YouTrack(不得不说,JetBrain真是一家优秀的公司)等SAAS服务来彻底解决【挤牙膏】这种低效的问题

YouTrack

上图就是Youtrack系统,如果自己业务需求复杂,可以参考此类系统进行自研定制开发

◇ 总结

  • 个人维度上,减少戾气。为提问做准备,尽量不浪费时间
  • 项目维度上,投入资源实现自动化问题追踪,节省人力

说白了还是对特定领域的洞察能力,才是最重要的

★ 招聘时的筛选方法

讲了那么多,我相信大多数人都不愿意与【不懂自学/提问】的人一起工作。对于这点,我们可以参考一些成熟的招聘帖子,比如某 Java专家招聘信息的要求

熟悉底层中间件、分布式技术(包括 RCP 框架、缓存、消息系统、热部署、JMX 等),对 CAP 定论有深入的理解。

这段就要求了技术上要有至少第四层的自学深度与广度

具有比较强的问题分析和处理能力,热衷于技术,有一定的技术代码癖,github、stackoverflow 活跃者优先考虑。
有较强的逻辑思维能力,善于分析、归纳、解决问题,持续学习和总结,自我迭代。

这两段就要求了解决问题的能力

对于我个人来说,至少要求有第三层自学能力的人,一般会问是否熟悉Java8/开源框架源码,马上就可以判断对方是否有过自学

参考文献




原文地址:访问原文地址
快照地址: 访问文章快照