在程序员的日常工作中,关于技术重要性的争论从未停歇。有的人觉得技术不重要,认为技术只是工具和手段;而另一些人则坚信技术的重要性,认为它是推动项目成功和个人职业发展的关键。在这样的争论中,笔者尝试着去探讨出现这两种论调的原因,并提出自己的观点。
认为技术至关重要的人通常是刚工作几年的研发人员。工作前几年,环境对我们的要求就是做好编程交付和性能优化类技术工作,而我们正是通过不断学习各种编码技巧、代码优化和研发效能工具,提升个人技术能力,通过求职面试和内部晋升的。所以形成了只要不断提升技术,就能升职加薪的认知。
相反,认为技术不重要的人通常是工作年限较长的资深研发人员。随着工作年限的增加,环境对我们的要求不再只是"写代码"、"做技术",我们也需要根据业务做好技术规划和项目落地,因此这个阶段我们会花大量时间去深入了解业务,并做好项目管理。正是由于这种经验的积累,我们渐渐形成了一种观念:技术只是达成目标的工具和手段,不再是重要的因素。
笔者认为,对于大多数技术人员来说,技术在任何阶段都是重要的,关键在于合理分配精力。一方面,技术是我们生存的基础,只有不断精进技术,才能保持竞争力,因为技术的不断提升是我们求生存的必要条件。另一方面,随着工作经验的积累,我们需要更多地关注业务理解和项目管理等非技术类工作,这样才能实现个人的职业发展,因为在职场中,除了技术能力外,对业务的理解和项目管理等能力也是促进个人职业发展的关键因素。