码了六年代码,我为什么选择转岗做产品经理?

2023-10-21 16:20

本文主要是介绍码了六年代码,我为什么选择转岗做产品经理?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

过去一年,我完成了迄今职业生涯最大的一次职业转变,从熟悉的开发转岗到了陌生的产品。身边不少朋友都表示不理解,毕竟已经码了六年代码,为什么不继续深耕技术,而选择转岗。

其实我也认真思考过这个问题,但之所以决定转岗,是因为我发现自己遇到了职业生涯的瓶颈:随着年龄的增长,精力不如以前,而技术革新的太快,需要随时学习新的技术,所以我这才有了转岗的打算。

而最终下定决心转岗成一名产品经理,是我结合自身情况做出的重大决定:

  1. 相比每天持续敲代码,我更喜欢并擅长与人打交道

  2. 开发转产品具备天然优势

  3. 产品经理后期发展上限较高,甚至能为后期自主创业打下一定的基础

但是,转岗后的生活并没有我想的简单,有过挫败,有过迷茫,有过无助,但所幸都找到了解决方法。这一年来我的心态和思维都不断地在发生变化,所以,我也想将自己的转型过程分享出来,希望能够为计划或正在转型的朋友们提供一些参考。

技术优势,不言而喻

开发转型做产品经理,优势不言而喻。

首先是逻辑思维能力,至少我接触的大部分技术,逻辑思维都比较强。往往在实际的研发过程中,技术能够指出一些产品经理没有考虑到的边界情况以及逻辑漏洞。毕竟作为程序员,逻辑思维不强,做出来的功能一定是一堆bug,所以这也可以算是一种“职业病”。

另外一点优势就是懂技术的产品经理工作起来会更加游刃有余,一方面能更顺畅地和开发人员沟通,另一方面在进行设计产品时就会考虑实现某个功能的难度和周期,不会给自己和团队乱接需求。

正是因为有这两点优势,能让我在日常工作中不断积累信心,从而顺利度过转型的阵痛期。

转换思维模式

转岗后,我发现之前的想法过于简单了。在这一年中,我的思维不断地被打破、重组。总结起来,我经历了三次思维转变:工程思维——功能思维——产品思维。

       

当我的身份切换成产品经理后的一个月,我就发现自己陷入了工程思维的漩涡。为什么这么说,因为当我在设计产品时,第一出发点是技术实现层面,通过实现的难易程度去定义和设计产品。这么做最大的弊端在于脱离了现实,脱离了用户需求和实际场景,变成了为了实现而设计。比如,在设计一个电商项目时,我首先考虑的是高并发和支付安全等技术细节,很容易忽视了用户的体验,导致整体体验不太流畅。

当解决了这个问题后,我又进入了第二个阶段,功能思维。因为之前总爱站在技术的角度看产品,这时当我开始从用户的角度来设计产品时,我又开始陷入了一个功能设计的怪圈,始终纠结于产品功能的本身,而忽略了其业务目标和业务价值,导致我设计的产品实用性并不强。

而后的半年中,我开始逐步站在业务的角度去思考产品,我会认真考虑:在实现一个正确功能的前提下,这个功能背后的业务目标是什么,怎样设计才能保证最终产品是具备可用性的。于是,我进入了第三阶段,产品思维。

其实这个阶段才是一个真正的产品经理应该有的思维方式,需要在充分理解企业战略的前提下来完成产品定义和设计,并且以围绕业务场景来提升产品的可用性和易用性,从而提升用户的整体体验。

我用了整整一年的时间来转换思维,现在的我仿佛打通了任督二脉,对产品有了更深的理解。

摸索一条适合自己的产品学习之路

在这一年中,我慢慢摸索出一条高效的产品学习之路,我分为两点介绍,其一是就产品经理自身的专业技能而言,其二是积极与团队配合,共同推进项目落地。

  1. 深入业务场景

在规划产品时,产品经理需要对业务流程进行全盘分析,只有深入业务场景后,才能保证项目在后期运营中,能实现资源的最大价值。

比如,客户突然提出需要追加消息社区功能,仅因竞品中存在这个功能,但是你亲自去线下门店了解调研并访谈了大量用户后,发现目前最紧急且必要的功能是上线商城页面,如若还要加入消息社区,不仅会分散资源,还会影响上线进度。基于这个原因,最终你说服了甲方暂缓这个功能。

这就是产品经理在深入业务场景后,对产品功能提出的专业性建议。

  1. 锻炼自己更强的沟通与协调能力

这一点算是产品经理需要具备的软技能。众所周知,产品经理除了需要跟老板/甲方保持沟通外,还需要和设计、开发、测试等岗位协调配合。在这样的环境中,产品经理务必要锻炼自己的沟通与协调能力,成为推动项目成功落地的动力。

于我的经验而言,我发现将整个协作流程放在线上更能高效的推动项目前进,使每一步流程都更加具体、透明。使用专业的协作平台能很好地辅助我的工作,市面上的协作平台我都有尝试使用,最近用的比较多是摹客协作平台。通过借助摹客,不仅能让我清晰的了解当前项目的进度,而且能与UI设计师和技术的沟通更加高效简洁。从整体体验来说,摹客相较其它平台,功能更加全面。

 

                     

比如,当设计师完成UI稿后,我在线就能完成审核评论,而当设计定稿后,技术又能在平台中自主获取标注切图,整个交付流程在线上就能完成,对产品经理来说,能更快捷地推进项目前进!

最后

在这一年中,我成功地转型成了一名产品经理。技术带我入门,让我认识了行业的逻辑与细节,而产品拓宽了我的见识,带我领略了互联网的更多可能。我的产品生涯刚刚开始,我会继续在这条路上走下去,期待收获更多可能!

这篇关于码了六年代码,我为什么选择转岗做产品经理?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255530

相关文章

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Java强制转化示例代码详解

《Java强制转化示例代码详解》:本文主要介绍Java编程语言中的类型转换,包括基本类型之间的强制类型转换和引用类型的强制类型转换,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录引入基本类型强制转换1.数字之间2.数字字符之间引入引用类型的强制转换总结引入在Java编程语言中,类型转换(无论

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu