大厂技术 高级前端 Node进阶
点击上方 程序员成长指北,关注公众号
回复1,加入高级Node交流群
写代码觉得很无聊没有成就感说明了几点:
第一,对于你公司的业务来说,你掌握的技术已经足以应付,缺乏挑战性,没有新鲜感了;
第二,你参与开发的项目可能都是很普通的项目,比如几乎每个前端都写过的后台管理系统,无法给你提供成就感;
第三,你的工作可能是重复性的,每天都在写类似的代码,没有提供学习的机会。
其实大多数程序员的工作都是没有成就感的,每天都在写“无聊”的代码。不像电影中的黑客那样,敲几下键盘屏幕上“唰”的闪过一堆代码,就把目标系统给攻破了。
很遗憾,我们要学会接受现在的工作状态,然后寻找解决办法去改善它。最简单的解决办法就是找一个有挑战性的工作,研发非常酷的产品。但是大多数公司的业务都不复杂,换个别的公司只是换个地方做熟练工,所以这个办法不太现实。
这里分享一下我的一些方法,希望对你有所帮助。
减少写业务代码的时间
减少写业务代码的时间,这样就有时间去做自己喜欢做的事情。下面是我觉得比较可行的三个方法。
熟悉业务
熟练业务就是从源头出发,减少不合理的需求或不合理的需求变更。根据我多年的开发经验,大多数的产品经理和甲方都是不懂开发的。有时候他们提出的需求是不合理的,如果你不熟悉业务,你就无法找到合理的理由去拒绝这个需求或者说在这个需求上进行改正。等你把功能开发完成后,结果他们说不是他们想要的,还得改,这样就浪费了很多时间。熟悉业务可以让你们充分的理解彼此的想法,减少不必要的开发工作。
再提一句,熟悉业务是很重要的。特别是现在大环境不好,随时有裁员的可能。程序员一定要记住一点,技术是为业务服务的。业务做不好,技术再好也没用。所以,要想在公司立足,就得熟悉业务,让技术为业务赋能,让公司发展更好。
代码复用
代码抽象、封装是程序员的基本功,大多数的项目都会有很多重复的代码,比如有些模块可能有 80% 的重复代码,可能有些模块只有 50% 的重复代码。我们要学会封装这些公共代码,并提供一定的配置项或插件机制,以适应不同的业务需求。
详细的就不说了,网上一堆文章讲这个的。
低代码
我说的低代码不是指市面上的低代码平台(拖拉拽生成页面效率很低的,不适合开发),而是指我们可以通过配置文件来生成代码,或者通过代码生成器、模板引擎来生成代码。这样可以大大减少我们的工作量。
举个例子,后台管理系统中的页面,大多数结构都是相同的,例如下图:
从图中的结构来看,可以把页面分成四个区域:
1.查询区域2.按钮区域3.表格区域4.分页区域
然后我们可以写一个代码生成器来生成这个页面。例如可以通过配置文件来生成这几个区域,并且这些区域是可以根据业务需求来配置的。比如某个页面不想要查询区域,只提供展示,这时可以把查询区域的配置项设置为 false
。然后每个区域对应的代码都可以封装为组件,这样我们就像搭积木一样,通过配置文件就能生成一个页面。并且还需要写好不同区域之间交互的胶水代码。比如添加了分页器,那么就得处理好分页器和表格之间的交互,点击不同的页码时调用接口去请求数据。
写出这样的代码生成器之后不仅能提升自己的技术水平,还能提高自己摸鱼的时间,让你疲倦的心灵得到更好的休息。
提升自己的水平
每个公司几乎都有一个或数个类似于技术专家、架构师的角色存在,他们的日常任务就是解决一些技术难题,调研新技术,提升团队的技术水平和开发效率。这样的角色平时是很少写流水线业务代码的。但相应的,他们承担的压力和风险也很大,因为他们的技术水平和决策直接影响到整个团队的发展。
要想成为技术专家,就得比别人多花时间学习。为什么有人是专家,有人是普通程序员,就是因为他比别人懂得多、比别人能解决更多的困难问题。
任何职业的梯队都是金字塔形状,技术专家级别的人是很少的,并且大多数程序员都没有成为技术专家的决心和毅力。所以你只要比别人多学习一点,多思考一点,多动手一点,你就能成为技术专家。
如何提升自己的水平网上已经有相当多的文章和教程了,我就不再赘述了。我觉得要成为技术专家,最重要的是两点:自学能力和决心。
自学能力是你能根据自己的水平去找到适合自己的学习资料,遇到问题能自己去搜索解决。而不是做伸手党,遇到什么问题都问别人,这样的人是成为不了技术专家的。
决心是你要有一个明确的目标,然后为之努力。而不是嘴上说我要成为技术专家,然后下班就打王者,打 LOL。你得把你的时间都花在学习上,这样才能提升自己的水平。每个人都想要速成,所以那些 XXX 天精通 XXX 的课程才会有市场。但这是不可能的,如果真有那么简单,现在市场上肯定是一大堆技术专家了,但现实不是。所以,要想成为技术专家就得比别人多花时间,你的时间花在哪你的成就就在哪。
等你成为技术专家了,你就会发现你的工作不再是写业务代码,而是解决技术难题,提升团队的技术水平和开发效率。公司需要你去解决更有挑战性的问题,这样你就不会觉得无聊了。
Node 社群
我组建了一个氛围特别好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你对Node.js学习感兴趣的话(后续有计划也可以),我们可以一起进行Node.js相关的交流、学习、共建。下方加 考拉 好友回复「Node」即可。
“分享、点赞、在看” 支持一下