处理软件开发的变化率

时间:2020-03-06 14:27:31  来源:igfitidea点击:

我主要是.NET开发人员,仅在这一领域,在任何特定时间,我都希望研究接近十二种引人入胜的新兴技术,其中一些是真正的游戏规则改变者。

可悲的是,这似乎超出了人的能力极限。

我读了Rocky Lhotka(.NET传奇,CSLA的发明者,等等)的一篇文章,他在文章中提到,去年,他对变化的速度感到非常不知所措。他发出的声音听起来好像再也无法停留在前沿,也许他不会因为这种徒劳无功而努力。

令我感到惊讶的是,像洛特卡(Lhotka)这样的真正天才(他们可能会花大量的时间来使用最新技术,并且应该能够很快掌握这些东西)也感到了燃烧!

那么,你们如何处理呢?我们是否将发展归结为事实,因此能够快速找到事物比学习一切更重要?还是我们有继续教育策略,实际上可以让我们紧贴前沿?

解决方案

我说的只是选择让我们着迷的开发环境中的一个方面,并深入研究它。例如,如果我们喜欢使用分布式系统,请开始阅读WCF并成为它的专家。

除了对技术的随意理解之外,我认为不可能对所有事物都熟悉。更好的是专业化,而不是成为所有行业的杰作,而是精通一切。

参加会议和本地用户小组会议,上推特,然后开始关注一群人。加入或者启动我们所在地区的邮件列表(Google组是我最喜欢的提供商,Yahoo组也不错)来讨论问题。

建议在我们当地的DNUG上进行演讲,以使某人快速了解所有这些新技术,或者进行公开的讨论/闪电演讲,让人们站起来讨论5到10分钟他们最喜欢的新技术。

简而言之:走到那里,与人们交谈并分享。这是我们掌握一切的唯一方法。除非我们不睡觉也不工作,否则我们无法独自做到这一点。

由于我永远找不到时间去闲逛或者使用新技术,因此通常我会根据少量信息选择一个,可能是一篇文章,可能是朋友的推荐,然后我强迫自己在项目中使用新技术我正在努力。那就是我如何学习SCSF和CAB的当前流程。这可能会很痛苦,甚至在一开始就很慢,因为我们必须沿着曲线前进,最后它通常会对我们有利(如果我们选择的技术能带来好处)。这就是我学习LINQ,泛型以及几乎所有其他内容的方式。选择一种旨在解决我们所遇到的问题的技术,胜过我们所知道的方法,然后强迫我们自己采用这种技术。

很难不愿意去学习所有的东西,但是我尽量不要跳入任何"太新的东西",我似乎最终会感到沮丧,并且没有足够的资源来提供帮助。尽管确实有人必须首先采取潜水行动,而我尊重这些人(我想这就是Beta测试人员的生活),但我只是认为责任不在于每个人。但是,如果我们有时间和耐心,那么潜入新事物可能会很有趣。我想这不是我们问题的直接答案,但我希望它能给我们一些思考的地方。

我发现自己担心会时不时错过某些东西,但是当我真正坐下来学习一些热门新技术时,我发现这主要是我已经看到的基本技术的新组合。

我的方法是确保我对算法,数据结构,通信协议,一些硬件知识和一般工程技能有很好的掌握。

我从事IT工作已有30年了,所以也许我可以提供一些看法。是的,需要跟上越来越多的材料。但是变化率(如"进行中")并没有增加,反而正在减少。我们看到的是该领域的扩大。

举一个简单的例子:从前有HTML / 1. 然后是HTML / 2,这是进步。现在我们有了HTML / 4,HTML / 5,XHTML / 1,Flash,Silverlight等。这些中的任何一个都是进步,但是每个都是朝着不同的方向发展,并且都在积极使用中。

留在这上面?算了吧,这是不可能的。另一方面,优秀的IT人员最多可以在几周内选择一种新语言或者新技术。尝试挑选出真正的新想法并对其进行了解。除非需要,否则请忽略所有特定技术(IIS 7,SQL Server 2008等)。

继续以Internet为例,最后一个真正的创新是Web 2.0背后的思想。我趁此机会学习Ruby,同时在Ruby on Rails中做了一些小型的一次性项目。如果该领域的项目得以实施,那么在任何环境下的想法都将是相同的。

有时候确实会感到沮丧。在所有营销炒作中挑出真正的新想法并不总是那么容易。

一切顺利...

布拉德