返回

闲言碎语第三期:面对不同职业的区别我们该如何选择?

闲谈

为什么有些人即使是在同一个行业也会有不一样的表现,有人能成为架构师,有人只能做一些机械劳动?有人工作时间长了还觉得自己成长的很缓慢,而有些人却如同坐了火箭? 面试中,初级工程师只谈技术,而高级工程师在谈需求,谈目标,谈实现手段,谈项目经验,谈时间安排,甚至会和面试官讨论产品。 其实很简单,好的工程师注重的是需求,而差的工程师只看重眼前的技术。 我先澄清几个概念:1. 程序员/软件工程师。我们平时常说的程序员这个称谓其实随着我们的行业越来越正规化,越来越专业化,慢慢被软件工程师所取代了。 我一直认为程序员不等于软件工程师。程序员只是实现了“软件”这个任务,而软件工程师是实现“满足需求的软件”这个任务。 也许有人会反驳,程序员也可以实现“满足需求的软件”这个任务,当然可以,但那是因为软件需求太低了。 就如同一个人生病了,你找了一个熟练的护士,护士能够给你打针输液。但是你去找一个医生,医生同样会给你打针输液,甚至还会对你的疾病进行系统治疗,指出你的病根,给你开药,告诉你以后应该注意什么,而护士通常并不会告诉你这些。 打针输液其实就是“实现软件”的过程。诊断、治疗、预防其实就是“满足需求”的过程。2. 架构师。说到架构师,很多人会误认为,架构师就是计算机方面懂的多的人。或者懂开发、懂设计、懂系统、懂运维的人。其实不是。架构师的特点是在某些计算机方面很精通,并且精通的方面必须是计算机的某些核心要素。 架构师要做的不是去深入了解某个方面,而是站得更高去分析全局,在各种需求、各种限制、各种资源之间进行权衡,然后进行任务的合理拆分,降低整体项目的成本,这是架构师要做的。 我们会看到,无论是在软件开发的哪个岗位上,其实都可以衍生出架构师,就如同我们去医院,挂外科就能遇到外科医生,挂内科就能遇到内科医生。3. 技术大佬。在技术领域,因为软件技术应用广泛,所以技术的相关岗位需求也极高,导致了很多计算机行业的人,尤其是一些经验丰富的技术人员,都很容易进入技术管理岗。 时间长了,很多人都会成为技术大佬。但是,对于这些人,我们一般很难给出一个标准的职业定位,甚至是技术架构师这个名称。 技术大佬的特点是他们总能够在某个技术点上给你带来一些不一样的东西。 比如我们很多时候会问人家,某个技术点是怎么做的,通常情况下,对方只会说“是这样做的”,而技术大佬,他会接着说:“为什么这样做?”。 技术大佬能够深入某个技术点去研究,然后发现别人看不到的东西,甚至是对这个技术进行改造,创造出一种新的技术。技术大佬之所以被称为大佬,是因为他不但是技术专家,还是技术布道师,能够引领一种潮流,让一种技术流行起来。 不同职业之间总会有差距的,我们不可能让一个人既是高级工程师又能成为产品经理。 因为这两份工作是完全不同的。而我们要做的,是扬长避短,选择自己擅长的那一部分,并且尽量避免掉自己不擅长的那一部分。 如果你喜欢研究技术,那我们就去做架构师,成为一名技术大佬。如果你不喜欢研究技术,那么我们就不做软件工程师。既然你喜欢的是和人沟通,那我们就去做产品经理,去做销售,去做市场。 因此,在选择职业的时候,我们一定要明白自己的性格、自己的兴趣、自己的能力,以及自己想做的事情,然后再选择一个适合自己的职业。当然,我们也可以通过努力去改变自己,让自己成为一个更加适合这个职业的人。无论我们选择什么职业,只要我们热爱它,坚持它,我们一定能够取得成功。