一、概述
大环境恶劣,到处出现裁员的信息,各种人员优化、降本增效的措施不断上台,人心惶惶。日常工作对开发者也提出了更明确、可量化的考核指标,包含代码提交量、需求完成数等等。这些数据,是中层领导非常需要的数据,是向高层领导汇报和说明开发投入的必要性依据。
但日常工作中,只有编写全新的业务模块,才有可能有大量的代码产出,如下几种场景并不会产生很多代码量。
- 性能优化 也许一个月只写几百行代码,但也是很高的产出。
- 功能修改/完善 解读原有的逻辑需要大量的时间,却改不了太多代码。
- 配合测试 业务逻辑复杂,需要很多时间沟通业务测试场景。
- 生产问题排查 没有比生产更重要的时间,优先级第一。
考核指标没有涵盖这些,而这些也没有那么容易被量化。所以,按照考核的要求,这些工作就不会成为日常工作的重点了,哪怕是重点,心理也会抗拒完成。
二、思考
从开发者的角度来看,企业仅仅是增加了考核指标,并期望以此来促进开发者的工作效率。但是实际的工作内容并没有发生变化,考核指标的调整,只会导致开发者对工作的重点进行调整,原本重要的优化、需要互相协作的事情,反而变成了大家都不愿处理的事情。大家倾向于做代码量较多的工作,比如开发新的业务功能,日常维护可能就会甩给其他人处理了。
因为沉重的生活压力,我一直在思考自己可能失业后的种种工作方式,曾有一段时间,我看了较多独立开发者的工作方式,也是我向往的生活方式,想想能离开这喧闹的城市,回到家乡远程工作,那是多么美好。但是独立开发者的方向大部分都需要全栈模式,且很多都是nodejs的岗位,而我一直主要从事JAVA的开发,相匹配的工作机会极少。
通过一些了解,nodejs技术相比JAVA更快捷,对于独立开发者来说,更快的技术意味着更低的成本,这不就是降本增效吗?国内大部分企业都运用了JAVA作为后台技术,虽然JAVA生态庞大且成熟,但是有一个很明显的劣势,开发速度较慢。不管项目大小,后台基本都是JAVA开发,在此环境下,对于一些实验性/创新性的项目,是否可以采用更快的开发部署技术来尝试,降低试错成本,毕竟很多产品,基本没有业务。
三、行动
服务端的技术,除了JAVA,还有很多其他语言技术,比如nodejs、go等。我本人对js比较熟悉,学习nodejs不仅容易上手,对于我日常工作也有帮助,说不定以后能实现我成为独立开发者的梦想,因此我选择了nodejs。
废话不多说,打开B站,搜索nodejs课程,选了一个上传年份较新的学习视频开干。
希望有更多的nodejs大佬带带我圆梦。