写点什么

丰富的设计技能胜过特定于平台的知识

  • 2008-01-27
  • 本文字数:943 字

    阅读完需:约 3 分钟

组织团队通常都是一项需要慎之又慎的任务,因为想要找到一位满足所有理想候选人条件的成员,几乎是不可能的。因此不可避免要进行各种取舍和权衡。在这样一个事实面前,一定要确定出哪些条件更加重要。而 Martin Fowler 真正看重的,是丰富的技能,而且这种技能并不仅仅局限于软件设计的范畴。

他在最近的一篇文章中表达了这个观点。假如有两个人,第一个人非常了解所使用的平台,但对于设计的知识知之甚少;另一个人拥有非常丰富的设计技能, 但是对于即将用于项目中的特定技术却了解非常有限。如果必须在这两人中做出选择,他会选择后者。Martin 解释说,尽管设计技能的确不能完全从一种技术 移植到另一种技术上,更不能盲目地复制,但是其中很大的一部分都可以照搬过来,不仅有那些类似的技术之间的转移,还包括从 Curly-brace 语言到 Ruby。按照 Fowler 的观点,拥有丰富设计技能的人,可以快速地在一个不同的平台上交付价值,并且可以“比那些缺少设计技能的平台专家们更具有生产 力”:

一个非常熟悉某一特定平台的专家如果想写出可维护的代码,他还必须学习更多的设计技能。有一点很重要应该记住,学习如何设 计并不一定比了解一种平台更困难,而且它是更通用的知识。对于一位主动且经验丰富的设计者而言,我非常确信他可以很快地掌握某个平台的特定知识。但是反过 来就不一定了。有些人非常热衷于学习一个平台的细节,却从来不反思如何写出清晰的代码来。

同样的道理也适用于非技术领域。有些人并不了解特定的业务领域,但他们可以参考其他的领域,然后通过与领域专家合作、与客户交流,进而快速地获得必要的知识。

因此,按照 Martin Fowler 的观点,要想为软件带来更好的质量并向客户交付价值,团队成员应该拥有丰富的技能,这是最基本的保证。尽管在最初会缺少特定领域和特定技术和经验也没有关系。

尽管如此,除了拥有丰富的技能外,要想让程序员能够足够快速有效地获取必要的经验,还需要满足很多其他的条件。首先,团队中有必要安排一位领域和 / 或平台专家,他可以与团队分享他的经验。另外很明显地,开发者的主动性、他快速学习的能力以及与其他团队成员合作的态度,这些也都是非常关键的技能。

哪些是你所关注的?哪些会影响到你雇佣员工时的选择?

查看英文原文: Prefer Broad Design Skills over Platform Knowledge

2008-01-27 20:39814
用户头像

发布了 53 篇内容, 共 13.7 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

漫画:什么是 “智能供应链” ?

京东科技开发者

云计算 供应链 智能供应链

360OS张焰:AI视觉在教育中的应用

ZEGO即构

解锁高速 IT 团队利器:Jira Service Management

Atlassian

DevOps Atlassian Jira ITSM ITIL

为什么short、byte会被提升为int?及基本类型的真实大小

烫烫烫个喵啊

Java JVM

了不起的 Deno:带你极速获取各大平台今日热榜

华为云开发者联盟

Java 安全 deno

Forsage智能合约系统APP开发|Forsage智能合约软件开发(现成)

系统开发 现成系统

数据结构与算法系列之跳表(GO)

书旅

数据结构 算法 Go 语言

整天都在讨论使用SpringBoot,可你居然连缓存都不清楚

小Q

Java 缓存 学习 面试 springboot

开发技巧 | mPaaS 小程序自定义事件,如何取消注册?

蚂蚁集团移动开发平台 mPaaS

小程序 API mPaaS

接口测试之post常见数据提交方式

测试人生路

post 接口测试

「linux」Socket缓存是如何影响TCP性能的?

linux大本营

Linux 后台开发 socket 架构师 TCP/IP

高并发的核心 - AQS【哪些琐是基于AQS来实现的】

Java架构师迁哥

华为云&跟谁学|华为云API入门学习赛·AI人脸识别 未来工程师梦想的起点

DT极客

Linux常用命令速查

jiangling500

linux命令

深度剖析github star数15.1k的开源项目redux-thunk

徐小夕

Java GitHub 大前端 React

高速公路二维码定位报警系统搭建解决方案

t13823115967

高速公路二维码定位报警 智慧公安

淦!终于有人把Java 8和Spring 5完美合体了,业界堪称“神迹”

Java架构追梦

Java spring 架构 面试 springboot

记一次GC频繁且间隔较长解决实战总结

AI乔治

Java 架构 JVM GC

🤳你要悄悄变优秀,然后惊艳所有人

蚂蚁集团移动开发平台 mPaaS

mPaaS 智能投放 界面改版 产品资讯

小心踩雷,一次Java内存泄漏排查实战

AI乔治

Java 架构 JVM 内存

从零开始搭建Kafka+SpringBoot分布式消息系统

小Q

kafka zookeeper 学习 面试 springboot

LiteOS基于Sensorhub的超声波模组移植

华为云开发者联盟

物联网 LiteOS 超声波

深入解读:KubeVela 与 PaaS 有何不同?

阿里巴巴云原生

阿里云 开源 容器 云原生 CloudNative

有奖讨论|作为程序员,女朋友是怎么吐槽你的?

Simon郎

女朋友 话题讨论

语音识别端到端模型解读:FSMN及其变体模型

华为云开发者联盟

大数据 模型 语音识别

Gradle doesn't run because it can't find tools.jar in JRE

mengxn

kotlin Gradle

AWS IoT Core设计解析

soolaugust

边缘计算 AWS 工业4.0 工业物联网 iiot

区块链落地开发,区块链版权应用搭建

t13823115967

区块链+ 区块链落地开发 区块链版权应用搭建

双非本硕四面百度竟意外成功?看完我的面试经历 网友都称:过于优秀

比伯

Java 编程 架构 面试 计算机

年轻人,快来看看分布式与集群的区别是什么?

程序员小灰

redis 分布式 后台开发 集群 Linux服务器开发

专访阿里云 Serverless 负责人:无服务器不会让后端失业

阿里巴巴云原生

Serverless 微服务 云原生 CloudNative 无服务器

丰富的设计技能胜过特定于平台的知识_研发效能_Sadek Drobi_InfoQ精选文章