• note技术之路


    .NET 新手小组 / [推荐]谈技术人员研究方向


    浏览:162 2009-09-10 22:48 来自 【组长】坤坤 :

    【原文链接】:http://tech.techweb.com.cn/thread-422715-1-1.html

    为了更清楚的看清自己,拿一个成熟工业领域用设计汽车的例子来类比软件设计与开发。

    技术人员的学习与实践有三个层次

    第一层次 了解专业知识与原理

    作为一名汽车设计师,在正式上岗之前,首先要了解汽车的各种原理。如引擎、燃料、悬挂,制动、碟鼓,ABS,风阻,油耗,安全防撞等知识,设计汽车目标并不仅是制造一个漂亮的外壳或者让轮子转起来。相反它一个有机的整体,一个系统的工程,你必须有综合的了解才能进行下一步。

    软件技术也是如此,在入行之前,我们要了解计算机基础知识、操作系统、内存、网络、协议、TCP/IP、数据库/SQL、存储、数据结构、 Web,HTML等专业知识。对于每一种知识你要知其然并知其所以然。比如HTML你不能只象一般的IT人员那样简单的知道它是一种描述网页的语言,而是要知其所覆盖范围,其所长和不所长,为什么有了HTML还要用JavaScript/Flash。

    这个层次主要主要目标是知其所用。大部分技术人员应该不局限于长久停留在这一阶段。

    第二层次 掌握工具、搭造环境

    在汽车设计领域就是你的汽车模型建造工具,验证环境,测试工具,分析工具。你要能清晰的知道它们的特性,了解它们的限制及如何去规避。在软件领域,工具主要是指计算机语言,它是你制造原型及最终产品的工具。不同的场景适合不同的工具,合适的工具能帮助你如虎添翼,但语言也并不是多多益善,通常精通 2-3种足矣。了解多种不如精通一种。除了工具还要建立自己得心应手的环境,就像比亚迪要建造自己的的汽车试验场一样,有了合适的环境,才能让你能高效的设计,开发,测试及验证。Jon Bentley,世界著名计算机科学家,被誉为影响算法发展的十位大师之一,他在《编程珠玑》中提到贝尔实验室的环境对他成就的巨大帮助

    I came to the Labs because I enjoy balancing the theoretical and the applied, because I want to build products and write books. The pendulum has swung back and forth during my years at the Labs, but my management has always encouraged a wide range of activities.

    能熟练使用工具只是对开发人员最低的要求,代表你有能力开发软件产品。但是你是满足一辈子都是重复造一种QQ车还是有更高的追求。比如在国内,某些行业几乎和10年前没什么区别,比如在企业管理应用领域,10年前用VB/Delphi做企业应用,大家都在谈人脉和关系在项目中的关键作用。10年后不用Delphi了,改用Java/SSH,其它一切如旧。这样的领域,开发人员和打一辈子铁的铁匠没什么区别,大家都是把活干得更熟了,除此之外,所获寥寥。

    第三层次 学会设计

    这时应跳出语言之争与语言迷恋,语言的细节了解得再多,也只是一名工匠,大部分优秀的应用只用到语言及框架不到1/3的特性。你应该寻找有价值的领域深入研究, 就如乔布斯所说

    你的工作将填满你的一大块人生,唯一获得真正满足的方法就是做你相信是伟大的工作,而唯一做伟大工作的方法是爱你所做的事。如果你还没找到这些事,继续找,别停顿。尽你全心全力,你知道你一定会找到。而且,如同任何伟大的关系,事情只会随着时间愈来愈好。

    所以,在你找到之前,继续找,别停顿。

    首先应达到在单个专业领域能够游刃有余,比如如何设计一个简单的网站爬虫。注意有兴趣的设计与干活完成任务的重大区别,你设计的每个产品,它不单是个工作任务,而应该把它看作一个艺术品,这样才能保证你能不断的进步。注意不单要完成功能,否则永远无法达到更高境界。

    下一步设计相对更全面领域的产品,比如考虑一个游戏服务器的方方面面或可以设计一个类twitter系统。慢慢的,你才会有自己积累的东西。

    最后, 什么是开发人员有意义的方向?

    从汽车行业来看,主要任务是学习国外先进公司的经验,在关键领域缩小与其差距,软件开发领域看来也是如此。有些领域虽然高深和有趣,但如果行业暂时需求不大,专注这方面研究难免敝帚自珍。研究业界有需求的领域并寻找有应用需求的场合方可达到开放人员价值的最大化。比如在热门的云存储云计算,虚拟化到不太热门的数据挖掘等都存在一定的空白去填补。最好是在有需求有环境的公司内开展。国内科研机构做表面文章的太多,因此感觉不是合适的场地。

    只有找到你感兴趣的方向,才会达到王国维说的第二境界,“衣带渐宽终不悔,为伊消得人憔悴”。至于更高境界,自然是水到渠成。

    在这个社会里,你只有做出令人尊敬的产品,才能赢得认可。就像Mini设计在汽车行业流芳百世的榜样,在技术行业里,学识,名望,人脉,金钱带来的价值都是可估量的,不可估量的是对行业留下的创新设计,让你无愧于工程师这个称号。

  • 相关阅读:
    nginx相关参考博客
    MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本)
    MySQL Workbench基本操作
    idea导入(import)项目和打开(open)项目的区别
    [铁道部信息化管理]需求分析(一)—— 售票系统领域知识(区间票、订票、预留票)
    [铁道部信息化管理]核心业务需求及逻辑架构分析
    【spring boot 系列】spring data jpa 全面解析(实践 + 源码分析)
    OOAD-设计模式(一)概述
    TKmybatis的框架介绍和原理分析及Mybatis新特性
    国内程序员的十大疑问之一:为什么老外不愿意用MyBatis?
  • 原文地址:https://www.cnblogs.com/qinghao/p/1570764.html
Copyright © 2020-2023  润新知