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

架构师什么样的技能最重要?

软件架构师的定义乃至所需要的特质历来众说纷纭。下面从一些另类的角度来做点分析。从产生根源来看,程序规模越大,参与人员越多,越需要架构师;程序越小,参与人员越精英化,架构师存在价值越小。这不难理解,大军团作战,总不好一窝蜂就上去了,总要有些规则,总要有人把握全局。

软件架构师的定义乃至所需要的特质历来众说纷纭。下面从一些另类的角度来做点分析。

从产生根源来看,程序规模越大,参与人员越多,越需要架构师;程序越小,参与人员越精英化,架构师存在价值越小。

这不难理解,大军团作战,总不好一窝蜂就上去了,总要有些规则,总要有人把握全局。架构师就是在比较高的层面上把握全局的这个人。从这个角度来看,对架构师而言选择最重要,因为站的高,所以选择具有非常大的价值。

注意不是UML,也不是对业务的理解,不是编码能力而是做出正确选择的能力。当下的开发环境下,考虑解决方案时,所面临的选择不是太少,而是太多。

举个最简单的例子,我们要开发一个基于Web的项目管理程序,那么你面临的选择是:

  • 自己从头造,还是用现成的做二次开发?
  • 用现成的,是用开源产品还是微软的?
  • 用微软的话,是用MS?Project还是基于SharePoint?
  • 用开源产品,有这么多选项究竟导入那一个?
  • 如果自己从头造,那么是基于微软的技术,还是基于Linux?
  • 使用什么框架么?
  • 如果要做,用什么语言?

每一个这类选择的背后都是赤裸裸的利益——在商业环境下永远不要忘了这个。做选择其实可以很容易,所以是个人就可以干这活,并不具备很高的门槛。关键差异是有无根据和正确程度。

如果说程序员的生产效能可以差10倍的话,架构师的价值可以差无数倍。想选择正确,最关键的前提是理解待选择的选项和外部的切实要求。

前一点很难,这往往要求一个人涉猎广泛,在很多的领域中具有经验。不只要知道LAMP,还要知道asp,不只要知道软件还是知道些硬件,不只要了解Java,可能还要了解C#。理解程度倒未必一定要很精通,关键是要抓住差异以及其适用场景。

但这恰恰与这个时代的特征相反,在这个时代里,技术日趋繁杂,专家越来越多,通才越来越少,诸神陨落啊。

走极端的人可能会说,那么多人,没懂什么,去做网站也成功了。这也可能,运气很好的话,什么也不懂,一样可以做很对的选择。但能力这种事,本来最主要的就是尽可能去除运气成分。

从编码的角度看,架构师不懂编码是不行,但却不需要是最精通编码的人。一者谋的一隅,一者谋的是全局,因此也就导致对技能的要求不同。

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


推荐阅读
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了程序员最美的情人节礼物,即使用JS渲染的3D玫瑰,通过在QQ空间和人人网上分享这个特殊的礼物,可以给情人带来惊喜和喜悦。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
author-avatar
土豆小妈姐_645
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有