给“非IT背景的新手BA”的技术入门学习指南

6af8c111298553bafa641dd9b4c5df12.png

图:史江鸿 《读赏春天》

01 BA为什么要了解技术?

去年3月份,ThoughtWorks 迎来了2021年的第一批应届生入职潮,其中有30多位同学担任BA角色。他们不是拥有海外留学背景,就是国内985/211院校毕业。这意味着他们拥有敏锐的思维能力、广博的见识、超常的学习能力、令人称羡的外语沟通能力、以及吃苦耐劳的精神。这些素质都成了他们开启职业生涯的有力抓手。

截止今年3月份,这些BA应届生们已经不断地升级打怪、积攒了一年的经验值。

636db5e9564a0fd23d51269a6c9a8efc.png

  • 首先,他们参与了BA系列专项课程的培训,建立良好的角色认知、了解互联网产品、学习如何进行需求分析、如何进行方案设计、如何将产品在交付项目中落地;

  • 其次,他们参加了TWU / TWUC,模拟敏捷项目进行实战演练,学习如何运作敏捷项目、如何与团队协作、如何与客户沟通;

  • 接着,他们陆续参与到真实的交付项目中、持续打磨BA技能、学会如何以职场人的思维去解决问题;

  • 后来,他们又在公司一轮又一轮初阶到中阶的BA技能培训中不断强化业务分析和敏捷项目交付技能。

一年的历练俨然已经让这些曾经的“新兵蛋子”们蜕变成了拥有BA素养的“TWer”。然而,据我观察,这些BA们又迎来了新的考验。他们中90%都是非计背景,由于存在过多IT技术盲区,在实际的项目工作中或多或少都在面临以下困难:

  • 在与开发人员沟通时,缺乏基本的技术理解能力:听不懂、插不上话、或者无法理解

  • 有时会跟着开发人员过分陷入技术细节,花了过多时间探讨方案的技术可行性,而忽略了对产品体验的打磨

  • 难以评估自己设计方案的实现成本

  • 在拆分故事卡时,无法识别支撑性故事、也无法考量技术实现之间的相互依赖

  • 常常将验收标准与技术task混淆在一起

  • 在编写AC时,不知道应该用什么术语表达意图(比如:radio button、check box、dropdown等)

  • 甚至完全无法理解那些“面向开发者的产品”的需求,因此无法从事此类项目

因此我在想,倘若BA们能学习一些基本的IT技术,了解一些前沿的技术方向,将对他们的工作大有裨益。拥有通用的IT技术理解能力,是每一个IT从业人员的基本素养。

1477f6e3de3f5873f325421bdbef02eb.gif

02 学什么?

那么,该学些什么呢?

在ThoughtWorks,除了个别BU致力于大数据、区块链、Iot等前沿技术的研究与实践,大部分的项目仍然关注在web应用、移动端应用、小程序等互联网产品上。为了更快地适应工作要求,我建议BA们能够优先学习互联网产品所涉及的通用技术。包含如下八个方面:

a7a3d40577f288bb5071076820b8d5b1.png

  • 计算机基础:我们通常开发的软件产品就运行在电脑和移动设备上,学习一些计算机的基础知识(譬如什么是CPU、存储器、端口、软件、操作系统、数据和信息等),有助于你更了解自己正在使用的设备;

  • 软件架构入门:无论是什么样的产品,最终都要以软件形式来呈现。而软件架构(这里指技术架构,而非业务架构)相当于产品的骨架。学习常见的软件架构模式,有利于你更了解你的产品,知道业务是如何在软件中承载的;

  • Web前端技术:Web是大家最熟悉的互联网产品形态。前端对于新手BA来说,看得见摸得着、可以较为快速的上手、易产生成就感、进而激发学习兴趣。此外,了解前端布局的一些理念,有助于你在设计原型时避免天马行空的想象;了解一些调试的方法,有助于你自己动手尝试和决策一些交互细节;也能在你面临“极致的用户体验”和“捉襟见肘的开发成本”时更好地权衡和取舍;

  • 后端技术:一般来讲,前端主交互、后端主逻辑。因此一些重要的业务逻辑都在后端处理,而这些恰恰不是你肉眼可见的部分。学习一些后端技术,有助于你将看不见的逻辑可视化出来,也有助于你更顺畅地与开发人员对话;

  • 前后端通信技术:学习了前后端的知识,接着你得了解用户从界面上输入的信息如何转化成数据、如何传输给后端进行逻辑处理,最终又如何将处理结果返回给用户。因此,你需要了解前后端是如何通信的;

  • 数据库技术:任何一个软件都要将数据存储下来,必然要用到数据库。理解什么是关系型数据库、什么是非关系型数据库,如何在数据库里进行简单的增删改查,有助于你了解自己的业务数据是以怎样的形式存储和固化下来的;

  • 移动端技术:随着移动互联网的兴起,移动端应用成为主流,学习一些开发移动APP时会用到的技术,也会对你大有帮助;

  • CI/CD入门:学到这里,你基本上打通了一个产品从用户在界面输入信息、到系统自动完成逻辑处理、到最终存储在数据库的完整通路。但你却不知道一个软件被开发出来,是如何发布到线上供用户使用的。因此建议你了解一些CI/CD的入门知识。 

ea0c7810d841d119aa7020f3d61beda1.gif

03 怎么学?

所以,要如何学习呢?

我个人认为,BA学习技术的方法与开发人员大有不同。开发人家通常会有更细致的角色划分,比如前端开发、后端开发、安卓开发、IOS开发等。为了追求系统且深入地学习,要尽量避免诸如“一文读懂什么是*** ”之类的科普小品文,转而选择一些更全面、更专业的学习材料。

但对于非IT背景的BA来说,IT技术太多太杂,倘若每个知识点都要如此系统地学习,那得学到猴年马月呢?你不需要写代码,因此大可不必像开发人员一样培养。“听得懂、能交流”是你第一个阶段的目标。

其实,在IT技术里,有80%的概念是常用且易懂的,掌握这些只需要花你 20%的时间。而其余下的20%属于每个技术领域的难点和细节,要掌握这些可能会花掉你180%的时间,大可以先放下它们,专攻那些当下能为我们所用的基本知识

如此一来,我们可以站在前人的肩膀上,那些科普类的文章和入门类的书籍就正好派上用场了。在这里,我总结了一些自己认为比较重要的知识点:

8174027ea4f604ba727cb5737d7c1f9c.png

我还整理了部分曾经对自己帮助比较大的优质入门材料:

(1) 计算机基础
  • 《计算机基础知识》:教程,源自W3CSchool。分22个章节,言简意赅地讲解了计算机相关的基础知识 ⭐️⭐️⭐️

  • 《半小时漫画计算机》:书,用生动有趣的漫画讲解了计算机的基础知识,一共分为5章,每一章都有不同的风景, 有趣且硬核 ⭐️⭐️⭐️⭐️

(2) 软件架构入门
  • 《软件架构入门》:文章,源自阮一峰的网络日志。这是作者在阅读O’Reilly 的免费书《Software Architecture Patterns》之后编写的读书笔记,基本上涵盖了书籍的全部重点。当然,你也可以去读原书 ⭐️⭐️⭐️⭐️⭐️

(3) Web前端技术
  • 前端三大件HTML + CSS+JavaScript:教程,源自菜鸟教程。入门级教程。建议简单了解这三部分分别是干啥的,能够看得懂页面元素和布局。⭐️⭐️⭐️⭐️

  • 《目前流行的9大前端框架》:文章,来自知乎,作者Darkce。列举了当前流行的9个技术框架,内容介绍部分很简单,但每个框架都链接了英文或中文官方网站,可以作为一个目录使用。你只需要简单了解几个框架,对比自己项目上的技术选型,了解选型背后的原因。当开发人员在聊到框架时,你能听得懂他们的“黑话” ⭐️⭐️

  • AntDesign组件库:工具,来自AntDesign官方网站。在这里,你可以查到常用的前端组件,你不仅可以了解组件的术语,还可以了解同一组件的多种样式。它不仅能帮助你在设计原型时,更快地找到合适的页面元素,还利于你与前端开发人员沟通 ⭐️⭐️⭐️⭐️⭐️

  • Chrome Dev Tools:官方帮助文档,来自官方网站。学习如何在Chrome中进行简单的调试,比如修改一些页面元素的属性,查看和调整一些简单的样式等 ⭐️⭐️⭐️

  • 《Cookie》:教程,来自阮一峰 JavaScript 教程。介绍了什么是Cookie, Cookie与Http协议、Cookie的属性等 ⭐️⭐️⭐️

  • 《从数据产品经理视角,聊聊埋点的意义》:文章,来自人人都是产品经理。⭐️⭐️⭐️

  • 《终于有人将埋点讲明白了》:文章,来自51CTO ⭐️⭐️⭐️

  • Responsive Web 测试:文章,来自公众号“七姑娘日记” ⭐️⭐️⭐️⭐️

(4) 后端技术
  • 《进程与线程的一个简单解释》:文章,源自阮一峰的网络日志 ⭐️⭐️⭐️⭐️⭐️

  • 《网页性能管理详解》:文章,源自阮一峰的网络日志 ⭐️⭐️⭐️⭐️

  • 《Stack的三种含义》:文章,源自阮一峰的网络日志 ⭐️⭐️⭐️⭐️

(5) 前后端通信技术
  • 《产品经理必懂知识点:cookie和session》:文章,来自公众号“产品的技术小课” ⭐️⭐️⭐️

  • 《产品经理学技术:在浏览器输入URL回车后发生了什么》:文章,来自公众号“产品的技术小课” ⭐️⭐️⭐️

  • 《图解HTTP》: 书,作者上野宣,微信读书上可以免费阅读。图文结合讲解HTTP的基础知识,生动有趣,建议多读几遍 ⭐️⭐️⭐️⭐️⭐️

  • 《网络是怎样连接的》: 书,作者卢根勤,微信读书上可以免费阅读。语言风格通俗易懂,内容很详细,但部分章节对初学者有些难,建议挑选感兴趣的章节进行阅读 ⭐️⭐️⭐️⭐️⭐️

  • 你不得不知道的HTTP协议基础:文章,来自公众号“七姑娘日记” ⭐️⭐️⭐️⭐️⭐️

(6) 数据库技术入门
  • 《SQL 教程》教程,源自菜鸟教程。⭐️⭐️⭐️⭐️

(7) 移动端技术入门
  • 《H5 手机 App 开发入门:概念篇》:文章,来自阮一峰的网络日志 ⭐️⭐️⭐️⭐️

  • 《H5 手机 App 开发入门:技术篇》:文章,来自阮一峰的网络日志 ⭐️⭐️⭐️

  • 《移动端开发技术调研》:文章,来自简书 ⭐️⭐️⭐️

  • 《浅谈移动端开发技术》:文章,来自稀土掘金 ⭐️⭐️⭐️

(8) CI/CD入门
  • 《从0到1了解CI/CD》:文章,来源于稀土掘金,初学者入门必备 ⭐️⭐️⭐️

  • Jetbrains官方平台CI/CD指南:帮助文档,来源于Jetbrains官方网站 ⭐️⭐️⭐️⭐️⭐️

  • 《持续集成是什么》:文章,来自阮一峰的网络日志 ⭐️⭐️⭐️

当然,有些知识点,在实际项目中练习的效果远远大于阅读书籍或文章。比如,在学习Chrome Dev Tools时,最高效的办法是搬个小板凳坐在你信任的前端开发人员旁边,请他花费半个小时,现场教学。

我相信,当你有了这些底子,在工作中真正需要用到某一项技术的时候,再去逐步深入地学习每个知识点的细节,才会事半功倍。

当然,每个人经历的项目不同,涉及的知识范围也大有不同。但我认为,学习知识绝不能教条式,我提供的建议也并非完美无缺。重要的是,通过这里的入门学习指南,你能从一个全然的“门外汉”逐渐走进“门内”,并进一步在工作中发现自身短板,学会构建属于自己独有的知识体系,然后逐个攻克。这样才能做到终身学习、持续学习。

不过,在ThoughtWorks,项目类型不同、BA需要的技能也存在些许差异,比如:

  • 产品型项目:比较接近产品生命周期的前段部分,需要你有较强的市场洞察力、需求挖掘能力、用户分析力、和方案设计能力。但对IT技术技能要求相对较低

  • 技术型项目:例如微服务改造、遗留系统改造、数据迁移、及大部分To Developer类型的产品等都对BA的IT技术技能有极高的要求,比如你得深刻理解微服务架构、你得学会从API和数据库中反推as-is的业务、你得理解云平台等专业领域知识…...

  • 交付型项目:上游一般有客户方的PO来把关,BA的工作重心是分析上游传递的需求、并向团队澄清、指导团队交付落地。与产品型项目正好相反,这种类型的项目不要求你拥有卓越的市场洞察力和需求挖掘能力,你甚至接触不到真正的用户。但它要求你有敏锐的分析能力、沟通能力、及一定程度的IT技术技能

作为新人,80%是从交付型项目开始的。而工作一年的你绝不可能一口吃个胖子,瞬间兼顾所有类型的项目。看到这么多知识点也千万不要头晕,因为这里面不少知识我也是在工作五六年以后才搞明白的。而你要做的是,首先明确自己当前面临什么样的场景、应该具备什么技能、及未来的发展方向;接下来就是默默为之努力啦。

加油干吧,潜力无限的新手BA们!

0e51aeac998fcb2a3bbd2cb0737fb656.png

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值