2006年的职场出奇的冷清,相比前几年,简历的数量和质量都大为不如,很难得找到三年工作经验以上的人,有一个不是特别笨,就是特别怪。就是么,干得好谁没事换工作啊!Simon是一家外企软件公司的总经理,最近给这个问题愁坏了。项目一个接一个的接下来,人手越来越紧张。虽然Simon是个极限编程的粉丝,但也不得不批准了一份又一份的加班申请。HR经理把这个问题归结到房价上,他的妙论是“怕失业了还不上房款,不敢跳槽”。
这天,K项目组长Allen终于忍不住了,带了一个只有一年工作经验的小伙子要Simon面试,“很聪明!经验少了点。”
Simon皱了皱眉毛,说:“你不知道这个职位最低要求是三年工作经验吗?”
Allen说:“这已经是三个月里通过技术考试中最好的一个了,老大,试试吧。”Allen是Simon多年的哥们,比较随便。
抵到面子上来,Simon只好让Allen把小伙子带进来。
Simon的面试通常是三步曲:
问题一:你能说说毕业后的主要工作经历吗?
问题二:再说说你在公司的地位?
问题三:你的发展目标是什么?等回答后,比如说构架师,他就跟着问:想象一下你当构架师的一天,说给我听听?
小伙子回答第一问题很快很清楚,一年工作当然没什么东西。Simon觉得小伙子挺聪明。所以在小伙子回答了第二个问题后,问了一个发散性的问题:“你刚才说你在公司里处于中等水平,那比你差的人为什么会比你差呢?”
这个问题是个陷阱。
小伙子冒冒失失回答说:“我觉得他们每天工作是为工作而工作,工作没有责任感。”
Simon点点头说:“是吗?那真是糟糕的员工。那你刚好比糟糕的员工好一点了?”
小伙子的脸一下子红了,“我不是这个意思……”
“好了,那你说说比你好的人为什么比你强?”
“我觉得他非常努力,工作很多年了还在学习各种构架,水平很高。”于是Simon就问那最后一个问题。果然,小伙子回答的是要成为构架师。大概70%的人想成为构架师。但是构架师是什么呢?
Simon问道:“那你为什么要成为构架师呢?”
小伙子一愣,大概还没有人这么置疑过他。“年纪大了,不能老写程序吧。”这个回答,让Simon想起关于他对什么是老的定义:当你希望做年轻人做的事情时,你就还年轻;如果你希望做老年人做的事情,你就老了。这和你出生了多长时间是没有关系的。
Simon接着问:“好吧,那你说说你成为构架师以后,每天都会做什么?”
小伙子说:“我还没想过,不过,我想应该主要是需求分析,设计构架吧……”这大概是现在年轻人的通病,年轻人很容易追逐一些自己也不清楚的目标。
Simon问:“那设计构架具体都做些什么呢?”
小伙子这次的回答是:“比如,选择程序框架,决定用Spring或Struts等等。”
“哦,那我问你,你怎么说服别人是用Spring还是Struts呢?”
“如果我有经验,我会知道哪个更好……”
“是吗,但关于Spring或Struts的知识任谁都可以很容易得到。如果别人不同意你的建议,你怎么说服他?如果同意你的建议,那你不过是作出了和别人一样的认识,别人又凭什么认可你呢?”
小伙子没想过构架师日子里还有一个说服人的工作,说:“我是构架师,我应该有权力做决定吧?”
Simon想起权力的三种层次,第一层,任命;第二层,专业;第三层,品德。
Simon问:“如果在一个成熟的软件企业里没有你所想象的构架师呢?或者说,构架师这种职业已经死亡或消失了呢?你会怎么定位你的职业?”
小伙子显得很震惊。
Simon画了一个系统构架,然后又给小伙子看了一段代码。
“那一个更难懂?”Simon问。
小伙子指着代码说:“代码难懂。”
Simon的解释是:“这就是为什么实际上所谓的构架师不存在的原因。一个更简单的东西怎么会更有价值呢?每个人都能够画出这种构架图,但不是每个人都能写出好的代码。”
送走了小伙子,Simon有点难受。他有点喜欢这个小伙子,但是,这又是一个被愚蠢的教育和误人子弟的技术杂志污染的家伙。Simon在自己的笔记本中加了一句话:中国程序员最愚蠢的认识之三:我想当构架师。前面两个赫然是:
35岁后写不动程序了;
我只要做Java(C++);
相关推荐
10. **转型过程的挑战与策略**:转型为架构师是一个长期且充满挑战的过程,需要在工作中不断实践、积累经验,并且要有一种学习的心态,避免陷入学习技术栈的常见误区,如浅尝辄止、死记硬背等。 综上所述,开发...
JAVA 架构师知识点总结 本文档旨在为Java架构师提供一个详细的知识点总结,涵盖了Java架构师所需的知识点,从机器学习到数据库设计、JVM等多个方面。 一、机器学习 机器学习是人工智能的一个子领域,关注于开发...
在本篇《架构师》期刊的内容中,涵盖了众多当前互联网领域的热点话题以及技术细节,以下是一些关键知识点的详细说明。 ### GitHub有国界:全面封禁美国制裁地区开发者账户 这部分内容讲述了GitHub作为全球最大的...
《系统架构师论文》这个压缩包文件显然包含了与系统架构师这一职业相关的研究和学习资料。从标签"架构"和"软考"我们可以推断,这些内容可能涉及到软件架构设计和国家软考(即全国计算机技术与软件专业技术资格考试)...
当这一块的内存用完了,就将还存活着的对象复制到另一块上面,然后再把已使用过的内存空间一次清理掉。 - **标记-整理算法**: 标记过程同标记-清除算法,但后续步骤不是直接对可回收对象回收,而是让所有存活的对象...
描述中提到“搞懂这些,最起码不会饿死”,暗示这些知识点是Java编程入门的基础,也是面试时最常被问到的部分。标签“面试 java”明确指出了这些知识点与面试的紧密关系。 1. JVM内存区域 JVM(Java虚拟机)是运行...
"架构师面试题系列之Kafka面试专题及答案" Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用 Scala 语言编写,目前是 Apache 的开源项目。broker 是 Kafka 服务器,负责...
《设计已死——Martin Fowler》这篇文章探讨了软件开发中的设计理念,特别是对演进式设计的深入剖析。在软件工程领域,设计是构建高质量系统的关键环节,而Martin Fowler的观点引发了业界对于传统设计方法与演进式...
“中台”概念这几年非常火,特别是阿里、腾讯、百度、京东等互联网公司最近频繁的基于中台调整组织架构,把“中台”的热度又上升到另一个高度,甚至有这样的声音,90年代不做ERP会死,现在不做中台也会定企业生死。...
架构师在设计时应考虑不同角色的需求,包括客户、用户、开发人员和管理人员。他们需要创建多种视图来满足不同需求,例如功能需求视图、约束条件视图、使用期质量属性视图和制作发布期质量保证视图等。 逻辑架构关注...
因此,设计师不应依赖于标记为“预留”或“未定义”的特性或指令的存在或特性。 - **未来发展**:未来定义的部分留给英特尔自行决定,该公司对此类特征不负有任何责任。 ### 总结 通过深入理解《英特尔®64和IA-32...
《Java高级开发-架构面试宝典Beta10最新版》是一部专为Java开发者和架构师准备的面试指南,旨在帮助他们提升对Java技术栈的深入理解,并为面试做好充分准备。该资料集聚焦于Java的核心概念、高级特性、设计模式以及...
Java架构面试专题涵盖了Java开发中的核心概念和技术,是求职者准备高级Java工程师或者架构师面试的重要参考资料。这个压缩包文件包含的学习笔记和答案,旨在帮助读者深入理解Java技术栈的关键点,提升解决问题的能力...
文档收录了华为首席架构师的所有文档,1.企业架构 1.1 企业架构起源和发展 介绍TOGAF的爸爸和爷爷 TOGAF Next Now is the Time for Third Generation EA Methods 1.2 主要企业架构框架 如何选择合适的企业架构...
8. **架构师的角色**:软件架构师不仅仅是技术专家,还需要具备沟通、领导和协调团队的能力。书中可能会探讨架构师在项目中的作用和责任。 通过阅读《Software Architecture in Practice》第三版,读者不仅能学习到...
此外,编译器优化技术,如循环展开、 dead code elimination(死代码消除)等,都是编译原理的重要应用,可以显著提升程序的运行效率。 对于软件设计师来说,理解编译原理可以帮助我们编写更高效、更易于维护的代码...
其中包括RPA开发工程师、售前工程师、业务分析师、架构师、运维工程师、项目管理、项目负责人、企业高管、HR等多种角色。社区提供了各种丰富的教程、资讯、文章、问答、招聘、活动、项目等供大家一起交流和成长。 ...