`
javasee
  • 浏览: 962076 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

我们信息人

阅读更多

曾看到 2002.7 期商业周刊介绍全球最大的威名百货(Wal-mart)以集中精力的方式,努力做到它的产品卖得最便宜,四十年来目标不变,而今成为全球营业额最大的企业(七兆两千六百亿),超过了传统的制造业。商周给这件事实的评语是「聚焦得以壮大,多角化会败家」。

个人的技术聚焦

我常常在想,信息的技术变化得如此之快,到底要如何做才能安身立命。一个老前辈在十年前告诉我:信息人到最后不是放弃专业,专心走管理职;就是专心技术,走顾问职。至今,国内信息界对顾问一职仍然陌生,一般业主对信息人的尊重也依然欠缺。但笔者十几年来就只对信息技术本身有兴趣,对于处理人的问题兴趣缺缺,虽然对技术人的未来茫茫然,但依然抉择以技术人安身立命。因此排拒掉多次升迁与跳槽当管理职的机会,醉心于陶渊明式的「每有会意便欣然忘食」的愉悦中。

常看一堆人换技术像换衣服一样随着流行走,笔者的同事也劝笔者应该研究一下 JavaOracle 系列的东西了。扪心自问教授过五十门左右的微软课程,以微软的产品建过大小系统之后,是不是称现在 Java 正热时,该琵琶别抱一下。但我自身在处理信息问题上,当下最欠缺的是另一套语言,另一种平台的认知吗?当我要做好一个信息技术顾问时,我应该加强什么。就自己的评估是分析设计的能力,好吧,一天只有 24 小时,在闲暇时间研究一下 OOADORMCMMIAgile…吧。既然十几年前赌了微软,现今它也没有要倒的迹象,微软近年还是最赚钱的信息公司之一,且有大幅的研发费用,聘请上万个相关研究人员。唉!跟着学都还没有人家开发得快,且看起来尚未赌错边,闲暇时还是去玩玩微软不教我的东西吧。

企业要坚守核心,我个人的技术取向也聚焦一下吧。

君子务本,本立而道生

晚上在跟学员聊 .NET 时,看着大家对于全新的 ASP.NETADO.NETVB.NET 感到无比的学习压力。我随手挑起了 ADO.NET SqlCommand 对象问大家这可以做多少事呢?从 SQL ANSI 92 年版本以来,SQL 语法动过了多少?十几年了,我们都还在用啊。同样地,HTTPTCP 协议出来多久了?ASP.NET 只不过是让我们更容易驾驭它。这些是蹲信息功力的马步,研究它们很枯燥,但很值得。

有一个主管跟我抱怨说:现在的工程师做什么都很快,三五天就交差了,但使用人数一多,数据量一大就出现无数个 bug,也不知怎么找问题,大家就僵一起。

六年前在美国听微软的研讨会时,大会认为 XML 的基础至为重要,因此将能容纳万人的大会厅留给介绍 XML 基础的讲师,约有千人来听这场演奖,而他真的努力从 XML 的基础讲起,一点华丽惊艳的示范都没有。回来台湾我想仿效,但主办单位认为台湾的听众喜好炫的内容,基本东西枯燥乏味,难有好成绩,因而作罢。

在台湾的信息技术研讨会很难有深刻的东西,上回听 Java 2 时,还有整场在打口水战的共通场次,看不到深度,广度,更别说愿景了。在听美国的研讨会时,往往会钦佩于主讲者的内涵与风采,他们高兴地描述自己的产品,因为那是他亲手做出来的,好似他亲生的小孩。当听众质疑对手的产品已有的特色,为何他没有做,主讲者也会侃侃而谈,告知这项特色将会在哪一个版本完成(不见得像台湾的回答,永远是下一版喔!),是因为技术问题无法克服呢,还是因为透过调查,使用者的需求性并不是最高的,在开发的时程上,需要排到第几版才会推出。

几年前商周介绍「印度 3.0」,是对整个印度的软件制造质量的褒扬,而台湾的软件质量呢?回想一下,你我的软件有下一版吗?我曾就这个问题询问过多家公司的信息从业人员,我们有的是不断地重写,因为前一版写得太烂了,但当下的制作仍然是且战且走,每一回都是从 0 开始,做到百分之八九十,就交给使用者。若将台湾信息业当成一个软件,那版本大概是 0.9,还是 Beta 版。

软件开发有句话:越早开始,越晚结束,我们可曾好好规划过要做的软件,要写的程序代码,如何版本控管,它的生命周期为何?悲哀的是,要如何好好规划我们都还不会。很久以前自己就不敢骂微软,Sun,抑或是其它大厂所出的软件太烂了,因为自己写得更烂。当我们在骂 Windows 操作系统不好时,它从 NT 核心到现今已近 6 个版本,二千多人合作完成,你我五个人合写的软件,有下一版吗?

我常常就务本与技术聚焦考虑技术的取舍:设计软件时,要先做最底层,最不变的组件;让撰写呼叫底层的上层组件的同时,就在验证底层的设计,为底层除错。上层可以一再的换(使用者喜欢,就被迫换)ASP 流行时,VB Form 的工程师就死了一半,ASP.NET 的出现,ASP 的人又死一半。但含有商业逻辑的组件可以慢一点换,因为它们稳健,已经在执行,且使用者又看不到。数据库设计更可以保久一点,营运数据可不能随便乱改。

学技术时,绝不要仅止于操作,Visual Studio.NET 拖曳可成的软件,SQL Server Enterprise Manager/Management Studio 轻易可建的数据库与数据表,它们都只是表象,换版时,换得最多的就是它们。当看不到共通性,不了解基础时,就很难抓住学习的要点,无法提纲挈领,只能瞎子摸象。抉择技术时,也只能比较销售员的华丽与否,或是谁比较会攻击别人,说不出自己真正的需求。

但对于茫茫然的技术海,如何得知什么是基础什么是浮面呢?持之以恒的兴趣似乎是唯一的路。对于某项技术了解得既广且深时,你可以看出软件变化的脉络,知道它变革的重点,你自身的需求。此时,学习,比较,鉴赏本身就是一种乐趣了。当我在看 ASP.NET 时,会赞叹微软的工程师们对 HTTP 包装的能力,每多看一点,就多一点惊喜。赏玩 SQLXML ADO.NET 时,也对工程们在关系型数据与阶层式数据的转换与运用所发挥的想象力感到佩服。

怪现象

或许我们技术人员没有受到足够的尊重,因此少有人浸淫在技术中,乐此不疲。就好像前起年盛行一时的写程序不若卖鸡排理论。曾听一工程师抱怨说,公司薪资太低,留不住有经验的人,跟上层反应后,主管认为信息技术本来就重视汰旧换新,留不住老人刚好,新人薪资低,耐操又肯学新技术。悲夫,信息技术是辅助工具啊,没有各领域的知识,哪来贴合的系统。现今流行 ERPCRMSCM…上亿的钱砸下去,就会有合用的系统吗?若没有兢兢业业且有经验的信息人员,无止境的系统钱坑不但大,还生不出半点成果出来。

曾有主管抱怨,信息人员真的只在处理信息,没有知识,产生成千上万的报表,但看不出企业营运的关键在哪里。试想,当信息人员下班后都想再找份工作糊口(直销或卖保险似乎不错,我倒是知道不少人这么干),最好可以跳槽,自己加自己的薪,哪来的想象力将成千上万的企业信息转成知识呢?又有谁想将信息系统精益求精呢?

在技术不受尊重的信息部门中,往往升迁是一摊死水,有升迁,其过程也很奇怪。初进公司时是程序设计师,有了经验后升成系统分析师,再来升经理,真有点像呆伯特说的,将不会做事的人升迁。若将之比作建筑业,好像处理水泥钢筋的师父资深了,就改成土木技师,再资深一点就做建筑师吧!这种房子你敢住吗?

在公司里,反正住这些测试版房子的人都是那些不懂信息的其它部门同仁,就当他们的抱怨是 bug 回报好了(我们的软件开发应该都没有品保人员吧!你说,谁是软件测试人员呢?)。没有资深技术人员的晋级制度,当然大家都不想夜夜苦读新技术,写 20 年的程序,薪水和新进人员差不多,总想干掉其它同事,升成管理职。

每每看着满腹热诚的新进同仁加班赶程序时,就有一种莫名的惆怅,不久后他不是热诚不在,就是跳槽了。

结语

看着基础需求如数据库设计、软件测试、软件工程渐受重视,真是可喜可贺。毕竟这些是蹲马步功夫,做得好不好只有自己知道,建得再烂,只要网页漂亮一点,大家就对我的专业赞赏有加,在数据还没累积,使用人数还不多,需求还没变更,口碑还没下坠时,赶快交接出去。系统会不会因为数据结构不佳而导致重写,或一段时间后错误百出,当机时间比正常时间还长,数据错误的比正确的还多,关我屁事。

讨论基础技术的人数增加,希望代表的是上述现象的消退

王国维在人间词话中描述成大事业,作大学问者必经过以下三个境界:

昨夜西风凋碧树,独上高楼,望尽天涯路。

衣带渐宽终不悔,为伊消得人憔悴。

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

我看,信息从业人员不必期待作大学问,光是要「快乐」地安身立命,就要经过这三个境界了。你说是吗?

分享到:
评论

相关推荐

    人教版初中信息技术教案全集

    "人教版初中信息技术教案全集" 本教案旨在帮助学生了解信息技术的基础知识,包括什么是信息...信息技术已经成为现代人必备的基本技能之一,我们要学会获取信息、存储信息、处理信息和传递信息,以适应今天这样的生活。

    从人找信息转变为信息找人1

    在信息化社会中,从“人找信息”到“信息找人”的转变是技术发展的重要里程碑,这一变化主要由互联网和大数据的崛起所驱动。在这个过程中,信息传递的方式经历了从传统的广播模式,如收音机和电视,到现在的个性化...

    借款人基本信息模板.zip

    在这个模板中,我们可以预期找到一系列与借款人相关的字段,包括但不限于以下几点: 1. **个人信息**:借款人的全名、身份证号、联系方式(电话和电子邮件)、常住地址等。这些信息用于确认借款人的身份并确保他们...

    Android 简单的获取联系人的信息

    接下来,我们要创建一个Activity或者Fragment,用于展示和获取联系人信息。在这个场景中,用户进入通讯录并选择一个联系人后立即返回,我们的应用需要能够捕获这一操作并获取选定联系人的姓名和电话号码。 在用户...

    php爬虫抓取公司基本信息和联系人信息

    在IT行业中,网络爬虫是一种常见的数据采集...总之,通过PHP结合Xpath,我们可以构建高效且灵活的网络爬虫,用于抓取公司工商信息和联系人数据。在实践中,不断学习和优化爬虫策略,可以提升数据抓取的准确性和效率。

    人的信息处理系统的知识结构图.pdf

    《人的信息处理系统的知识结构图》是对人类接收、加工、存储和输出信息的全面解析,这一理论模型在心理学、认知科学以及人机交互等领域有着广泛的应用。以下将详细阐述该系统的各个组成部分及其相互作用。 首先,...

    残疾人信息无障碍技术.doc

    信息无障碍技术是为了确保所有人在获取和使用信息时不会因身体障碍而受到限制,它涉及到一系列技术和方法,使得残疾人能够平等地...随着技术的不断进步和政策的推动,我们可以期待一个更加包容和无障碍的信息化社会。

    获取联系人信息进行查看

    在Android系统中,获取联系人信息是常见的应用场景,比如在社交应用、...通过这些步骤,我们可以高效地根据电话号码获取到联系人的头像、姓名和其他相关信息。在实践中,不断优化这些操作以提高用户体验是非常重要的。

    投资人信息.投资人信息

    投资人信息"这个标题暗示我们处理的是一个关于投资人的数据集或者数据库,可能包含了各种关键的投资人详情。描述虽然简短,但明确了主题的核心——投资人信息。 首先,我们要理解投资人信息的构成。这些信息通常...

    C++课程设计 简易的联系人信息管理系统

    在本项目中,我们可能会用到结构体或者类来定义联系人的信息结构,包括姓名、电话、地址等字段。同时,C++提供了丰富的文件操作接口,使得我们可以将这些信息保存到.dat文件中。 VC++6.0是Microsoft公司开发的一款...

    添加查询联系人信息

    "添加查询联系人信息"这一主题涉及到了如何在Android或iOS等操作系统上实现对手机联系人的增删改查操作。以下将详细介绍这一过程,以及可能涉及到的技术点。 首先,我们要理解联系人数据是如何存储的。在Android...

    高效e人 (个人信息管理) V3.50.0.332 简体中文特别版

    高效e人,这款专为个人用户设计的信息管理软件,以其强大的功能和便捷的操作,为我们的日常生活和工作提供了极大的便利。V3.50.0.332简体中文特别版更是集诸多优势于一身,为用户打造了一个全方位的个人事务助手。 ...

    Android 读取联系人信息

    通过查询不同的Uri,我们可以获取到联系人的各种详细信息,包括`firstname`和`middlename`。在实际开发中,要考虑到权限管理和不同Android版本的兼容性问题,确保应用能够正确且安全地访问用户的数据。

    android获取手机中的联系人信息

    首先,要获取联系人信息,我们需要在AndroidManifest.xml文件中添加读取联系人权限: ```xml ``` 没有这个权限,应用将无法访问用户的联系人数据。 接下来,我们使用ContentResolver来查询联系人数据。...

    浅谈电子信息技术在人社领域中的应用.pdf

    《电子信息技术在人社领域的应用与探索》 电子信息技术在当今社会发展中扮演着至关重要的角色,尤其在人力资源和社会保障...未来,我们需要继续探索信息技术在这一领域的更多可能性,以实现更为全面、多元化的发展。

    火山一键获取所有联系人信息类.rar

    首先,我们来了解一下在Android系统中如何获取联系人信息。Android提供了ContentResolver和ContactsContract类,这两个类是获取和操作联系人数据的核心。ContentResolver是一个接口,它允许应用程序与系统内容提供者...

    Android软件开发之获取通讯录联系人信息

    在Android软件开发中,获取通讯录联系人信息是一项常见的功能,它涉及到用户隐私的处理以及Android系统的权限管理。本文将详细讲解如何在Android应用中获取和操作用户的通讯录联系人信息。 首先,我们需要理解...

    地球人都市信息港

    《地球人都市信息港》是一个基于ACCESS数据库的项目,它主要涵盖了城市信息管理、查询和服务等方面的功能。在本文中,我们将深入探讨ACCESS数据库系统以及它在构建城市信息平台中的应用。 首先,ACCESS数据库是由...

    添加手机联系人信息到特别关心列表或者常用联系人

    本文将深入探讨如何实现这一功能,包括获取手机联系人信息以及如何将这些信息整合到自定义的特别关心或常用联系人列表。 首先,我们需要获取手机中的联系人数据。Android提供了ContentResolver和ContactsContract类...

Global site tag (gtag.js) - Google Analytics