近几年的工作心得
从事互联网行业已经有3年之久,这个行业从才开始学习作手做项目的时候。 感觉每天很充实,不停的学习新的知识,掌握不同的知识点。
从第一次写 Hello word,到自己做一些简单的游戏,爬虫,管理系统。 一路走来总感觉这个行业的知识体量是非常庞大的。
真可所谓门槛不高,但天花板太高,每个人能接触到的技术层次也不各不相同。但开源的社区提供了非常重要的支持,在开源社区中,总能找到新鲜技术点。并且想要提升技术实力,自主构建项目很重要。从自己第一次设计后台系统时,凭借自己学习到的知识,搭建出自认为效率不错的,结构优秀的架构,感觉还是很有成就感的。
但随着工作机遇,工作经历越来越多,发现原来自己的技术栈还是存在一定局限性,需要更多且各个方面的知识补充。从安全,可靠,可用,高性能,系统体系,部署方案等方面进行设计。
但后面的还会继续遇到技术瓶颈,并且瓶颈却往往不能快速突破。
为什么呢?因为想要突破再次瓶颈已经不是只看一本书,一个专业领域知识能够弥补的。随着技术点不断增多。系统架构越发复杂。运用在系统中的技术种类越来越繁多。系统可以无限制的横向扩展,并更新系统架构,而一个人的精力却是有限的。也就是经常可能是行内里人们说的,学不动了。容易被下一代人所替换,而新人,更年轻,学习能力更好。但个人觉得,那是因为没有自己的技术核心,在达到了某一些高度,确实需要日积月累的技术沉淀才能总结出来的东西,而年轻人虽然可以进行开发或者设计,但思维的高度肯定还是有所差别。
其实这是非常正常的现象。在达到某一个技术高度后,想要继续提高自身知识水平,光是某个块的技术提升是很容易遭到瓶颈的,需要开辟新的领域学习,如数据库,学习关系形数据库的存储引擎实现,非关系形数据库,存储引擎种类,这些就要花费不少时间。毕竟这也是原本就是一个专门DBA职位的知识体系。并且数据库可以说是系统的最根本的一部分,这些知识也是必不可少。再者系统应用架构,软件效率,软件可扩展性直接取决于此系统设计人架构师的知识储备与实战经验。架构师的水准决定着系统应用软件的开发走向,而架构师需要掌握的知识储备可以说是非常之多。宏观整个系统部署与扩展,docker容器的每个参数带宽,内存,cpu,硬盘速率,jar部署,和细微到每个接口的定义,参数校验,数据库字段长度存储字节,分库分表策略,异地多活容灾,安全设防,数据传输加密等。
又者产品经理。这个职位算是软件行业中,起到领头作用。软件在市场的竞争力,用户交互性,软件的种类定位,软件的未来发展方向,能解决社会的什么问题,整体软件的流程与所有功能的设计都是由产品来决定的。一个合格的产品经理并不是单一只会根据市场情况,客户需求来确定功能点。而是要根据系统效率,数据影响,数据库表设计,软件体验度等多维度来进行评估功能是否有必要添加。就算增加功能或调整功能点,也有可能不能满足大部分人需求,而只满足部分用户需求的情况产生。
最后项目经理,负责整个软件开发部门的协调。任务分发,任务评估。代码质量把控,掌控项目整体的实时进度,项目的各种短板,长处都要做到心中有数。
这些每一个职位所需要的知识量,都不是一个简单的学习流程。更像是一种经历,人生的经历。
而且到了一定的技术程度,你会发现你已经从一个开源软件使用者。渐渐成为行业中间件架构解决方案的软件开发者之一。
到最后,回过头来看看自己的经历 ,回想一下是什么支撑着自己在这个行业不断前进,是对知识的渴望吗,还是自己的一腔热血。