一、程序员为什么会成为工具人
序号 | 因素分析 |
1 | 技术从来不是解决用户价值问题的那个人,产品才是解决用户需求痛点创造价值问题的那个人 (技术只是服务于产品的工具,程序员永远都是在做最后一公里的搬砖;一直都是在做确定的落地工程,而不是亲自深入现场对接业务探索发现问题、分析问题、解决问题【恰恰这一块内容是分析价值、产生价值的重要步骤】,体现在现实生活中就是真正解决问题的人是产品经理,因为他一直在做的就是发现、分析问题出方案,然后把确定好的方案内容原型图给你,程序员只是参照原型图去执行) |
2 | 一直被安排在做具体的事,而没有真正的面对业务 ( 程序员每天都忙于处理被安排到的具体琐粹事情【比如:重复的在做CRUD等工作;今天让你做查询、明天让你做搜索、后天让你做报表】你永远没有业务、行业聚焦点;永远不知道自己是解决谁的什么问题,对业务产生什么价值,离真正创造价值的业务很远) |
二、破除工具人的一些思考
社会运行核心是建立在【资源有限】这一现实基础之上的,有限则意味着不能随意获取到,这就要求我们需要想方法去主动去争取(如:对外需要自己主动获取到资源的相关信息,发展趋势等相关信息;对内可以从提升自己的竞争力【熟练的掌握相关技术、工具使用等相关生产资料】二者结合才能获取到相对高产的资源量);若只是单一的掌握相关技术工具使用,只是依靠伯乐发现自己的价值是可遇不可求的(这通常就是我们所说的运气和贵人);程序员能够掌控的是自己更需要自己去主动去接近资源,了解资源信息,掌握资源动向,才可更好的获取资源。
2.1、持续学习和多元技能掌握
在当今这个21世纪的社会,是一个信息化的社会,不止是各行各业都在发展突破,并且迭代发展的速度出奇的迅速;在想着只靠一招鲜,吃遍天的思想已经很难再社会中立足了;尤其是在当今的互联网、物联网高速发展,技术迭代更新更是一日千里,对于程序开发从业人员来说不断学习新的技术、工具和方法论已是职业生涯中不可或缺的一部分,需要一直保持持续学习的能力;这种持续学习的能力不仅是体现在【相关的新技术、新工具内容的掌握学习;同时更主要的还包括在了解相关行业趋势、客户需求和技术发展方向这3个维度】,保持这种持续学习的能力不仅能够提升程序员的职业竞争力,同时帮助程序员更好地理解自己的工作能够如何服务于更广泛的业务,更好的达成想要目标。
掌握多元技能(如:计算机视觉、人工智能、大数据、机器学习、云计算等技术方法),可以让程序员有更广泛的职业发展选择空间,同时可以更好的解决业务问题(往往在一个方向上不好解决的问题换一个方法和思路就能够迎刃而解);除技术技能外,还需要掌握项目管理、团队领导力也是多元技能的一部分(具体可以体现在:胜任项目经理、技术经理、创业者等角色)。
2.2、直面业务理解业务
程序员除了在掌握好自己的技术方面能力外;很重要的一个内容就是需要直接面对业务,真正的理解业务内容(体现在:需要了解自己所在行业的业务模式、领头行业的模式内容;面对客户了解客户需求进行对应的分析,结合自己所掌握的相关技术给出较好的解决方法;同时还要了解产品定位,根据产品定位在有限资源支持下达到较好效果);
直接业务理解业务的好处是:程序员不仅能够对业务有整体统一的认识,同时更能在设计和开发过程中提出有价值的建议,还能更好写出符合要求的代码达到优化产品功能,增强用户体验效果;同时也能够提升自己的价值(即不仅能写代码,同时能够将技术与业务需求结合,找到一条合适的发展路线,可以更好的为产品研发升级提升用户体验)。
2.3、良好的人际交流沟通
目前的软件开发,单靠一个人是很难完成了(这主要体现在:1、市场是瞬息万变的,需要争抢时间,都是希望在尽可能少的时间内出成果抢占市场;2、一个人的精力有限,而现在的软件产品涉及的技术内容很多,全让一个人来做对人的要求太高,人员不好招,分工合作更加的高效和安全),体现在【对内需要团队一起协作,团队成员有效沟通】,【对外向与客户协商需求和非技术背景的人士用大白话解释相关技术问题等工作】,良好的沟通和人际交流能力对于产品研发和项目的成功至关重要。
良好的人际交流沟通好处是:让程序员能更顺畅地在团队中工作,提高团队的协作效率,减少误解和冲突,更有效地向利益相关者传达想法和需求;良好的人际交流能力还有助于建立人脉网络,对职业发展具有长远的积极影响。通过广泛的交流,程序员可以了解行业动态、寻找职业发展机会以及获得宝贵的反馈和建议。
三、建议阅读书籍
软技能:代码之外的生存指南
软技能2 软件开发者职业生涯指南