“程序员技术VS业务,哪个更重要”这是个很多学员都关心的话题,有人觉得“技术当然重要,没有技术根本做不了事。技术高,还可以炫耀,出去找工作轻轻松松,是不是很cool
?”
也有人觉得“对程序员来说,业务就是做某一个系统的具体流程,方法!如果不懂业务,就算你技术再牛叉,又有什么用呢?你做不了任何实际的开发!有力气却没地使啊!”
知了姐觉得啊,业务和技术都非常重要,只是不同的阶段对两者的平衡和选择是不一样的!
在职场初期,基本都是从技术角度去思考问题,如何快速提升自己的编码能力,在公司能稳定是首要目标,因此大部分时间都是在做基础编码和学习规范,这时可能90%的心思都是放在基础编码上,另外10%会学习环境架构。
一般1-2年后,就会开始独立负责模块需求开发,需要自己设计整个代码思路,这里业务就会进入视野,要懂得业务上下游关联关系,学会思考如何设计代码结构,才能在需求变动的情况下代码改动较少,这个时候可能就会放20%的心思在业务方面,30%学习架构方式。
3-5年这个时间段,是解决问题能力提升快的时候,因为这个阶段的程序员基本都是在开发核心业务链路,例如交易、支付、结算、智能商业等模块,需要对业务整体有较清晰的把握能力,不然就是给自己挖坑,这个阶段要对业务流付出大量心血思考。
成功的程序员到后来通常分为三种:
一种是技术专家。这种人,技术非常牛,对业务接受能力也比较强,但是他们只能按照别人的指示来开发,在技术上能创新,但是在业务上却少有自己的看法!他们成了,开发的核心,技术骨干!
第二种,就是架构师。他们可能实际编程能力不如种,但是他们对业务的领悟能力很强,对代码也许没有太多的激情,但是对一个新事物,他们能迅速理清脉络,而且,善于把实际问题转换为计算机问题!往往能从全局来看待一个项目!
第三种,就是N多人向往的PM。其实项目经理,远远没有看起来那么轻松,不过确实必须要承认,他们往往善于和人接触,可能不了解系统,但是却不能不了解客户!他头脑里非常清楚,客户想要的是什么!也非常善于发现自己手下的员工都各有什么特长,善于做什么!
所以技术与业务都重要,相辅相成,都是无可替代的。二者的分量平分秋色,只是需要在合适的阶段做出合理的权重划分。