为什么现在的IT行业更加流行全栈工程师或者创业者思维?

上次看到一个对程序员的分类,可以分成科学家,码农,专家和工匠四类。其中专家更多地指的紧跟科学家的理论成果,对某一个领域的技术进行钻研并进行第一手开发的高级程序员,或者从事架构设计,分配任务的技术管理者。而工匠貌似更符合很多程序员追求的以市场需求与产品设计为目标,进行全栈化与自主创业为目标的充满个性的生活。评论里最主要的争议在于专家和工匠哪个更值得追求。

其实个人感觉,如果抛开IT行业在一个更广阔的领域而言,事实上“工程师”或者“技术”这些概念的理解似乎是另一种理解方式。真正要说技术,应该恰恰指的是那种与基础科学紧密结合,从基础功能上实现应用的一种工作。所谓工程师,应该更偏向于从技术本身的发展来进行建设。其中对于工程师而言并不一定要去做那些直接面向普通客户的产品。对于很多偏向幕后工作的技术研究者应该是并不是专门研究客户的需求,而是将精力放在技术本身的性质和行业的专业规范上面。虽然他们并不是直接面向大众客户,但是他们手中的工作的科技含量可能会更高。

但是在现在很多程序员看来,好像“工程”指的就是专门提供面向大众的产品,“设计”指的专门满足市场需求和客户体现,比较偏向艺术而不是技术的策划。但是事实上,“设计”的原始含义恰恰应该是技术设计而不是艺术设计。好比钱学森他们即可称之为科学家又可称之为设计师,难道他们的设计和现在的设计是一个含义吗?

现在对于某一个技术方向进行专精的志向已经过时了吗?

推荐  (0) | 5人关注关注
5个答案
1 0
支持者: 笑看风云茶馆

按照典型的开发流程来说:
1、需求分析——2、程序设计——3、程序开发——4、调试测试——(发布)——5、技术支持

其中,程序员的主要工作分布在2、3、4。
5中的大部分工作不是程序员的范畴。

这里的1,视情况不同,负责的人也有所不同。
a. 在正规的、大型的做软件外包的公司,1会由市场营销部门的人负责,这些人会懂许多开发相关的技术,尽管不会做,但是他们应当能够进行一定程度的开发估算。
在非正规的、小型的软件外包公司,1通常会由老板亲自负责,有时也会由项目经理负责。如我之前的一份工作,我独自一人负责从1-5的所有事情。
b. 面向市场公开发布的软件,通常由市场调研部门的人进行调查之后提出需求,由项目经理,或软件设计师(高级程序员)来进行需求分析。同时在开发时,由项目组的所有人一起进行需求的完善。

在此之后,由软件设计师来进行程序整体的框架设计,并对其进行更仔细的估算。如果预算方面没有问题,那么就会进行正式的立项。按照软件设计师设计好的框架,大家进行分工开发。
在此基础上,中级程序员会进行更细节的设计,之后由低级程序员来进行代码的编写工作。
如果美工和代码是独立的,那么对美术方面进行设计的,等同于中级程序员;而实际上进行绘制的,等同于低级程序员。
————————————————————

作为低级程序员(码农),向中级程序员升级是很正常的事情,这也是对程序员的基本要求。有相应专业学位的低级程序员,在工作中会自然地将在学校学到的软件设计方面的知识,和实际工作结合起来,自然就有进行小部分的程序设计的能力,这通常需要2-5年的时间。
中级程序员向软件设计师的升级则比较困难。这往往需要不仅仅是专业知识,更需要一种全局化的思考和解决问题的能力。这虽然也可以通过积累经验来获得能力,但是现实中,获得这种经验的机会比较少。
————————————————————

现在来说“全栈工程师”,简单来说,就像我在第一段里提到的,我一个人负责从1-5的所有事情,这就已经接近一个“全栈工程师”了。
“全栈工程师”的优势在于节省人力资源。现在假设有一个小项目,一位全栈工程师花3个月就能做完。那么假设按照正常工序,为这个项目安排正式的项目组:1位项目经理,1位中级程序员,1位低级程序员,1位美工,那么能否将项目压缩到1个月呢?答案是否定的。一般来看,这个项目仍然会在3个月左右做完,多出来的人力,主要消耗在沟通和无所事事上面去了。
从结果而言,正式的项目组,可能可以做出更好的产品,但是却无可避免的有长开发周期和更高的人力费用。但是,长开发周期和人力成本,是创业公司和小型公司难以承受的。

“全栈工程师”的缺点也很明显,他一个人既要顾及大局,又要顾及细节,在大项目中,脑力是不够的。
我之前的那个自己负责全部的项目,姑且算是一个中等规模的项目吧。虽然做了5年,但是实际上主要工作是在2年内完成的,剩下的都是应客户要求进行功能方面的修改。
做到后来时,我先前做的部分,有好多我都忘记了我当时的思路,必须要去查阅文档和代码。甚至有的功能,明明我先前已经完成了,但是后来却忘记而又重做了一份,进行代码筛查的时候才发现功能的重复。

如此这般,也就是说,全栈工程师,在大项目中是没有用处的。凭他的能力,他也最多能在大项目中担任一位中级程序员,而他的别的能力都没有用处。
—————————————————————

再说“创业思维”。想创业,自然就要用创业思维来做事。但是创业就意味着要承担风险。忽视风险,为了“创业”而创业,并不是一个好的人生决策。
再者,创业有所谓的“创业期”,确切来说就是“收入不稳定期”。在这个时期,“全栈工程师”是难得的人才,因为他能大幅减少人力成本。但是,度过了“创业期”之后,公司就必须对管理方式进行改变,以使公司的运营进入“稳定期”。其中包括人力资源结构的调整,业务结构的调整,管理制度的调整等等。
很创业公司都是死在这一步上。这个时候,原本作为公司支柱的“全栈工程师”的地位就会比较尴尬。论能力,他不足以在组织化的结构中占据高位,也不再适应公司当前的现状;论功劳与苦劳,轻率地对待他会导致公司的凝聚力受损。这时比较好的情况是,此人有良好的管理能力,那么将其提拔到管理职位(使其远离技术),对大家都好办。但如果此人的管理能力也不足,那么对待他就是一个难事。
——————————————————————

总的来说,全栈工程师,是因应创业而兴起的,他们注定只能在小公司做小项目。他们或许能走上管理职位,但如果能力不足的话却很难找到出路。
现在社会需要的,仍然是专精某项或某几项技术的人才,这正是工业革命以来,社会分工化的大浪潮所致。

0 0

鱼大雷邪恶之王 大毒舌 欢乐

2015-07-14 11:06

丫鬟身子小姐心,就说的这厮。

明明就只有搬砖的料,还想着做工程师,天天画图吹空调领高工资不下工地。

可能么。

金字塔总是稳固的。爬不上去的是大多数。

所以不要纠结这个问题了。

0 0

IT你可以理解成现实世界的一个位面,现实里的几乎任何事情,都可以用IT辅助或者实现

而做IT,大部分其实都在做类似于城市和大楼的建造,因此,实际上,写代码的和搬砖的是一回事,你们都是工程师,都是构建这个世界的基础。

然而在IT的世界中,搬砖的工作可以通过程序来实现,研发工程师的位置在越来越多架构师面前就显得不那么重要了

如果说IT是这个世界的一个位面,那么现在的IT世界已经从以前的大家一起盖一栋楼发展到一起创造一个城市了,那么你在里面扮演的角色自然不能只是一个代替数百人的搬砖者吧(俗称码农),至少也应该是一个可以负责一栋楼设计,建造,运动的人员,俗称独立开发,全栈工程师

0 0

nasdaq软件工程师,小众软件爱好者

2015-07-17 22:16

软件是为了协助人类进行各种活动,很多时候我们需要的是减少人的工作量而不是技术突破。比如做一个博客管理系统,除了管理文章之类的通用功能之外,用户并不需要什么突破性的技术,他们只需要更多更方便的功能。以你所说的天气预报为例,在天气预报上的一点点突破这可能需要学界进行数十年的研究才能取得突破,那么对于一个公司来说,前10年都0收入,还不能保证10年后一定能出成果。这样的生意谁愿意做呢。

绝大多数项目没有技术上的独创性,没有需要做深入的技术设计。无论是算法,规范,协议还是安全,业界都有很多成熟案例、规范、工具可以采用,完全没有必要重复发明轮子。
在这些成熟方案的基础上进行基础架构的搭建和进一步的设计,以保证效率、可维护性、安全性是工程师的基本要求之一。在这个信息和技术都很方便的共享的时代,很容易可以把别人公开的成果拿来用。纯做独创性技术研究而不参与产品生产的除了大学之外也只有一些巨头公司才会有。

对于工程(师)的问题我觉得LZ在这里有些混淆了project和engineering。开发内部或行业的技术·工具、规范的同时开发自家产品是很平常的事情。但是对于这些技术、工具和规范来说,它们的使用者也就是其他的程序员就成了“客户”。 本质上来说,只要是打算给人用的东西,不管是给程序员用还是给非技术性的用户用,都是产品。艺术设计在我看来和技术设计是分不开的,技术有局限性,UX Design也就要受制于这些局限性。不懂技术的UX Designer不会是好Designer。


0 0

谢邀。仅就标题的问题,我的答案是:

老板喜欢全栈工程师,大不了掏一个半人的钱,但是能做前端、后端、运维至少三个人的活儿;喜欢创业者思维,大不了掏一个半人的钱,但是能做产品、程序员、UE至少三个人的活儿。

本质上就是公司要减少用人成本,个人压力被迫增大。这是行业里的一种淘汰弱者的历史规律。

对描述里的问题,这个问题太大了,我也在思考。其中有一些“行业细分化”的意思。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字第朝200003号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区