------迈开脚步,再长的路也不在话下;停滞不前,再短的路也难以到达
去年部门团队活动的时候,跟业务部门的几个同事一起打麻将,活动结束的时候顺便就一起走了。因为跟他们之前不是很熟,所以路上聊天,就分别聊了下各自的工作。
我对他们的工作内容还是比较了解的,但是他们对我的工作内容不是很了解。所以当我向他们介绍我们组做的网管系统时,他们表现得很有兴趣。特别是当我跟他们聊起网管系统的各个模块分别用不同的语言实现的,以及每个模块之间怎么通信的,使用了些什么技术之后,他们纷纷感慨,还是我们组比较有意思,能够接触到许多不同的东西,不像他们业务组,每天的工作就是写业务逻辑,写来写去就那些功能,有时候觉得挺没劲的,也很担心以后的发展,因为除了写业务逻辑,其他的都不会。
其实对于他们困惑,我是深有体会。之前我在终端组的时候,做的工作也跟他们现在的工作差不多,主要也是写业务逻辑加做界面。虽然在工作的过程中想多了解一些知识,但是底层的一些功能模块,我们连代码权限都没有,更别提有机会去了解了。一个软件做了两三年,写来写去,就那些逻辑,所以做了两三年后,我也厌倦了,才转到平台组来的。
现在的软件开发方法,基本上都有明确的模块划分。比如我们产品线,就划分有驱动模块,网络通信模块,音视频模块,日志模块,业务模块,各种支撑模块等等,以及对这些模块的各种封装模块等。部门划分基本上就是根据模块划分来划分的,比如驱动模块主要就是驱动组负责,网络通信模块有网络媒体组,音视频模块有媒体控制组等。每个组负责自己功能模块实现,更新和维护,同时提供接口供其它模块使用。
对于上层业务模块来说,他们的工作就是编写业务逻辑代码,调用驱动,网络和音视频等这些模块提供的接口,完成相应的业务逻辑。业务模块的工作就像搭积木,驱动,网络,音视频等这些模块就是积木,业务模块的工作就是使用这些积木搭起一座房子。
所以对于业务模块的同事们来说,虽然他们可能很想了解驱动,网络,音视频等这些模块的技术和实现细节,但是他们接触不到,因为这些模块不是他们负责的,他们甚至没有这些模块的代码权限。他们只需要会用这些模块提供的功能就可以了。所以业务模块做久了,特别是当你把里面所有业务逻辑都弄懂了,把所有的模块都用会了之后,后面就是重复劳动,新鲜感就会消失。
我稍微总结了一下,业务模块的工作有以下几个特点:
1、业务模块对个人技术的提升作用有限
随着时间的推移,业务模块会变得越来越复杂,而不会变得越来越深入。换句话说就是,业务做久了,你技术上不会有很大提高,但是你的工作会变得更加繁杂。
2、业务模块相关的知识不具有通用性
比如说你在一个做视频会议的公司做了几年视频会议业务模块后,要跳槽到一个做互联网公司去做互联网的业务模块,那你之前的几年视频会议工作经验是没有用处的。因为互联网公司的业务模块跟视频会议的业务模块是完全不一样的,你必须得重新开始学习。但是像驱动,网络,音视频等这些技术知识,任何一个公司都一样,这些技术就具有很强的通用性。
3、业务模块的相关知识是不可以累积的
像驱动,网络,音视频这些技术你研究得越久,你的能力就越强,你就越牛,你就越值钱。所以驱动,网络,音视频这些技术知识是可以不断累积的。但是对业务模块来说就不一样了,除非你一直从事一个行业,一旦转行,你之前的知识就全部作废。
4、业务模块做久了,你的竞争力会变弱
业务模块相对来说进入门槛比较低,新人学习起来也比较容易上手。想象一下,一个工作一年的新人和一个工作五年甚至十年的老人都做业务模块,哪个更有竞争力?当然是工作一年的新人呀,因为新人成本低呀。你虽然比新人更熟悉业务,但你对工资的要求也高呀。所以,现在在很多公司,有的老人在培养新人的时候可能就会有所保留,主要目的也是为了保持自己的竞争力。但这毕竟不是长久之计,你懂的,新人迟早都会懂。所以做业务久了,你的性价比会降低。
业务模块工作的这几个特点,看起来都是不好的方面,其实不然,要看你想走什么路线。如果你是要走技术路线,那业务模块的工作确实是不适合你的。但如果你要走管理的路线,那这个特点对你来说都没什么影响。所以感觉工作没有新鲜感,枯燥乏味的最根本原因不是工作本身,而是对未来自己要走的路,对自己的职业规划不明确导致的。
现在的软件公司基本上都会提供技术和管理两条职业发展通道,如果你技术超牛,你可以从程序员做到系统分析师,一直做到技术总监。如果技术方面你信心不足,可以选择去做项目经理或者是跟业务强相关的一些职位。所以选择做什么样的工作,跟你的职业规划是息息相关的。
如果是要走技术路线,那么就不适合做太久的业务模块工作,就需要尽可能多的了解一些软件开发的相关技术和组件,或者为自己找准一条技术方向,比如说存储技术,网络技术,音视频技术,驱动相关,linux内核技术等等。然后持续研究下去,成为某一方面的大牛,这样才会使自己一直有竞争力。
如果走管理路线,那么前期是可以多做做业务模块的工作,尽可能多地了解业务。同时对项目管理相关的知识和技能也可以慢慢地学习起来。这样在时机成熟的时候,就可以转去做项目管理。
对于年轻人来说,如果目前的工作是做业务模块的话,还是不建议做太久。在对业务逻辑了解得差不多的情况下,可以换个岗位或者干脆换个工作,尝试一些其他的技术,扩大自己的视野和知识面。网上普遍的建议是在30岁以前可以多折腾些,这样可以发现自己真正的兴趣所在。然后再找一条适合自己发展的线路,努力走下去。
你找到自己的路了么?