首页 > 数据库 > 数据库开发技术 > 代码、功能、系统、产品、生态

(题图:from unsplash)
一个午后,突然冒出题目中这几个词,赶紧写下来,犹如灵感一般,毕竟之前从未出现过,莫非有所觉醒?鉴于自己某种程度也是一个井底之蛙,目光短浅,怕说不清楚,但又不吐不快,于是有了这篇文章,个人浅见。
做一件事之前,我喜欢了解它的背景,背景清晰就可以知道要做的事是什么,有什么作用,什么定位,不然做起事来知其然不知其所以然,心里不够明朗,做着也没有方向感。
做技术也一样,把背后产品架构,业务逻辑捋顺了,写起代码、做起功能来才更有目标性,有时候还能去看看竞品的情况,借鉴学习。抛开业务谈技术有些虚空,技术附着在业务场景中才能发挥应有的效应。所谓空谈技术,耽误创业,进入正题。
举个烂大街的小故事。有三个人在砌墙,有个人路过,问第一个人在干什么,他回答说在砌墙;问第二个人,他说在盖房子;问第三个人,他说在建设一个大剧院。
映射到技术人的工作日常,我们也可以从小故事中做个类比,代码、功能、系统、产品、生态。你可以做个简单的小测试,问周围朋友、同事目前正在从事的工作,就可以得到他们目前的关注点在哪里。
有个鸡汤文是这么说的,你的关注点在哪里,你的未来就在哪里!鸡汤有多浓,喝的人才知道。
从演化的角度看,代码粒度最小,一层一层叠加整合,逐渐形成上一个层级。简单看,是整体与局部的关系。深度看,是格局大与小的问题。看的大看的远看的全,即便从最低层的工作作起,心气也不一样,因为目标格局不同,体会过程自然也不同。
仅盯着编码实现,你是个小开发。盯着功能,你是个中高级开发。看到的是整个系统,这是项目经理的视角。看到的是一个大产品,多个子系统,这是技术总监、项目总监、架构师、部门经理的视角。看到的是一个生态,你就是一个老大。格局的提升,就是从小处积累,边走边修正,不断突破限制。眼界高了,就能看到更高层次的东西。细细想来,这几个词不仅代表着一个软件一个产品的生命周期,也预示着一个技术人的职业生涯的高低(怎么定位自己在团队里的角色)。
如果你的工作目标是写完一个又一个功能,很多技术确实是在做这样的事,即便如此,也应当跳出来去观察工作的整体是什么样?有没有与外部系统交互?系统在实际业务中的定位是怎样?这里来看下外包行业(如何从传统软件开发顺利过渡到互联网技术开发),外包、外派人员经过大大小小的项目历练之后,大多数人收获缺很少,更多的是一些浅层次的业务理解,小功能点的积累,这些经验着实很鸡肋。
好的开源软件,其生态都很繁荣,比如NodeJS,比如Java。商业世界的巨无霸生态也相对完善,Apple生态,Google生态,阿里生态等等,生态繁荣的背后都是一个一个闪光的产品,一个一个的协作良好的系统,功能稳定强劲。
牛逼的人,能高屋建瓴,能脚踏实地,这种游刃有余也不是天生自带,说回到技术人员,这与从业经历也有关系,从业时间长的老鸟更容易跳出局部把握整体,入行没几年的新手反而更容易陷入具体的事务无法自拔,拽也拽不出来。这也不是绝对,针对老鸟,与年龄相关的阅历与经验是必须的,达不到就是瓶颈。针对新手,跨越年龄的阅历与经验反而更难得。
怎么做才牛逼,这事就有点复杂,我目前还处于二逼阶段,搞不好别人认为是傻逼也不一定,追根究源是我认为应该是心智、知识结构的问题,还好后天可以弥补,还可以学习,这并不是件让人绝望的事。

扩展阅读:
基于SpringBoot的Web API快速开发基础框架

长按2秒,识别二维码,关注我
原文作者:MavenTalk;如有侵权,请联系管理员删除。