热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

程序员生涯三部曲其三:思想阶段

第三阶段的人,看问题的角度已不再局限于技术,而是更一般化、通用化。其实做信息系统也好,做通用软件也好,思维都有一些模式可循。既懂技术又懂业务的复合型人才,往往具备独特的优势,使得他们能在事业上达到别人无法企及的高度。

思想,无招胜有招

1. ? 阶段释义

客户:我们公司有二十个下属单位,每个单位分别有一套自己的销售管理系统。我们想了解各个单位的销售情况,现在是每个星期由下属单位上报周报,周期太长了,不利于领导及时掌握情况。

老李:如果把销售数据自动地集中到总公司这边来呢?

客户:集中?有什么好处?

老李:数据集中后,总公司可以实时掌握销售情况,不用等上一个星期。根据集中后的数据,您只需要打开电脑,就能看到每小时的销售变化情况。

客户:那挺好啊。只是,怎样来集中数据呢?要花多少钱?

老李:可以在每个下属单位分别安装一套程序,实时地把进销存系统中的数据提取出来,然后上报给总公司。在总公司这边,也安装一套程序,用来接收下属单位送上来的数据。这样,数据就全部集中到总公司了。从现在的规模来看,您只需要在总公司增加一台服务器,用于接收数据。当然,总公司与下属单位的计算机要能通过网络互联。请问现在已经联网了吗?

客户:我们现在已经联网了。公司申请了专线,可以进行视频会议。

老李:噢,那就花不了多少钱了。您只需购买一台服务器,再加上软件的费用就行了。

客户:噢,听上去挺好的,那你们公司能不能做这件事……

(注:上述对话,纯属虚构。目的是为了说明不同阶段所做的事。实际项目中,您可别建议客户“实时提取并上报销售数据”,所花的钱,也不只是一台服务器那么简单,^_^)

老李是公司的研发副总。他经常拜访客户,了解客户有什么困难和需求。本例中,客户觉得每周上报一次,时效性太差——这就是需求,同时也是老李的机会。老李运用手中所掌握的技术,帮助客户策划出一个分布式采集数据的方案。老李只需要知道:(1)现在有许多种成熟的分布式技术,能实现分布式采集;(2)老张对这些具体的技术很熟悉。至于如何去实现分布式,就不是老李要考虑的了。

老李属于第三阶段中人:既了解技术,又了解业务。从技术出身的背景,使得老李在与客户交流时更务实。许多人对业务非常熟悉,但由于不懂技术,不知道什么事能做,什么事不能做,与客户的交流经常流于形式,只能开花,不能结果。既懂技术又懂业务的复合型人才,往往具备独特的优势,使得他们能在事业上达到别人无法企及的高度。

第三阶段的人,看问题的角度已不再局限于技术,而是更一般化、通用化。其实做信息系统也好,做通用软件也好,思维都有一些模式可循。例如,在决定开发一个产品前,通常需要问自己几个问题:

  • 目标客户是谁?
  • 客户有什么烦恼?他在抱怨什么?
  • 客户现在已经有了什么?还缺什么?
  • 你能给他提供什么?

(注:后来我才知道,这些问题早已出现在RUP的Inception阶段中,Inception要解决的是商业风险,上面列的几个问题,就是Inception阶段的成果——Vision Document)

这些问题弄清楚后,基本上,“给客户提供什么东西”就已经定下来了。然后就可以与架构师一起,讨论这个产品,并最终由开发小组去实现。与第二阶段中“我知道它能-I know it can work”不同,本阶段主要特点是“我知道它是什么——I know what it is”。

也许你会说:“上面的几个问题,谁都能问,干嘛非要第三阶段中人呢?”没错,这几个问题,谁都能提出来,甚至可以用Word写个模板。但是,提问题容易,回答问题难。同样的环境,同样的客户,不同的人收集到的信息是不一样的。不信?找两个人一起去为某个会议做纪录,然后看他们写的《会议纪录》文档,就知道差距了。许多人不愿意做会议纪录,认为这是低级活,其实不然。会议纪录做得好的人,与客户交流时,就能有重点而又比较全面地记录下有用的信息,甚至能领会“弦外之音”。能达到第三阶段的人,通常都是信息挖掘的高手。

到达这个境界后,不再需要知道什么设计模式,也不需要知道什么是EJB、CORBA(虽然他们都懂技术,造诣也都不低),就象独孤剑圣,已达“不滞于物,草木竹石,皆可为兵”。说起来神乎其神,其实归纳起来,也就两点:

一是识势:俗话说,识时务者为俊杰。用现在的话说,叫“形势比人强”。以一已之力对抗大形势,那是必败无疑。“俊杰”的出现,能推动形势的发展,但也只是“推动”而已,形势是不可能“阻挡”和“违逆”的。大禹治水,疏并导之,鲧不懂这个道理,纵有息壤相助,亦无法堙填。张勋不知道封建君主制已不适合中国国情,而搞什么复辟,唉,可怜啦。具体到软件项目,如果客户想搞分布式,你却建议他搞大集中;客户想要三层结构,你却建议他用二层C/S,岂不谬哉?所以说,识势是应具备的首要能力,是重中之重。

二是知人:光说不练假把式。如果仅仅是识势,而没有得力的人相助,那也是一场空。刘备身具“帝王之后,汉室宗亲”的血统,打着光复汉室的旗号,甚得人心,可谓是识势(至于刘备是不是真的想光复汉室,鬼才知道),但在遇上关、张前,他只能卖草鞋,在认识诸葛亮之前,也一直被赶着屁股跑。再说老李,如果没有老张,任他舌绽莲花,天上也不会掉下一套分布式系统来。

2. ? 应该做的事

与客户保持经常性的沟通。销售和市场人员,他们可能想不到一些事,与客户的经常性沟通,能让你掌握第一手的资料,从而有助于产品的创意。最好是把客户的MSN、QQ等经常上线的聊天工具的号码弄明白。从MSN的昵称、说明档等很能看出一个人的心情,这里面能表达很多信息。频繁的、不刻意而为之的沟通,容易拉近与客户的距离,让客户把你当成朋友。当然,许多客户,尤其是客户中的领导,通常是不上MSN的。对于这些人,就要谨慎一些了,他们可能不希望被打扰,所以别随便打电话。建议请教专业人士:公司的销售——他们有的是办法。

增加阅读量,扩大信息来源。大量的信息,可以让你了解行业动态,增加你的灵感和创意。上文说过,要锻炼“收集有用信息”的能力。现在都是海量信息,如果不能敏锐地发现对自己有用的信息,那你唯一能做的事,就是在信息的海洋里游泳健身。一个秘诀:看到有用的文章后,随手就保存到本地硬盘里。然后在机器上装一个Google Desktop,让Google帮你搜索。另一个建议就是:最好有属于自己的笔记本电脑。钱不多的,买个活动硬盘也行。

培养情商,增加个人魅力。通常,能对你有用的人,都是些“牛”人,至少是比较牛的人。这样的人是否愿意为你所用,不一定取决于薪水,而更多地在于你的领导艺术——至少要让他们认为,跟着你混是有前途的。《古惑仔》中有一段对白:“我们做古惑仔的,跟对老大很重要”。其实在职场混,跟在江湖混,没多大区别。越往上走,就越古惑。通常是职位越高,圈子越窄,抬头低头,总是那么几个人。到达这个份上,就应了一个平时常说的名词:“人品问题”。人品好而又有能力的人,才能成就大事。

参加俱乐部或沙龙活动。有的信息,尤其是内部信息,从外界是无从得知的。尤其是,许多灵感,可能来自于几个有共同爱好的朋友的闲聊。

3. ? 不应该做的事

作为第三阶段中人,通常是一个不小的领导,不应该做的事有很多。市面上有大量的书而供参考。本文只给出从技术出身的领导最常犯的两个错误:

不信任下属。技术出身的领导,往往对那些技术上不如他的人持有一定的怀疑,尤其是当他/她们犯了错误时。用人不疑,疑人不用。你的下属之所以会犯错误,正是因为他/她想真正把事做好。此时,宽容大度加上适当的指导,通常是最好的选择。

自己很有成就感。这是另一个常犯的错误。要知道你是领导,你不需要与下属争抢功劳,应尽量把获得成就感的机会留给下属。如果你事事争先,由于本身的能力与素质,你比下属更容易把一件事做好,但因此而带来的副作用,远大于这件事情本身:下属会觉得没有成就感,没有自信心,渐而渐之,就会影响士气。如果这样,就算你这个当领导的再能干,也不可能把所有事情都做完。

4. ? 局限性

俗话说:江湖越来越老,胆子越来越小。当你逐渐成为某个行业内的知名人士之后,得到的东西越来越多,相反,患得患失的心理也越来越重。所谓“壁立千仞,无欲则刚”,欲望太多,就会使自己变得虚弱。

在职场上,你已经是老兵,酸甜苦辣都经历过一些,可谓是水火不侵了。但在人生道路上,起落浮沉,也许才刚刚开始。此时的你,大概已过而立之年,家事琐事有一大堆,人际关系也渐趋复杂。此时能影响你成功的,通常都是些与职场无关的事——恰恰又因为你在职场上投入了太多的时间,职场外的事,多半是一团糟。

5. ? 进阶指南

职场内的事,已无须我再说什么了。到了你这个境界后,我只有一句话可说,那就是:人生并不只有职场,正如职场并不只是技术一样。知道独孤剑圣怎么死的不?他是寂寞死的。

6. ? 阶段小结

  • 适用人群:工作六年以上(经常跳槽的不算),上限不封
  • 输? ? 入:客户需求
  • 输? ? 出:可行的创意或产品定义
  • 阶段目标:我知道它是什么——I know what it is
  • 技术特点:注重思想,不关注技术实现
  • 胜任职位:部门经理、研发副总、CTO、解决方案专家、业务专家、产品经理、高级产品经理等
  • 升级秘笈:换位思维,跳出职场看问题
  • 参考薪水:¥15000以上(仅供参考)

附录:关于“三阶段说”

古圣今贤给予我们许多的启示。虽然他们没学过计算机,没当过程序员,但对于人生,对于“道”的领悟,远比我们这些白骨精(白领骨干精英)强。人的进步过程,其实是一个“肯定,然后否定”的过程,这个过程,其实不只三个境界。但是境界三转后,就与“程序员”这三个字无关了,所以本文中不加以论述。

无论是哪个阶段,都需要先“入迷”,然后“解脱”:

  • 在第一阶段,需要先在编程语言细节上入迷,然后从语言细节中解脱出来,达到语言无关,从而进入设计这个层次
  • 在第二阶段,需要先在设计方法上入迷,然后再从方法中解脱出来,达到技术无关,从而进入思想层次
  • 在思想层面,需要先在解决问题的总体思想上入迷,然后又从思想中解脱出来,达到与职场无关,从而进入另一个境界。

以下附两段笔者收录的与“三阶段说”有关的名句,供参考。

  • 孙过庭《书谱》:“初学分布,但求平正;既能平正,务追险绝;既能险绝,复归平正。初谓未及,中则过之,后乃通会。通会之际,人书俱老”
  • 王国维《人间词话》:“古今之成大事业、大学问者,必经过三种之境界。‘昨夜西风凋碧树,独上高楼,望尽天涯路’,此第一境也。‘衣带渐宽终不悔,为伊消得人憔悴’,此第二境也。‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处’,此第三境也。”

还有很多,不一一列出了。以君之智慧,必已有所悟。

本文地址:http://www.nowamagic.net/librarys/veda/detail/1547,欢迎访问原出处。


推荐阅读
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文讨论了同事工资打听的话题,包括同工不同酬现象、打探工资的途径、为什么打听别人的工资、职业的本质、商业价值与工资的关系,以及如何面对同事工资比自己高的情况和凸显自己的商业价值。故事中的阿巧发现同事的工资比自己高后感到不满,通过与老公、闺蜜交流和搜索相关关键词来寻求解决办法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
author-avatar
无为2502863873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有