至从在博客和论坛发布招人贴,就不断有朋友与我联系,这不,今天又来了一位。
这位朋友年方32,浓眉大眼,虎背雄腰,天庭饱满、仪表堂堂。见第一面,我便从内心中喜欢上这位朋友,话语便不由得比往常多了许多,足足聊了一个多小时。
这位朋友一表人材,如果旁人介绍:他是一位公司总经理、部门经理、项目经理、或是一名销售经理,我都相信,但如果人家告诉我:他是一名架构设计师,或者一名程序员,我还真的不太敢相信,原因是,他的性格太丰满了。而一般的程序员或架构师应该是有某种偏执倾向的。
于是,在经过一段时间的旁敲侧击之后,我便问他两个问题:
1、如果评价一下你自己的能力,你认为自己哪一块的能力突出,有五个选项:架构师、程序员、项目(实施)经理、售前支持、销售人员,请排序。
他的选择是:程序员、架构师、项目经理、售前支持、销售人员。
2、如果可以任意发展,你希望成为何种人员,同样是上面五个选项,请排序。
他的选择是:程序员、销售人员、架构师、项目经理、售前支持。
我又追问了一句,如果还有一个职位,是产品经理,产品经理的职责是定义产品的市场定位、需求、验证产品功能、进行产品包装、策划,他希望将它插在第2个问题中的哪个地方,他的选择是:程序员、销售人员、产品经理、架构师、项目经理、售前支持。
我明白了,他是一个有程序员情结的人,即便他这次过来,明确的目标是来应聘架构师,也不隐瞒自己对编写程序的偏爱。于是,我便开始询问他在编程方面的经历。
他1997年开始编写程序,一直使用C和C++,编了两三年DOS下程序,用的是Microsoft C 6,也用过一段时间的Borland c++ 3.0,在转入Windows环境后,便一直使用C++ Builder,编写的都是一些与信息管理系统相关,编写的系统挺多的。
听他介绍完经历后,我便在内心发出一声叹息:他被耽误了,十年的工作经验不再是他的经验,却变成了包袱。
他的编程之路,也许是不得已的选择,也许是公司要求他必须在这条路上奉献自己的青春,但不管怎么样,他是被耽误了。而从他更多的描述中,我更确认:他是被自己耽误了。
他当初选用C++ Builder而不是Visual C++或Delphi,原因有二:
1、自己熟悉C++,一直在用C++编程,不想放弃C++;
2、Visual C++的界面编制工作太复杂,而C++ Builder在界面编制方面有具大的优势。
我一直认为,C++ Builder是那些固执的C++程序员的一个偷懒的C++开发工具。它在延长传统C++程序员的生命的同时,也给这些程序员套上了沉重的枷锁。
C++ Builder、Visual Basic和Delphi的编程人员,都会不直觉地养成在界面中直接编写程序逻辑,久而久之,对程序架构设计的追求便慢慢淡化和麻木,C++ Builder程序员很难写出层次清晰的类和对象。
而C++ Builder相比于Delphi,还会带来另一个致命的问题:C++ Builder使用的所有VCL组件都是采用Delphi编写的,当C++ Builder程序员不愿意学习Delphi时,便只能利用别人编写的现成组件了。于是会出现这样一种情况:一个C++Builder程序员需要一个新的 功能时,他们会先寻找合适的VCL组件,如果没有,他们便会上网搜索合适的VCL组件,即便某VCL组件与他们需要的功能的重叠度达到99.99%,他们 不会想到去直接改动VCL组件而是想办法找到100%满足要求的VCL组件。
也就是说,C++ Builder程序员是一群在编程技术方面没有前途的程序员。他们的前途应该是应用系统的需求分析能力。
令人遗憾的是,这位朋友在系统设计方面没有太多的想法,对UML、RUP、企业架构模型、.NET框架、J2EE框架、WEB编程、系统建模、数据建模、设计模式、重构、系统功能划分、极限编程、单元测试等方面,都不是很了解。
如果他选择另外一种编程语言,在某应用领域(而不是信息化系统领域,在这个领域,重点不是编程技术而是设计技术)能流畅地使用该编程语言,我会很高兴。
或者,他告诉我:编程语言只是一门工具,我追求的是如何高效地快速地开发系统,我知道如何合理地设计系统,如何对进度进行控制,如何进行开发质量的控制,我也会很高兴。
再或者,他告诉我:编程算什么呀,那只是我曾经在某个阶段的工作,我现在已经完全不编程了,我开始转型为产品经理、销售经理等等,我会非常地高兴,因为,我相信,那些工作可能更适合他。
对编程的喜好,是很多人(包括曾经的我)的心结,这不是一件坏事,但是,作为程序员,一定要有不断学习新知识的冲动,也一定要有不断否定自己的勇气。
计算机技术的发展日新月异,新技术层出不穷,我们不可能将每件新技术都学习一遍,但应该要有敏锐的嗅觉,发现可能成为未来主流方向的新技术,即便不 能在工作中对该技术进行实践,也应该利用业余时间系统地学习这些知识,而且,不管它如何地难,都不应该放弃对它们的学习,否则,很可能成为新技术的旁观 者,旧技术的卫道士,成产一个固步旧封者。
即便再好的技术,过了五年便可能被新技术替代,因此,即便你对某项技术已成为专家,该抛弃的还是应该坚决抛弃,否则,世界便会抛弃你。
实在不行,就应该知足常乐,不要为别人的高工资眼红。
我对他说:以你目前的状态,我不能聘你为系统架构师,也不能聘你为核心程序员,但我可以聘你为一般程序员,或者直接聘你为一般销售人员,我聘你的工 资不会太高,我会按一般程序员或一般销售人员的岗位支付给你工资。当然,如果你能提高发展为优秀程序员,或者是系统架构设计师,或者是销售经理,我会相应 地提高你的工资,但我不能给你保证,你在什么时间会成为那样的人,那一切,需要你自己去努力。
在提出这些建议之前,我已经知道他会作何种选择,他有生活的压力,有太多的包袱,不象年轻人,没有太多的牵挂,有的只是梦想。
美国心理学家霍兰德认为人的性格大致可以划分为六种类型,分别是:现实型、研究型、艺术型、社会型、企业型、传统型。这位朋友的性格应该属于企业型,他更适合做那些伟大的事情,而不是编程。
问题是,他有否定自己的勇气吗?
分享到:
相关推荐
Java 程序员职业规划 Java 程序员职业规划是指 Java 程序员如何规划自己的职业生涯,使自己在职业道路上更快速、更自信地发展。本文将从 Java 程序员职业规划的几个方面进行详细的介绍。 一、 认识自我 在职业...
Cheng - Field and Wave Electromagnetics 2ed Solution Manual》是David K. Cheng教授为其著作《Field and Wave Electromagnetics》第二版所编写的解答手册。本书籍与解答手册主要关注电磁学领域的理论与实践,...
JavaScript在线进制转换工具是程序员在日常开发工作中经常会用到的一种实用工具,它能够方便地在不同的数值进制之间进行转换。在这个特定的文档中提到的`toolfk`程序员工具网站,提供了一个集成了多种程序员开发工具...
电磁场与电磁波第二版 David K.Cheng的答案
源代码中会有明确的标识,例如字符串变量,你可以直接找到并替换为你自定义的内容。同时,如果动画中涉及到特定的时间或动作,你可能需要调整JavaScript函数中的参数来实现个性化的效果。 为了运行和查看这些表白...
人件 程序员 软件工程师 读物 一本不错的IT管理人士必读书籍
Python程序员常用的IDE和其它开发工具 概述: 作为一名Python程序员,选择合适的IDE是非常重要的。IDE的全称是Integration Development Environment,集成开发环境。一个优秀的IDE,应该提供针对特定语言的各种...
Java程序员的辞职报告中反映出几个主要的离职原因,这些原因对理解程序员的职业发展和工作满意度有重要启示。 1. **职业发展瓶颈**:许多程序员提到他们在公司内遭遇了职业发展的瓶颈,无法看到清晰的晋升路径。...
本课程首先围绕普通开发人员如何向架构师转型这一课题,从架构师的角色以及转型过程中会遇到的困难及其解决方法切入展开讨论,总领整个课程。课程主体部分从软件架构体系结构、架构设计、技术体系等角度出发,详细...
用Python玩转数据 01_ke-cheng-xuan-chuan-pian.mp4
用Python玩转数据 03_3-ji-cheng.mp4
Java 程序员英文简历 Java 程序员英文简历是一份展示 Java 开发人员技能和经验的文档,旨在帮助他们更好地展示自己的职业技能和经验,以便在 job market 中脱颖而出。 基本信息 * 姓名:yjbys * 性别:男 * 生日...
该压缩包文件包含的是一个PHP源码项目,名为"仿转转源码",它旨在模仿知名的二手交易平台“转转”的功能和界面。这个源码可能是由开发者为学习和交流目的而创建的,不建议用于商业运营。源码中包含了与5173接口的...
Field and wave electromagnetics by David K. Cheng second edition!
系统包含管理员后台(admin/index.a),并有一个特定的索引(index_of_cheng)可能是为了方便管理和组织资源。同时,开发者可能参考了PUDN网站上的资源来构建或完善此系统。这个系统对于优化中职学校的管理流程,...
c++继承实验,c++继承操作的全过程。 并用实例对其测试!
"BIAN CHENG",这个标题可能是在指代编程学习的过程,意味着逐步构建和进步。在编程领域,"进步"不仅是个人技能的提升,也涵盖了对各种编程概念、语言特性和开发工具的理解深化。作为"DEVELOPER",即开发者,我们...
【程序员学习表】涵盖了...这些书籍都是各领域内的经典之作,包含了丰富的编程知识,不仅适合初学者,也对有经验的程序员有很高的参考价值。通过系统学习,程序员可以逐步掌握这些编程语言的核心概念、语法和最佳实践。
C9~Fang Ping Bi Cheng Xu防屏蔽程序