停下来思考
软件工程师成长过程中,学习编程语言、算法、设计模式、系统平台、软件库、工具等等,加上行业技术的快速发展,可谓是学无止境。面对无穷无尽的技术更新,很多软件工程师会陷入一个思维 “不能停下脚步,停下来就等于落后,只有跑在技术前沿才能活下去”。
真的是这样么?我思考了很久,其实不尽然。跟上技术更新,跟上潮流,很重要,但同时还需要在重要领域和技术点上进行沉淀。而更为重要的是,偶尔需要停下来思考一下,我们在做什么,为什么而做?找到我们产品的意义和价值。
因为存在问题,从而诞生了软件(产品)
我们开发的每一个软件、做的每一个产品,其本质都是为了解决某一个或是某一类问题。换个角度来看,因为存在问题,才诞生了我们的软件和产品。不清楚为了解决什么问题,相当于失去了前进的方向,那么我们做软件和产品,就是无的放矢。只有弄清楚了问题的本质,才能赋予软件意义和价值。有价值才有存在的意义,否则做出来也只是废品。
虽为“造物者”,却造“无用之物”
从某种角度来看,软件开发是一种创造行为,而且具有很快的反馈特性。一段代码通过编译、运行能让工程师快速获得满足感。所以在软件开发过程中,这种创造性、快速反馈特性,会让很多软件工程师,不自觉的陷入一种假象,有一种可以掌控一切的感觉,会让人沉迷于这种“造物者”般兴奋中,从而无法自拔。
软件工程师常常在技术的海洋里越陷越深,无法自拔,脱离了现实。在这种状态下,所做的产品,只是为了满足自己的技术幻想,虽是造物者,但却造出了无用之物。
沉浸于技术中,可以让人兴奋、激动,激发出工程师的创造力。这很重要,但是不能忽视现实。在现实需求(意义和价值)的基础上,构建出我们的想象,才能创造出真正的产品。
软件开发三阶段
- 入门阶段,细节
技术底子薄,经验不足,更多的精力是放在细节上,往往会为了实现某个函数,某一段代码,而投入大量的时间和精力;
- 进阶阶段,系统
技术提升,经验积累,对于细节的实现已经不需要花费太多精力,更多的是考虑软件的复用、扩展、跨平台,视角上升到了系统层面;
- 大师阶段,意识
大量的软件积累,设计思想,已经可以很好的把握大型软件的框架设计、功能实现。意识的提升,变成了进阶的核心方向,也是质的变化。这是一个从术到法的变化,从我到他的变化,从个体到环境的变化。
不再满足于技术给自身带来快乐,更多的考虑给他人带来快乐,为他人设计,为他人考虑。
产品意识,用户体验
产品意识,实际上就是利他意识。“他”就是用户,就是遇到了问题,陷于某种困难和痛苦之中的人群。而产品就是为了解决这些问题,帮助用户度过困难,脱离痛苦的一种事物。
好的产品可以助人解脱,坏的产品反而给人带来苦难。
只要将意识提升到 “我不入地狱,谁入地狱” 的高度,把困难留给自己,把简单易用送给用户,才能将用户体验提升到极致。
期望
我们很多的工程师都处于第二个阶段,沉浸于软件的海洋中,意识无法得到提升和进化。希望众多和我一样热爱软件开发的程序员们,在开发软件和产品的同时,能够具备一些产品意识,让软件和产品更加有意义和价值。
标签:工程师,意识,技术,用户,产品,软件 From: https://www.cnblogs.com/dongdaddy/p/16906519.html