警惕技术人员的极端性

警惕技术人员的 极端

以前一直在研究技术,没日没夜的学习,后来发现:把技术玩的转,那不算什么大的本事,把人玩的转,才是本事。看到多,接触的多,思考的多了,感触也自然多了。
很多的技术朋友,在没有搞技术之前,思维是很正常的,一旦踏入技术圈子之后,就好像失去了自我。这里说这些,没有啥意思,只是希望审视自己,看有没有这样的情况,因为自己也是花了很长的时间才慢慢的明白这个道理。

每次只要一谈技术,一谈什么问题,一提到什么解决方案,很多人喜欢反问一句“有没有最好的方法”,“有没有最快的方案”,“有没有最….”。似乎很多的人都喜欢“最”这个字眼,或许至于人类本身追求完美的天性有关,或者是被教育制度的戕害(因为凡事都有标答,或者所谓的最佳答案),或者已经习惯了说出“最”字。
很多的事情,往往没有所谓的“最”的。此时的最好,可能随着时间的变化,或者环境的改变就慢慢的开始退化,成为“次好”,“一般”,甚至“差”。

11270_200706140145041.jpg(34.12 K)
9/13/2012 7:38:44 PM


发现这样一个问题:每次想问一些包含“最”问题的时候,说明我们考虑事情就不够充分,比较的片面。是的,从单方面,单个因素来看,某个东西确实是最好的,但是把其他的因素一考虑进来,事件就开始变得复杂,很多的人就开始变得躁狂,因为他们心中的“最”已经没有了。其实这才是事情的真相:每个事情,都是有多个因素同时在影响,只是我们要现决定先考虑那个,或者如何权衡她们。

记得之前在一个项目中,时间比较早了,那时候,Linq语言和Linq2SQL刚刚出来。公司的技术爱好者一看:不得了了,有神器出来了,再也不用写一大堆的ADO.NET代码。现在只要一拖,全部搞定。完美了。
确实,漂亮的可视化界面,简单的拖拽,链式的代码编写方式,确实把技术人员解救出来了,一时间,全国上面Linq一片。但是,不久问题就出来了。后来发现Linq2SQL在更新数据的时候,有点小bug,因为总是报出“对象已经存在了”这样的错误,一时间,N多人傻了眼,于是千辛万苦在官方网站找到了解决的方法。

后来更多的人傻眼了:平时总是用所谓的三层结构开发的项目,现在有了Linq2SQL,他们不知道如何三层了:以前业务层,数据访问层,等等,搞的很清楚,现在倒好,Linq2SQL一拖,很多的实体类就生成好了,以前总是用ADO.NET一个个 数据库字段赋值到业务类的字段中,现在这过程省了,很多人就直接用Linq2SQL生成的类作为业务类,很多人开始有点难受了:貌似只有两层了。


更糟的还在后面:每次只要数据库中的表和字段一改动,那么就要再去把表拖一次,而且一改动,其他的人必须要重新获取代码管理器中的代码,如果一个人出问题,其他的人都停在那里等着了。很多意想不到的问题一个个的出来把大家折腾的晕头转向,开发效率非常的低。其实这就是技术人员常常犯的一个问题:思考问题的片面性。

确实,好的东西出来,我们第一眼看到的就是它的好处,但是任何事物都是一个平衡体,带来同等的好处,那么必然隐藏同等坏处。就好像买车,可能我们已经厌烦了每天上班挤公交,平时认为花费太多的时间在路上,于是希望有辆车就好了,于是就开始想到各种各样买车的好处。但是把车买了之后,发现,油价是个问题,过路费是个问题,车位和停车费是个问题,车子的保养是个问题,还有这这那那名目众多的费用等。 这个道理,在日常生活中,大家都懂,但是一到技术上面,就完全变了样,各种极端,偏执狂就出来。
201208240929248685.jpg(25.16 K)
9/13/2012 7:38:44 PM

很多人喜欢在项目中尝试新的技术,我这里也不反对,但是,在使用的同时,有没有考虑它的其他方面,如万一出错,是否有齐全的文档或者即使的官方说明。新东西的研究和学习的时间成本如何,在开发过程中对项目带来的好处是什么,带来的好处是否可以平衡它带来的不足;不同的人对这些东西的掌握是不是都在预期之中,还是说,只有少部分人掌握,其余的跟着混;这个东西在整个团队层面上面的影响如何…..

大家可能要说:你谈的这些有点偏管理了。


那么,这里就要问了:为什么硬是把技术和管理划分的那么明显,非得搞出一个三八线处理?!

平时我们在无形中也是在进行个人的管理,个人的规划。管理,是让事情尽可能的朝着目标方面走而已,把一些事情规划的清楚有条理。好好管理自己
,也是让自己朝着所谓的理想靠近,不至于让自己糊里糊涂的生活。

所以,不要认为搞技术的就不要懂管理,不要谈到“管理”就色变。其实不谈所谓的管理不管理,其实就是要大家看问题全面,思考问题要周全一些。我们平时再买个东西的时候
都要货比三家,左思右想,先观望,然后下手,为什么一到技术上面,就不比较呢?!


很多的朋友们总是问,如何成为架构师,如何成为牛人。方法千千万,但是有一点可以确认的就是:思维肯定是要开阔的。特别在做设计或者架构的时候,考虑的问题不仅仅只是技术层面,项目的利益人,投资人,时间,钱,沟通成本,软硬件条件,甚至公司的发展和业务走向都是需要考虑的。所以,可能我们平时说“我会做架构”,其实很多的时候,仅仅只是拘泥于技术上面而已,甚至说只是拘泥于片面的技术,如:有朋友以为懂得一些模式,懂得分层,就是会做架构了。其实这里架构很远很远。以前我也不懂,后来发现:学的越多,发现自己懂的越少。

所以,用平常的观点去分析和看待技术,切忌极端。一旦物极必反,自己就陷入泥沼。例如,常常看到社区中有很多的激烈的骂战,如java好,还是.NET好;再如,是sql server好,还是oracle好。这些讨论,其实意义不大,除了把自己搞的郁闷,搞的不爽之外,还有啥。

20090327203708103.gif(15.24 K)
9/13/2012 7:38:44 PM

就算骂赢了,又怎么样?!人家还是在用java,还有有人用.NET。

其实,说一个东西不好,可以给出千千万万的理由,同样,说一个东西好,也可以给出千千万万的理由。
[wallcoo_com]_TREES_0EA49086.jpg(189.52 K)
9/13/2012 7:38:44 PM


一棵树的成长必定是吸收各种光谱,才能健康成长,同理,一个人只有全面的思考问题,才能把问题看得透彻!
 

本文出自 “燕洋天” 博客,谢绝转载!

分享至
一键收藏,随时查看,分享好友!
tendinggrass、kemc、stevenq
20人
了这篇文章
类别: 程序人生┆阅读( 0)┆评论( 0) ┆ 返回博主首页┆ 返回博客首页
上一篇 如何快速的提高自己:一切取决于你自己 下一篇 谈谈SQL Server高可用的常见问题

相关文章

  • 如何快速的提高自己:一切取决于你自己
  • IT草根的江湖之路之七: 挑战,刚刚开始
  • 访谈实录:网管员如何踏上高薪之路(1)
  • 大学生必犯的N大错误(2)
  • 查询优化器内核剖析第三篇:查询的执行与计..

职位推荐

  • C#高级工程师
  • 测试经理
  • 产品经理
  • 高级Web前端开发工程师
  • 软件测试工程师

文章评论

 <<    1   2   >>   页数 ( 1/2 )  
[1楼]        莉子  回复
2012-11-13 13:07:16
把技术玩的转,那不算什么大的本事,把人玩的转,才是本事。
玩转人才是真本事~太对了

[2楼]        九叔  回复
2012-11-13 13:41:26
很中肯的分析,过来学习了

[3楼]        cisco_huawei  回复
2012-11-13 17:35:14
真心不错

[4楼]        李云  回复
2012-11-13 19:03:30
好文章。其实技术与管理真的是相通的。

[5楼]        shyy8712872  回复
2012-11-14 00:22:40
首先把个人管理好了,那么才可以管理别人,没有自律,哪来自信?

[6楼]        xyrhdd  回复
2012-11-14 10:13:58
一棵树的成长必定是吸收各种光谱,才能健康成长,同理,一个人只有全面的思考问题,才能把问题看得透彻!

这句话有深度,有道理!博主的文章,就像一盏指明灯,照亮了我前进的方向。

[7楼]        jameshappyvip  回复
2012-11-16 09:16:39
选择多了,倒做不成什么事了

[8楼]        wxksos  回复
2012-11-16 11:02:44
in China

[9楼]        suqingyun123  回复
2012-11-16 13:54:06
博主大才!

[10楼]        genuinecx  回复
2012-11-16 16:58:54
玩技术是年轻人的事儿,玩人是管理层的事儿。

[11楼]        NashMaster2011  回复
2012-12-04 22:15:49
写得好。我接着你的文章写了一篇分析技术人员为何极端的文章,http://legend2011.blog.51cto.com/3018495/1078700,请多指教。

[12楼]       [匿名]无语  回复
2012-12-07 10:52:19
楼主这样分析才叫极端。。。学的越多,发现自己懂的越少,技术不是人那么容易玩的。没有极端,哪来的突破呢

[13楼]       [匿名]Exception  回复
2012-12-07 13:54:36
这种分析是极端

[14楼]        minidick  回复
2012-12-09 14:33:42
我觉得极端性是有益的。没有极端的技术,就没有技术壁垒。建立技术壁垒的过程可能会曲折,就像博主所说的出现Linq语言和Linq2SQL语言,出现后有非常优秀的地方,可以提高开发速度。缺点是遇到一些bug的地方会耽误时间,甚至无法解决。我们应当更关注在新的开发工具或技术出现后,如何快速又平稳地提升。不能因为曲折,而否认提升技术水平的正确性。

[15楼]        c1bac8  回复
2013-04-06 22:35:44
同感!

 <<    1   2   >>   页数 ( 1/2 )  

发表评论            

昵  称:
登录  快速注册
验证码:

点击图片可刷新验证码请点击后输入验证码博客过2级,无需填写验证码

内  容:

同时赞一个

你可能感兴趣的:(职业规划,技术人生,AgileSharp,极端)