在学习编程的时候,你是要做将军还是要做元帅呢? 其实编程是一个比较大的话题,在入门编程的时候,会有那么几个深夜,坐在电脑前,看着电脑上各种版本的hello world,思考自己到底在学什么,在学各种版本的hello world嘛?哈哈,当然不是啦,进入编程的世界,觉得选择了程序员这个行业,但是程序员也分好多种,如果在入门的时候我们就选好我们要走的方向,那么学习的路途就会轻松很多,因为目标很明确。
简单的来说,从事程序员分为两个方向,一个是统御全局,做个元帅,定一国者为帅嘛,这个方向发展到后期是不怎么写代码的,为什么呢?因为现在的产品,比如微信,不是光写一个手机app就能用的,还要写服务,需要好多程序配合起来,要是做这个方向,那你就是李云龙,需要指挥各部门的程序员配合,需要设计整套产品的架构,就是所谓架构师。
那么另外一个方向是什么呢?另外一个方向就是死啃技术,当然对架构也是知道的,但是更精于技术细节的东西。就像打仗一样,架构师要指挥各部队的排兵布阵,但是技术大牛呢是干什么的呢?就是在技术上非常厉害,就好比打仗时,需要争夺要塞,但是一般的程序员肯定是不行的,那么需要谁上呢?就是这种技术大牛,技术骨干,技术骨干说能打下来,那么方案才能通过,技术大牛说不行,那就要换方案。这个方向呢,就是要做程序员里的特种兵。
说到这里,可能有些朋友觉得,架构师也没啥嘛,就是弄个方案,很多东西都是行业成熟方案,直接拿过来用就行了,其实不然,要做好一个架构师,必须对技术细节有足够的了解。好的设计,能在整套软件的设计层面上避免bug高发的地方,也能让广大的一线程序员少掉几根头发,还便于后期维护,不会出现杀了程序员祭天的情况。
当然,肯定也会有人觉得,技术骨干不行啊,你再牛逼,不还是得听架构师的,其实不然,很多时候,架构师需要迁就技术骨干,因为一套方案做出来,是要交给程序员去实现的,那么最难的部分,肯定就得技术骨干来弄了啊,技术骨干都不会的方案,对于公司来说,那就是shit!!!
其实,在很多小公司都是技术骨干兼职架构师,而且也没有架构师岗位,技术骨干作为一个公司的技术最强者,很多时候,能影响公司的决策,但是也有很多技术骨干慢慢都转行做架构师了,毕竟架构师的头发多一点,而且现在国内的编程环境不是很好,程序员比较辛苦,能坚持在一线写代码的技术大牛很是比较少的。
如果布局谋篇更让你有成就感,那么选择架构的方向还是很好的,那就需要了解很多的新技术,学习架构思想。如万马军中直取上将手机更让你有成就感,那么还是选择做一个技术骨干吧,只需要深挖自己喜欢的技术方向,就可以一招鲜吃遍天。