技术人员怎样提升对业务的理解
技术服务于业务。
一个技术人员想要走得更远,不能仅局限于技术,需要对自己所从事的业务领域有不断深入和全面的理解。
所谓业务领域,就是大家平常自我介绍,不会仅简单说我是搞C++的,我是搞JAVA的,而是游戏后台C++,广告引擎C++,电商后台JAVA,大数据JAVA,这里面的游戏/广告/电商/大数据,就是大的业务领域,平时我们接触到的,应该是业务领域里面更小更具体的业务。比如说广告,有展示广告,搜索广告,feeds流广告,而且这些业务(领域知识)还在不断变化和演进。
产品经理(产品专家,高级产品专家,资深产品专家,产品总监)不断地思考业务的发展,然后把这些思考转换成一个个需求,然后一般以项目的形式提给技术人员,期望对产品的思考能快速落地实现,并尽快在用户那里得到使用和反馈(以及分析数据)。
对于技术人员而言,可能很多时候都处在接产品需求,分析需求,考虑/撰写技术实现方案,排期,埋头吭哧吭哧干活,赶在deadline前上线,收工,周而复始的这样一个流程中。
久而久之,我们处于这样的循环中而不自知,变成了一个需求实现机。虽然对于技术人员来讲,最重要的还是技术,主要关注点在系统架构、系统稳定性、系统可用性、系统运维、快速迭代能力、流量峰值等方面,但就像我们前面说的,要想走得更远,就需要对业务有更多的理解(和把控)。
最近对于技术人员怎样提升业务sense(加深对业务的理解)有了一些输入和思考,在这里分享给大家。
一、关注需求背后要解决的业务问题,而不是产品经理的需求
很多时候产品经理提过来的是解决方案(已经把待解的业务问题做了自己的理解,转换成了自己认为最合适的解决方案),而不是原始的待解决的业务问题。
技术人员需要自己找到原始的待解决的业务问题,自己去理解和分析问题,从技术的角度考虑,评估产品经理给出的解决方案是否是最合理/最适合的,如果不合理/不合适,那么就给出自己认为最合适的解决方案。
拿到一个需求的时候,一定要自己先做一个基础的判断,接收到的是一个待解的业务问题,还是一个解决方案。
从事技术开发的人要杜绝的,是接收到一个需求(解决方案),就立即开始评估工作量、排期,然后吭哧吭哧把活干完,上线。然后,下一个(需求)。
举个例子。
产品经理提了个需求给技术人员,要求建造一部梯子。需求很明确了,梯子需要使用什么材料建造,长度要求多少,宽度要求多少,需要能承受多少重量。
技术人员拿到这个需求,就开始评估大概需要多少材料,需要多少建造工期和测试工期,然后就开工了。
其实我们应该停一下。“建造一部梯子”是一个解决方案,而不是一个待解的业务问题。
不妨问问产品经理梯子是用来干什么。用来更换屋里中央吊灯的灯泡的。为什么要换灯泡?因为灯泡不够亮,白天屋里太暗了。所以要解决的业务问题是屋里的照明问题。
那不用费劲造梯子了,说不定我们把厚厚的遮光窗帘掀开,屋里就亮堂了。喏,不用浪费时间和财力造梯子了,你happy我happy大家happy。
二、技术人员要有业务好奇心
最近听到一个有关技术人员的观点,觉得很有意思,因为我一下子就被说中了:给技术人员一个deadline,他所有的精力/注意力/付出全部都集中在deadline上,整个思维都集中在怎么在deadline前把项目完成上线。
我自己脑补了下:一条狗,不论它之前在做什么,你只要让它注意到你手里的肉骨头,它的眼神和精力就会集中在这个肉骨头上,不论你是把肉骨头高举,还是把它扔出去。deadline就是技术人员关注的肉骨头。
全力关注肉骨头好像是一种本能,但是人需要克服本能才能获得更多的进步和成长。
参与到项目后,不能只是评估工作量、排期、kickoff,然后就盯着deadline赶工和快速收工。要对技术方案之外的业务有好奇心,在保证项目按期保质完成的基础上,花时间去了解需求背后的业务问题和业务变化,扩展自己对业务认知的版图,加深自己对业务的理解。很多项目,一般涉及到多个团队/部分,平时难得见到,正是沟通和了解自己所负责工作之外的好时机。
人与人之间最大的差别是思维方式。只有思维方式持续不断升级,我们才有可能站得更高走得更远,与诸君共勉。
相关文章:
技术人员怎样提升对业务的理解
技术服务于业务。 一个技术人员想要走得更远,不能仅局限于技术,需要对自己所从事的业务领域有不断深入和全面的理解。 所谓业务领域,就是大家平常自我介绍,不会仅简单说我是搞C的,我是搞JAVA的,而是游戏后台…...
【分布式】分布式事务:2PC
分布式事务的问题可以分为两部分: 并发控制 concurrency control原子提交 atomic commit 分布式事务问题的产生场景:一份数据被分片存在多台服务器上,那么每次事务处理都涉及到了多台机器。 可序列化(并发控制)&…...
回归与聚类算法系列④:岭回归
目录 1. 背景 2. 数学模型 3. 特点 4. 应用领域 5. 岭回归与其他正则化方法的比较 6、API 7、代码 8、总结 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数…...
idea配置git(gitee)并提交(commit)推送(push)
Intellij Idea VCS | 版本控制 - 知乎 IDEA项目上传到gitee仓库_idea上传代码到gitee_robin19712的博客-CSDN博客 git程序下载国内镜像地址: https://registry.npmmirror.com/binary.html?pathgit-for-windows/v2.42.0.windows.2/ 解压后放到固定路径:…...
(19)Task异步:任务创建,返回值,异常捕捉,任务取消,临时变量
一、Task任务的创建 1、用四种方式创建,界面button,info各一。 程序代码 private void BtnStart_Click(object sender, EventArgs e){Task t new Task(() >{DisplayMsg($"[{Environment.CurrentManagedThreadId}]new Task.---1");});t.Start()…...
设备树的理解与运用
设备树: 本质是一个文件,包含很多节点,每个节点里边是对设备属性的描述(包括GPIO,时钟,中断等等),其中节点(node)和属性(property)就是设备树最重…...
【AIGC】提示词 Prompt 分享
提示词工程是什么? Prompt engineering(提示词工程)是指在使用语言模型进行生成性任务时,设计和调整输入提示(prompts)以改善模型生成结果的过程。它是一种优化技术,旨在引导模型产生更加准确、…...
【Axure视频教程】取整函数
今天教大家在Axure里如何使用三种不同的取整函数,包括向上取整、向下取整和四舍五入取整。具体效果可以参考下方视频。该教程从0开始制作,手把手教学,无论是新手小白还是有一定基础的同学,都可以学习的哦。 【视频教程——试看版…...
MySQL清空表
当我们需要清空一个表中的所有行时,除了使用 DELETE * FROM table 还可以使用 TRUNCATE TABLE 语句。 如果想要清空一个表, TRUNCATE TABLE 语句比 DELETE语句更加有效。 TRUNCATE TABLE 语法 TRUNCATE TABLE 的语法很简单,如下:…...
使用IDEA创建Vue3通过Vite实现工程化
1、创建Vite项目的分步说明 IntelliJ IDEA与Vite构建工具集成,改善了前端开发体验。Vite 由一个开发服务器和一个构建命令组成。构建服务器通过本机 ES 模块提供源文件。生成命令将代码与汇总捆绑在一起,汇总预配置为输出高度优化的静态资产以供生产。In…...
GitLab使用的最简便方式
GitLab介绍 GitLab是一个基于Git版本控制系统的开源平台,用于代码托管,持续集成,以及协作开发。它提供了一套完整的工具,以帮助开发团队协同工作、管理和部署代码。 往往在企业内部使用gitlab管理代码,记录一下将本地代…...
MySQL数据库20G数据迁移至其他服务器的MySQL库或者云MySQL库
背景:20G的MySQL数据迁移至火山云MySQL库,使用navicat的数据传输工具迁移速度耗费时间过长。 方案一:使用火山云提供的MySQL数据迁移服务(其他大厂应该提供的也有) 方案二:使用数据迁移工具kettle&#x…...
build.gradle配置文件详解
Andorid Studio高版本和低版本的build.gradle配置逻辑有些差异 安卓项目中相关编译文件的介绍 gradle-wrapper.properites:配置Gradle Wrapper gradle.properties:配置Gradle的编译参数。具体配置见Gradle官方文档:com.android.build.gradle | Andro…...
2024拼多多校招面试真题汇总及其解答(二)
6. 【算法题】归并排序 归并排序(Merge Sort)是一种分治算法,它将待排序的序列递归地分成两个子序列,然后将两个有序的子序列合并成一个有序的序列。 归并排序的算法流程如下: 递归地将待排序的序列分成两个子序列,直到每个子序列只有一个元素。将两个有序的子序列合并…...
自动化运维工具Ansible教程(一)【入门篇】
文章目录 前言Ansible 入门到精通入门篇进阶篇精通篇入门篇1. Ansible 简介2. 安装 Ansible1. 通过包管理器安装:2. 通过源码安装: 3. Ansible 的基本概念和核心组件4. 编写和运行第一个 Ansible Playbook5. 主机清单和组织结构主机清单组织结构 6. Ansi…...
计算机毕业设计 微信小程序 uniapp+vue大学生兼职平台
任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,本系统前台采用微信开发者结合后台Java语言设计并实现了…...
JavaScript框架:构建交互性、现代化Web应用的利器
💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 引言 JavaScript框架已…...
数据结构——二分查找法
二分查找法(Binary Search)是一种高效的查找算法,通常用于在已排序的数组或列表中查找特定的目标值。这个算法的基本思想是不断将查找范围缩小为原来的一半,直到找到目标值或确定目标值不存在。 二分查找是一种在每次比较之后将查…...
服务端渲染(SSR):提升Web应用性能和用户体验的关键技术
💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 引言 服务端渲染&#…...
如何工作和生活相平衡?
之前待过一家外企,他们的口号是 Balancing work and life,工作和生活相平衡。辗转几家公司之后,发现这个越来越难了,越来越少的时间投入家庭和自己的生活。 人生的意义 (AI) 人生的意义是一个深奥而复杂的…...
semaphere部署,配置ldap
在处理 Ansible 相关项目时,我们经常面临繁琐的命令行操作,这对于不熟悉命令行的用户来说可能是一个挑战。此外,当项目规模扩大时,跟踪和管理多个 playbook 变得困难,同时缺乏对失败的及时通知和访问控制。这些问题催生…...
Java 泛型 T,E,K,V,?
泛型带来的好处 在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况…...
软件测试技术之地图导航的测试用例
外观测试 屏幕显示不能有花屏、黑点和闪屏,清晰度、亮度、颜色要正常。 检测所有按键都能起到相应作用,是否手感不良。 UI显示状态、颜色、清晰度、效果。 控制:放大,缩小,音量调节功能测试。 交叉路口查询测试&am…...
【C++】常用集合算法
0.前言 1.set_intersection #include <iostream> using namespace std;// 常用集合算法 交集set_intersection #include<vector> #include<algorithm>void myPrint(int val) {cout << val << " "; }void test01() {vector<int>v…...
css flex:1;详解,配合demo效果解答
前言 给设置了display:flex的子组件设置了flex:1;就能让他填满整个容器,如果有多个就平均 flex:1;是另外三个样式属性的简写,等同 flex-grow: 0; flex-shrink: 1; flex-basis: auto;我们就针…...
discuzQ安装
我们开始配置php,安装两个扩展。 在宝塔面板中,单击软件商城->已安装,查找已安装的 PHP 软件。 然后在 php 管理中,单击禁用函数,进入设置页面。 在列表中单击删除函数 putenv、readlink、symlink、shell_exec ,…...
深入解析NLP情感分析技术:从篇章到属性
目录 1. 情感分析概述1.1 什么是情感分析?- 情感分析的定义- 情感分析的应用领域 1.2 为什么情感分析如此重要?- 企业和研究的应用- 社交媒体和公共意见的影响 2. 篇章级情感分析2.1 技术概览- 文本分类的基本概念- 机器学习与深度学习方法- 词嵌入的力量…...
JVM的双亲委派模型
定义与本质: 类加载器用来把类文件加载到JVM内存中。从JDK1.2开始,类加载过程采用双亲委派模型,保证Java平台安全。 父类委托的定义: 一个类加载器在接到加载类请求的时候,首先不会去加载这个类,而是把这个…...
js中如何判断一个变量是否为数字类型?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐使用Number.isNaN()方法⭐使用正则表达式⭐使用isNaN()函数⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个…...
使用阿里PAI DSW部署Stable Diffusion WebUI
进入到网址https://pai.console.aliyun.com/里边。 点击创建实例。 把实例名称填写好,选择GPU规格,然后选择实例名称是ecs.gn6v-c8g1.2xlarge。 选择stable-diffusion-webui-env:pytorch1.13-gpu-py310-cu117-ubuntu22.04,然后点击下一步。…...
重庆市公路建设网站/深圳推广
题目链接 思路借鉴了类似1043 输出patest 对每个字符记录; 分别记录提供的每一个字符的每个个数以及实际需要的字符的个数; 运用循环,如果提供的字符串对应字符的个数>实际需要字符串的字符的个数,则为多余;记录和 …...
个人响应式网站建设/厦门人才网官方网站
很不错的hash 优化有两个方面:1.根据题目换一个更优化的算法 2.在算法运行过程中优化 这题除了暴力好像没别的办法了吧? 但是暴力也是有策略的! 到第i只牛特征为j的总数为sum[i,j]; 找到最大的区间(l,r]使得sum[r,1]-sum[l,1]sum[r,2]-sum[l,…...
拿网站的文章做外链/西安网站建设哪家好
dir()函数 中文说明: 你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。 当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。 首先,我们来看一…...
wordpress建站心得/网络推广平台有哪些公司
题意 TTT 组数据,每组数据给出一个 2N2N2N 个点的二分图,给出右边 nnn 个点的权值,设 f(S)f(S)f(S) 表示所有与左边集合 SSS 有连边的右边点的点权和。求 f(S)f(S)f(S) 的 gcd\gcdgcd。 分析 对于右边的点: 如果没有连边&…...
陕西省建设厅网站查询/网络推广的方法和技巧
53_ElasticSearch string field聚合实验以及fielddata原理 更多干货 分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(…...
互联网销售是什么意思/seo技术大师
目录 数据结构 Customer表 Transaction表 Store表 Review表 上传数据 创建目录用于存放数据 把本地文件上传到HDFS上 创建外部表 创建数据库 创建表 数据清洗 对transaction_details中的重复数据生成新ID 过滤掉store_review中没有评分的数据 找出PII (personal …...